diff --git a/config/adc_common/adc_local_ekf_odom_imu.yaml b/config/adc_common/adc_local_ekf_odom_imu.yaml index 2f956115cc13a62e6599875fc12cc967a7a30c25..168f125db32041b171e17e745bb9082b1b9dbacb 100644 --- a/config/adc_common/adc_local_ekf_odom_imu.yaml +++ b/config/adc_common/adc_local_ekf_odom_imu.yaml @@ -21,17 +21,6 @@ odom0_config: [false, false, false, false, false, true, false, false, false] -#imu0: /adc_car/sensors/imu_data -#imu0_config: [false, false, false, -# false, false, true, -# false, false, false, -# false, false, false, -# false, false, false] - -#imu0_differential: false -#imu0_relative: true -#imu0_remove_gravitational_acceleration: true - imu0: /adc_car/sensors/imu imu0_config: [false, false, false, false, false, false, diff --git a/config/adc_sim/delock_camera_sim_config.yaml b/config/adc_sim/delock_camera_sim_config.yaml index 6d7d5fe43f85a15075a9caa6a37f46640f6aeef6..4f42b89c58f551b5c29e81e08e4e5e71c439e357 100644 --- a/config/adc_sim/delock_camera_sim_config.yaml +++ b/config/adc_sim/delock_camera_sim_config.yaml @@ -1,6 +1,6 @@ horizontal_fov: 1.4 -width: 1024 -height: 768 +width: 1280 +height: 960 format: 'R8G8B8' clip_near: 0.1 clip_far: 100 diff --git a/data/ent2/ent2.xodr b/data/ent2/ent2.xodr new file mode 100644 index 0000000000000000000000000000000000000000..c2707abd4dac19947f6031ecb7a1a87e57fc2b81 --- /dev/null +++ b/data/ent2/ent2.xodr @@ -0,0 +1,1081 @@ +<?xml version="1.0" ?> +<OpenDRIVE> + <header revMajor="1" revMinor="1" name="Testfile" version="1" date="Thu Feb 8 14:24:06 2007" north="0.0000000000000000e+00" south="0.0000000000000000e+00" east="0.0000000000000000e+00" west="0.0000000000000000e+00" /> + <road name="road0" length="2.5000000000000000e+01" id="0" junction="-1"> + <link> + <predecessor elementType="road" elementId="9" contactPoint="end" /> + <successor elementType="junction" elementId="1" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="0.0000000000000000e+00" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="2.5000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="5.0000000000000000e+00" t="-6.6699999999999999e+00" id="1" name="parking_0_1" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.4000000000000004e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="1.3000000000000000e+01" t="-6.6699999999999999e+00" id="2" name="parking_0_2" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.4000000000000004e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="2.1000000000000000e+01" t="-6.6699999999999999e+00" id="3" name="parking_0_3" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.4000000000000004e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + </objects> + <signals> + <signal s="0.0000000000000000e+00" t="-5.0000000000000000e+00" id="1001" name="parking0_1" dynamic="no" orientation="-" zOffset="0.0000000000000000e+00" country="DEU" type="314" subtype="-1" value="0.0000000000000000e+00" /> + </signals> + </road> + <road name="road1" length="2.5000000000000000e+01" id="1" junction="-1"> + <link> + <predecessor elementType="junction" elementId="1" contactPoint="end" /> + <successor elementType="road" elementId="2" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.5000000000000000e+01" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="2.5000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road2" length="1.5707963270000000e+01" id="2" junction="-1"> + <link> + <predecessor elementType="road" elementId="1" contactPoint="end" /> + <successor elementType="road" elementId="3" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="7.0000000000000000e+01" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="7.0000999999999749e+01" y="1.6666666663690484e-08" hdg="5.0000000000000002e-05" length="1.5707963270000000e+01"> + <arc curvature="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.5708963270000000e+01" x="8.0000499987499865e+01" y="1.0000500006217495e+01" hdg="1.5708463270000002e+00" length="-1.0000000000000000e-03"> + <spiral curvStart="1.0000000000000001e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road3" length="6.0000000000000000e+01" id="3" junction="-1"> + <link> + <predecessor elementType="road" elementId="2" contactPoint="end" /> + <successor elementType="road" elementId="4" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="8.0000000000000000e+01" y="1.0000000000000000e+01" hdg="1.5707963270000000e+00" length="6.0000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="3.0000000000000000e+01" t="-1.2000000000000000e+01" id="perimeter1" name="perimeter1" dynamic="no" orientation="none" zOffset="2.5000000000000000e+00" validLength="0.0000000000000000e+00" type="building" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="5.0000000000000000e+00" width="1.0000000000000000e+02" height="5.0000000000000000e+00" /> + <object s="3.5000000000000000e+01" t="6.4800000000000004e+00" id="31" name="parking3_1" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.0000000000000000e+00" height="5.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="left" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="4.3000000000000000e+01" t="6.4800000000000004e+00" id="32" name="parking3_2" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.0000000000000000e+00" height="5.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="left" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="5.1000000000000000e+01" t="6.4800000000000004e+00" id="33" name="parking3_3" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.0000000000000000e+00" height="5.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="left" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + </objects> + <signals> + <signal s="5.0000000000000000e+00" t="-5.0000000000000000e+00" id="1031" name="max50_3_1" dynamic="no" orientation="-" zOffset="0.0000000000000000e+00" country="DEU" type="274" subtype="-1" value="5.0000000000000000e+01" /> + <signal s="5.6000000000000000e+01" t="5.0000000000000000e+00" id="1032" name="parking_3_1" dynamic="no" orientation="+" zOffset="0.0000000000000000e+00" country="DEU" type="314" subtype="-1" value="5.0000000000000000e+01" /> + <signal s="3.0000000000000000e+01" t="5.0000000000000000e+00" id="1033" name="parking_3_2" dynamic="no" orientation="-" zOffset="0.0000000000000000e+00" country="DEU" type="314" subtype="-1" value="5.0000000000000000e+01" /> + </signals> + </road> + <road name="road4" length="1.5707963270000000e+01" id="4" junction="-1"> + <link> + <predecessor elementType="road" elementId="3" contactPoint="end" /> + <successor elementType="road" elementId="5" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="8.0000000000000000e+01" y="7.0000000000000000e+01" hdg="1.5707963270000000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="7.9999999983333140e+01" y="7.0000999999999749e+01" hdg="1.5708463270000002e+00" length="1.5707963270000000e+01"> + <arc curvature="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.5708963270000000e+01" x="6.9999499991731369e+01" y="8.0000499985448712e+01" hdg="3.1416426540000000e+00" length="-1.0000000000000000e-03"> + <spiral curvStart="1.0000000000000001e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road5" length="2.5000000000000000e+01" id="5" junction="-1"> + <link> + <predecessor elementType="road" elementId="4" contactPoint="end" /> + <successor elementType="junction" elementId="2" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="7.0000000000000000e+01" y="8.0000000000000000e+01" hdg="3.1415926540000001e+00" length="2.5000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road6" length="2.5000000000000000e+01" id="6" junction="-1"> + <link> + <predecessor elementType="junction" elementId="2" contactPoint="end" /> + <successor elementType="road" elementId="7" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.5000000000000000e+01" y="8.0000000000000000e+01" hdg="3.1415926540000001e+00" length="2.5000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road7" length="1.5707963270000000e+01" id="7" junction="-1"> + <link> + <predecessor elementType="road" elementId="6" contactPoint="end" /> + <successor elementType="road" elementId="8" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="0.0000000000000000e+00" y="8.0000000000000000e+01" hdg="3.1415926540000001e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="-9.9999999974999297e-04" y="7.9999999983332927e+01" hdg="3.1416426540000000e+00" length="1.5707963270000000e+01"> + <arc curvature="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.5708963270000000e+01" x="-1.0000499983397582e+01" y="6.9999499989680245e+01" hdg="4.7124389810000000e+00" length="-1.0000000000000000e-03"> + <spiral curvStart="1.0000000000000001e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road8" length="6.0000000000000000e+01" id="8" junction="-1"> + <link> + <predecessor elementType="road" elementId="7" contactPoint="end" /> + <successor elementType="road" elementId="9" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="-1.0000000000000000e+01" y="7.0000000000000000e+01" hdg="4.7123889800000001e+00" length="6.0000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="3.0000000000000000e+01" t="-1.2000000000000000e+01" id="perimeter3" name="perimeter3" dynamic="no" orientation="none" zOffset="2.5000000000000000e+00" validLength="0.0000000000000000e+00" type="none" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="5.0000000000000000e+00" width="1.0000000000000000e+02" height="5.0000000000000000e+00" /> + </objects> + <signals> + <signal s="5.0000000000000000e+00" t="-5.0000000000000000e+00" id="1081" name="max50_8_1" dynamic="no" orientation="-" zOffset="0.0000000000000000e+00" country="DEU" type="274" subtype="-1" value="5.0000000000000000e+01" /> + <signal s="5.5000000000000000e+01" t="5.0000000000000000e+00" id="1082" name="max50_7_2" dynamic="no" orientation="+" zOffset="0.0000000000000000e+00" country="DEU" type="274" subtype="-1" value="5.0000000000000000e+01" /> + </signals> + </road> + <road name="road9" length="1.5707963270000000e+01" id="9" junction="-1"> + <link> + <predecessor elementType="road" elementId="8" contactPoint="end" /> + <successor elementType="road" elementId="0" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="-1.0000000000000000e+01" y="1.0000000000000000e+01" hdg="4.7123889800000001e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="-1.0000000272313564e+01" y="9.9990000000371886e+00" hdg="4.7123889800000001e+00" length="1.5707963270000000e+01"> + <arc curvature="1.0000000000000001e-01" /> + </geometry> + <geometry s="1.5707963270000000e+01" x="-3.3536281043515387e-03" y="-3.3892401329413957e-03" hdg="6.2831853070000001e+00" length="-1.0000000000000000e-03"> + <spiral curvStart="1.0000000000000001e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road10" length="6.0000000000000000e+01" id="10" junction="-1"> + <link> + <predecessor elementType="junction" elementId="1" contactPoint="end" /> + <successor elementType="junction" elementId="2" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="3.5000000000000000e+01" y="1.0000000000000000e+01" hdg="1.5707963270000000e+00" length="6.0000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.0000000000000001e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="3.0000000000000000e+01" t="2.2500000000000000e+01" id="1100" name="object0" dynamic="no" orientation="none" zOffset="2.5000000000000000e+00" validLength="0.0000000000000000e+00" type="building" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="2.5000000000000000e+01" width="6.0000000000000000e+01" height="5.0000000000000000e+00" /> + <object s="1.5000000000000000e+01" t="-2.2500000000000000e+01" id="1101" name="object1" dynamic="no" orientation="none" zOffset="2.5000000000000000e+00" validLength="0.0000000000000000e+00" type="building" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="2.5000000000000000e+01" width="3.0000000000000000e+01" height="5.0000000000000000e+00" /> + <object s="3.5500000000000000e+01" t="-8.4700000000000006e+00" id="1102" name="parking10_1" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="1.5709000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.4000000000000004e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="left" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="3.9950000000000003e+01" t="-8.4700000000000006e+00" id="1103" name="parking10_2" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="1.5709000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.4000000000000004e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="4.4399999999999999e+01" t="-8.4700000000000006e+00" id="1104" name="parking10_2" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="1.5709000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.0000000000000000e+00" width="4.4000000000000004e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + </objects> + <signals> + <signal s="3.2000000000000000e+01" t="-5.0000000000000000e+00" id="1101" name="parking_10_1" dynamic="no" orientation="-" zOffset="0.0000000000000000e+00" country="DEU" type="314" subtype="-1" value="0.0000000000000000e+00" /> + <signal s="6.0000000000000000e+01" t="-5.0000000000000000e+00" id="1102" name="giveway_10_1" dynamic="no" orientation="-" zOffset="0.0000000000000000e+00" country="DEU" type="205" subtype="-1" value="0.0000000000000000e+00" /> + <signal s="0.0000000000000000e+00" t="5.0000000000000000e+00" id="1103" name="giveway_10_2" dynamic="no" orientation="+" zOffset="0.0000000000000000e+00" country="DEU" type="205" subtype="-1" value="0.0000000000000000e+00" /> + <signal s="5.0000000000000000e+00" t="-5.0000000000000000e+00" id="1104" name="max50_10_1" dynamic="no" orientation="-" zOffset="0.0000000000000000e+00" country="DEU" type="274" subtype="-1" value="5.0000000000000000e+01" /> + <signal s="5.5000000000000000e+01" t="5.0000000000000000e+00" id="1105" name="max50_10_2" dynamic="no" orientation="+" zOffset="0.0000000000000000e+00" country="DEU" type="274" subtype="-1" value="5.0000000000000000e+01" /> + <signal s="4.8000000000000000e+01" t="-5.0000000000000000e+00" id="1106" name="parking_10_2" dynamic="no" orientation="+" zOffset="0.0000000000000000e+00" country="DEU" type="314" subtype="-1" value="5.0000000000000000e+01" /> + </signals> + </road> + <road name="juntion_0_-1_1_-1" length="2.0000000000000000e+01" id="1000" junction="1"> + <link> + <predecessor elementType="road" elementId="0" contactPoint="end" /> + <successor elementType="road" elementId="1" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.5000000000000000e+01" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="2.0000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="1.0000000000000000e+01" t="-1.2000000000000000e+01" id="perimeter0" name="perimeter0" dynamic="no" orientation="none" zOffset="2.5000000000000000e+00" validLength="0.0000000000000000e+00" type="building" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="5.0000000000000000e+00" width="1.2000000000000000e+02" height="5.0000000000000000e+00" /> + </objects> + <signals> + <signal s="1.0000000000000000e+00" t="-5.0000000000000000e+00" id="1111" name="parking_11_1" dynamic="no" orientation="+" zOffset="0.0000000000000000e+00" country="DEU" type="314" subtype="-1" value="0.0000000000000000e+00" /> + </signals> + </road> + <road name="juntion_1_1_0_1" length="2.0000000000000000e+01" id="1001" junction="1"> + <link> + <predecessor elementType="road" elementId="1" contactPoint="start" /> + <successor elementType="road" elementId="0" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.5000000000000000e+01" y="0.0000000000000000e+00" hdg="3.1415799999999998e+00" length="2.0000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_0_-1_10_-1" length="1.5709921586393582e+01" id="1002" junction="1"> + <link> + <predecessor elementType="road" elementId="0" contactPoint="end" /> + <successor elementType="road" elementId="10" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.5000000000000000e+01" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="2.0510348974767112e-09"> + <line /> + </geometry> + <geometry s="2.0510348974767112e-09" x="2.5000000002051035e+01" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000026537984180e-01" /> + </geometry> + <geometry s="1.0000020510348975e-03" x="2.5001000002050784e+01" y="1.6666710893664086e-08" hdg="5.0000132689920889e-05" length="1.5707921584342548e+01"> + <arc curvature="1.0000026537984180e-01" /> + </geometry> + <geometry s="1.5708921586393583e+01" x="3.5000473451637099e+01" y="1.0000473468303746e+01" hdg="1.5708463271326900e+00" length="1.0000000000000000e-03"> + <spiral curvStart="1.0000026537984180e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_10_1_0_1" length="1.5709975894455384e+01" id="1003" junction="1"> + <link> + <predecessor elementType="road" elementId="10" contactPoint="start" /> + <successor elementType="road" elementId="0" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="3.5000000000000000e+01" y="1.0000000000000000e+01" hdg="4.7123763269999994e+00" length="2.5306974480443500e-04"> + <line /> + </geometry> + <geometry s="2.5306974480443500e-04" x="3.4999999996797811e+01" y="9.9997469302552151e+00" hdg="4.7123763269999994e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="-1.0000153074568541e-01" /> + </geometry> + <geometry s="1.2530697448044350e-03" x="3.4999999967477500e+01" y="9.9987469302557557e+00" hdg="4.7123263262346269e+00" length="1.5707722824710581e+01"> + <arc curvature="-1.0000153074568541e-01" /> + </geometry> + <geometry s="1.5708975894455385e+01" x="2.4999526525369703e+01" y="-4.7344598170084851e-04" hdg="3.1415299992346277e+00" length="1.0000000000000000e-03"> + <spiral curvStart="-1.0000153074568541e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_10_1_1_-1" length="1.5710120346678314e+01" id="1004" junction="1"> + <link> + <predecessor elementType="road" elementId="10" contactPoint="start" /> + <successor elementType="road" elementId="1" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="3.5000000000000000e+01" y="1.0000000000000000e+01" hdg="4.7123763269999994e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="9.9998999976484537e-02" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="3.5000000004013110e+01" y="9.9990000000001178e+00" hdg="4.7124263264999877e+00" length="1.5707993813631946e+01"> + <arc curvature="9.9998999976484537e-02" /> + </geometry> + <geometry s="1.5708993813631945e+01" x="4.5000346926064282e+01" y="-7.2653541527145649e-04" hdg="6.2832099994999879e+00" length="1.0000000000000000e-03"> + <spiral curvStart="9.9998999976484537e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + <geometry s="1.5709993813631945e+01" x="4.5001346926062482e+01" y="-7.2647738995110136e-04" hdg="6.2832599989999762e+00" length="1.2653304636955909e-04"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_1_1_10_-1" length="1.5709921584511781e+01" id="1005" junction="1"> + <link> + <predecessor elementType="road" elementId="1" contactPoint="start" /> + <successor elementType="road" elementId="10" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.5000000000000000e+01" y="0.0000000000000000e+00" hdg="3.1415799999999998e+00" length="1.2653464747280907e-04"> + <line /> + </geometry> + <geometry s="1.2653464747280907e-04" x="4.4999873465352536e+01" y="1.6011175237333795e-09" hdg="3.1415799999999998e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="-1.0000026534682657e-01" /> + </geometry> + <geometry s="1.1265346474728091e-03" x="4.4998873465353078e+01" y="3.0921418200480930e-08" hdg="3.1415299998673265e+00" length="1.5707795049864309e+01"> + <arc curvature="-1.0000026534682657e-01" /> + </geometry> + <geometry s="1.5708921584511781e+01" x="3.4999526548027013e+01" y="1.0000473474630535e+01" hdg="1.5707463268673272e+00" length="1.0000000000000000e-03"> + <spiral curvStart="-1.0000026534682657e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_5_-1_6_-1" length="2.0000000000000000e+01" id="1006" junction="2"> + <link> + <predecessor elementType="road" elementId="5" contactPoint="end" /> + <successor elementType="road" elementId="6" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.5000000000000000e+01" y="7.9999999989744822e+01" hdg="3.1415926540000001e+00" length="2.0000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="1.0000000000000000e+01" t="-1.2000000000000000e+01" id="perimeter2" name="perimeter2" dynamic="no" orientation="none" zOffset="2.5000000000000000e+00" validLength="0.0000000000000000e+00" type="building" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="5.0000000000000000e+00" width="1.2000000000000000e+02" height="5.0000000000000000e+00" /> + </objects> + <signals /> + </road> + <road name="juntion_5_-1_10_1" length="1.5709921580400758e+01" id="1007" junction="2"> + <link> + <predecessor elementType="road" elementId="5" contactPoint="end" /> + <successor elementType="road" elementId="10" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.5000000000000000e+01" y="7.9999999989744822e+01" hdg="3.1415926540000001e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000026520325046e-01" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="4.4999000000000251e+01" y="7.9999999973077692e+01" hdg="3.1416426541326019e+00" length="1.5707795072416884e+01"> + <arc curvature="1.0000026520325046e-01" /> + </geometry> + <geometry s="1.5708795072416883e+01" x="3.4999526531330694e+01" y="6.9999653039344068e+01" hdg="4.7124263271326008e+00" length="1.0000000000000000e-03"> + <spiral curvStart="1.0000026520325046e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + <geometry s="1.5709795072416883e+01" x="3.4999526602010867e+01" y="6.9998653039346678e+01" hdg="4.7124763272652022e+00" length="1.2650798387525697e-04"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_6_1_10_1" length="1.5710120345618366e+01" id="1008" junction="2"> + <link> + <predecessor elementType="road" elementId="6" contactPoint="start" /> + <successor elementType="road" elementId="10" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.5000000000000000e+01" y="8.0000000000000000e+01" hdg="1.2653999999834298e-05" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="-9.9999000153067119e-02" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="2.5000999999999880e+01" y="7.9999999995987494e+01" hdg="-3.7345500076699277e-05" length="1.5708120327159305e+01"> + <arc curvature="-9.9999000153067119e-02" /> + </geometry> + <geometry s="1.5709120327159305e+01" x="3.5000726519984596e+01" y="6.9999526556482252e+01" hdg="-1.5708336725000767e+00" length="1.0000000000000000e-03"> + <spiral curvStart="-9.9999000153067119e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + <geometry s="1.5710120327159304e+01" x="3.5000726449305887e+01" y="6.9998526556484862e+01" hdg="-1.5708836720001531e+00" length="1.8459061834619206e-08"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_6_1_5_1" length="2.0000000000000000e+01" id="1009" junction="2"> + <link> + <predecessor elementType="road" elementId="6" contactPoint="start" /> + <successor elementType="road" elementId="5" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.5000000000000000e+01" y="8.0000000000000000e+01" hdg="1.2653999999834298e-05" length="2.0000000000000000e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_10_-1_5_1" length="1.5709921592724829e+01" id="1010" junction="2"> + <link> + <predecessor elementType="road" elementId="10" contactPoint="end" /> + <successor elementType="road" elementId="5" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="3.4999999987693798e+01" y="7.0000000000000000e+01" hdg="1.5707963270000000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="-1.0000026549040329e-01" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="3.5000000004360302e+01" y="7.0000999999999749e+01" hdg="1.5707463268672548e+00" length="1.5707795027311636e+01"> + <arc curvature="-1.0000026549040329e-01" /> + </geometry> + <geometry s="1.5708795027311636e+01" x="4.5000346903226394e+01" y="8.0000473446107492e+01" hdg="-3.7346132745419425e-05" length="1.0000000000000000e-03"> + <spiral curvStart="-1.0000026549040329e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + <geometry s="1.5709795027311635e+01" x="4.5001346903223784e+01" y="8.0000473375427944e+01" hdg="-8.7346265490565649e-05" length="1.2656541319344683e-04"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="juntion_10_-1_6_-1" length="1.5709921580249619e+01" id="1011" junction="2"> + <link> + <predecessor elementType="road" elementId="10" contactPoint="end" /> + <successor elementType="road" elementId="6" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="3.4999999987693798e+01" y="7.0000000000000000e+01" hdg="1.5707963270000000e+00" length="1.8459305195506204e-08"> + <line /> + </geometry> + <geometry s="1.8459305195506204e-08" x="3.4999999987693798e+01" y="7.0000000018459303e+01" hdg="1.5707963270000000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000026552341455e-01" /> + </geometry> + <geometry s="1.0000184593051955e-03" x="3.4999999971026881e+01" y="7.0001000018459052e+01" hdg="1.5708463271327617e+00" length="1.5707921561790315e+01"> + <arc curvature="1.0000026552341455e-01" /> + </geometry> + <geometry s="1.5708921580249619e+01" x="2.4999526531696123e+01" y="8.0000473451637035e+01" hdg="3.1416426541327618e+00" length="1.0000000000000000e-03"> + <spiral curvStart="1.0000026552341455e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <junction name="junction_1" id="1"> + <connection id="1" incomingRoad="0" connectingRoad="1" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + <connection id="2" incomingRoad="1" connectingRoad="0" contactPoint="start"> + <laneLink from="1" to="1" /> + </connection> + <connection id="3" incomingRoad="0" connectingRoad="10" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + <connection id="4" incomingRoad="10" connectingRoad="0" contactPoint="start"> + <laneLink from="1" to="1" /> + </connection> + <connection id="5" incomingRoad="10" connectingRoad="1" contactPoint="start"> + <laneLink from="1" to="-1" /> + </connection> + <connection id="6" incomingRoad="1" connectingRoad="10" contactPoint="start"> + <laneLink from="1" to="-1" /> + </connection> + </junction> + <junction name="junction_2" id="2"> + <connection id="1" incomingRoad="5" connectingRoad="6" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + <connection id="2" incomingRoad="5" connectingRoad="10" contactPoint="end"> + <laneLink from="-1" to="1" /> + </connection> + <connection id="3" incomingRoad="6" connectingRoad="10" contactPoint="start"> + <laneLink from="1" to="1" /> + </connection> + <connection id="4" incomingRoad="6" connectingRoad="5" contactPoint="start"> + <laneLink from="1" to="1" /> + </connection> + <connection id="5" incomingRoad="10" connectingRoad="5" contactPoint="end"> + <laneLink from="-1" to="1" /> + </connection> + <connection id="6" incomingRoad="10" connectingRoad="6" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + </junction> +</OpenDRIVE> diff --git a/data/lab_test/lab_test.xodr b/data/lab_test/lab_test.xodr new file mode 100644 index 0000000000000000000000000000000000000000..491b2cc820ed1b3f439ee8022587f8d9d6283a37 --- /dev/null +++ b/data/lab_test/lab_test.xodr @@ -0,0 +1,768 @@ +<?xml version="1.0" ?> +<OpenDRIVE> + <header revMajor="1" revMinor="1" name="Testfile" version="1" date="Thu Feb 8 14:24:06 2007" north="2.0000000000000000e+03" south="-2.0000000000000000e+03" east="2.0000000000000000e+03" west="-2.0000000000000000e+03" /> + <road name="rod0" length="9.6999999999999993e+00" id="0" junction="-1"> + <link> + <predecessor elementType="road" elementId="0" contactPoint="end" /> + <successor elementType="road" elementId="1" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.0149999999999999e+01" y="7.4000000000000004e+00" hdg="0.0000000000000000e+00" length="9.6999999999999993e+00"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="4.8499999999999996e+00" t="-8.4000000000000004e+00" id="2005" name="wall1" dynamic="no" orientation="none" zOffset="1.0000000000000000e+00" validLength="0.0000000000000000e+00" type="obstacle" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="5.0000000000000000e+01" width="2.0000000000000000e+00" height="2.0000000000000000e+00" /> + </objects> + <signals /> + </road> + <road name="road1" length="2.0029700000000002e+01" id="1" junction="-1"> + <link> + <predecessor elementType="road" elementId="0" contactPoint="end" /> + <successor elementType="junction" elementId="0" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.9850000000000001e+01" y="7.4000000000000004e+00" hdg="0.0000000000000000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="7.8431372999999999e-02" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="2.9850999999999846e+01" y="7.4000000130718959e+00" hdg="3.9215686500000004e-05" length="2.0027699999999999e+01"> + <arc curvature="7.8431372999999999e-02" /> + </geometry> + <geometry s="2.0028700000000001e+01" x="4.2600499914955996e+01" y="2.0150546878479382e+01" hdg="1.5708392247185998e+00" length="1.0000000000000000e-03"> + <spiral curvStart="7.8431372999999999e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road2" length="1.8600000000000001e+01" id="2" junction="-1"> + <link> + <predecessor elementType="junction" elementId="0" contactPoint="end" /> + <successor elementType="road" elementId="3" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.2600000000000001e+01" y="4.1250000000000000e+01" hdg="1.5707000000000000e+00" length="1.8600000000000001e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="4.7000000000000002e+00" t="8.8000000000000007e+00" id="2000" name="parking1" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.6999999999999993e+00" width="4.7000000000000002e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="left" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="9.4000000000000004e+00" t="8.8000000000000007e+00" id="2001" name="parking2" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.6999999999999993e+00" width="4.7000000000000002e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="1.4100000000000000e+01" t="8.8000000000000007e+00" id="2002" name="parking3" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.6999999999999993e+00" width="4.7000000000000002e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="right" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + </objects> + <signals /> + </road> + <road name="road3" length="2.0029700000000002e+01" id="3" junction="-1"> + <link> + <predecessor elementType="road" elementId="2" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.2600000000000001e+01" y="5.9850000000000001e+01" hdg="1.5707000000000000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="7.8431372999999999e-02" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="4.2600000083254898e+01" y="5.9850999999996468e+01" hdg="1.5707392156864999e+00" length="2.0027699999999999e+01"> + <arc curvature="7.8431372999999999e-02" /> + </geometry> + <geometry s="2.0028700000000001e+01" x="2.9850681395464072e+01" y="7.2601728075113087e+01" hdg="3.1415392247186000e+00" length="1.0000000000000000e-03"> + <spiral curvStart="7.8431372999999999e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road4" length="9.6999999999999993e+00" id="4" junction="-1"> + <link> + <predecessor elementType="road" elementId="3" contactPoint="end" /> + <successor elementType="road" elementId="5" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.9850000000000001e+01" y="7.2599999999999994e+01" hdg="3.1415899999999999e+00" length="9.6999999999999993e+00"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="4.8499999999999996e+00" t="-8.4000000000000004e+00" id="2006" name="wall2" dynamic="no" orientation="none" zOffset="1.0000000000000000e+00" validLength="0.0000000000000000e+00" type="obstacle" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="5.0000000000000000e+01" width="2.0000000000000000e+00" height="2.0000000000000000e+00" /> + </objects> + <signals /> + </road> + <road name="road5" length="2.0029700000000002e+01" id="5" junction="-1"> + <link> + <predecessor elementType="road" elementId="4" contactPoint="end" /> + <successor elementType="road" elementId="6" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.0149999999999999e+01" y="7.2599999999999994e+01" hdg="3.1415899999999999e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="7.8431372999999999e-02" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="2.0149000000000122e+01" y="7.2599999989581690e+01" hdg="3.1416292156864998e+00" length="2.0027699999999999e+01"> + <arc curvature="7.8431372999999999e-02" /> + </geometry> + <geometry s="2.0028700000000001e+01" x="7.3994662503678388e+00" y="5.9849486956161947e+01" hdg="4.7124292247185995e+00" length="1.0000000000000000e-03"> + <spiral curvStart="7.8431372999999999e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road6" length="1.8600000000000001e+01" id="6" junction="-1"> + <link> + <predecessor elementType="road" elementId="5" contactPoint="end" /> + <successor elementType="junction" elementId="1" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="7.4000000000000004e+00" y="5.9850000000000001e+01" hdg="4.7123889800000001e+00" length="1.8600000000000001e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="4.3499999999999996e+00" t="6.7500000000000000e+00" id="2003" name="parking4" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.6999999999999993e+00" width="4.7000000000000002e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="left" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + <object s="1.3050000000000001e+01" t="6.7500000000000000e+00" id="2004" name="parking5" dynamic="no" orientation="none" zOffset="0.0000000000000000e+00" validLength="0.0000000000000000e+00" type="parkingSpace" hdg="0.0000000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.6999999999999993e+00" width="4.7000000000000002e+00" height="1.0000000000000000e+00"> + <parkingSpace access="all" restrictions="none"> + <marking side="front" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="rear" type="solid" width="1.4999999999999999e-01" color="standard" /> + <marking side="left" type="solid" width="1.4999999999999999e-01" color="standard" /> + </parkingSpace> + </object> + </objects> + <signals /> + </road> + <road name="road7" length="2.0029700000000002e+01" id="7" junction="-1"> + <link> + <predecessor elementType="junction" elementId="1" contactPoint="end" /> + <successor elementType="road" elementId="0" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="7.4000000000000004e+00" y="2.0149999999999999e+01" hdg="4.7123889800000001e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="7.8431372999999999e-02" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="7.4000000130715113e+00" y="2.0149000000000154e+01" hdg="4.7124281956865000e+00" length="2.0027699999999999e+01"> + <arc curvature="7.8431372999999999e-02" /> + </geometry> + <geometry s="2.0028700000000001e+01" x="2.0150546873574388e+01" y="7.3995000801390010e+00" hdg="6.2832282047185997e+00" length="1.0000000000000000e-03"> + <spiral curvStart="7.8431372999999999e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <left> + <lane id="1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </left> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="road8" length="9.6999999999999993e+00" id="8" junction="-1"> + <link> + <predecessor elementType="junction" elementId="0" contactPoint="end" /> + <successor elementType="junction" elementId="1" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.9850000000000001e+01" y="2.8500000000000000e+01" hdg="3.1415899999999999e+00" length="9.6999999999999993e+00"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="4.8499999999999996e+00" t="7.4000000000000004e+00" id="2009" name="obstacle1" dynamic="no" orientation="none" zOffset="1.0000000000000000e+00" validLength="0.0000000000000000e+00" type="obstacle" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="2.0399999999999999e+01" width="7.7000000000000002e+00" height="2.0000000000000000e+00" /> + <object s="6.8499999999999996e+00" t="-2.2050000000000001e+01" id="2010" name="obstacle2" dynamic="no" orientation="none" zOffset="1.0000000000000000e+00" validLength="0.0000000000000000e+00" type="obstacle" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="7.0000000000000000e+00" width="2.9300000000000001e+01" height="2.0000000000000000e+00" /> + <object s="5.0000000000000000e-01" t="-3.4450000000000003e+01" id="2011" name="obstacle3" dynamic="no" orientation="none" zOffset="1.0000000000000000e+00" validLength="0.0000000000000000e+00" type="obstacle" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="5.7000000000000002e+00" width="4.5000000000000000e+00" height="2.0000000000000000e+00" /> + </objects> + <signals /> + </road> + <road name="junction_1_-1_2_-1" length="2.1098453127444021e+01" id="1000" junction="0"> + <link> + <predecessor elementType="road" elementId="1" contactPoint="end" /> + <successor elementType="road" elementId="2" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.2600499845914285e+01" y="2.0151546878476932e+01" hdg="1.5708784404050999e+00" length="2.1098453127444021e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="1.9850000000000001e+01" t="-8.4000000000000004e+00" id="2008" name="wall4" dynamic="no" orientation="none" zOffset="1.0000000000000000e+00" validLength="0.0000000000000000e+00" type="obstacle" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.4000000000000000e+01" width="2.0000000000000000e+00" height="2.0000000000000000e+00" /> + </objects> + <signals /> + </road> + <road name="junction_2_1_1_1" length="2.1098453127444021e+01" id="1001" junction="0"> + <link> + <predecessor elementType="road" elementId="2" contactPoint="start" /> + <successor elementType="road" elementId="1" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.2600000000000001e+01" y="4.1250000000000000e+01" hdg="4.7122799999999998e+00" length="2.1098453127444021e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="junction_1_-1_8_-1" length="1.7517430532197281e+01" id="1002" junction="0"> + <link> + <predecessor elementType="road" elementId="1" contactPoint="end" /> + <successor elementType="road" elementId="8" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.2600499845914285e+01" y="2.0151546878476932e+01" hdg="1.5708784404050999e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.1977331897282993e-01" /> + </geometry> + <geometry s="1.0000000000000000e-03" x="4.2600499743838455e+01" y="2.0152546878471565e+01" hdg="1.5709383270645862e+00" length="1.3114035521978057e+01"> + <arc curvature="1.1977331897282993e-01" /> + </geometry> + <geometry s="1.3115035521978056e+01" x="3.4250917119226692e+01" y="2.8500466153546419e+01" hdg="3.1416498866594864e+00" length="1.0000000000000000e-03"> + <spiral curvStart="1.1977331897282993e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + <geometry s="1.3116035521978056e+01" x="3.4249917119231569e+01" y="2.8500466056388909e+01" hdg="3.1417097733189729e+00" length="4.4013950102192254e+00"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="junction_2_1_8_-1" length="2.0029614501316743e+01" id="1003" junction="0"> + <link> + <predecessor elementType="road" elementId="2" contactPoint="start" /> + <successor elementType="road" elementId="8" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="4.2600000000000001e+01" y="4.1250000000000000e+01" hdg="4.7122799999999998e+00" length="1.4234088491864583e-03"> + <line /> + </geometry> + <geometry s="1.4234088491864583e-03" x="4.2599999844876358e+01" y="4.1248576591159264e+01" hdg="4.7122799999999998e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="-7.8431789287718476e-02" /> + </geometry> + <geometry s="2.4234088491864583e-03" x="4.2599999722824009e+01" y="4.1247576591166776e+01" hdg="4.7122407841053562e+00" length="2.0026191092467553e+01"> + <arc curvature="-7.8431789287718476e-02" /> + </geometry> + <geometry s="2.0028614501316738e+01" x="2.9849533775466725e+01" y="2.8499533840582128e+01" hdg="3.1415507841053563e+00" length="1.0000000000000000e-03"> + <spiral curvStart="-7.8431789287718476e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="junction_6_-1_7_-1" length="2.1100000000000001e+01" id="1004" junction="1"> + <link> + <predecessor elementType="road" elementId="6" contactPoint="end" /> + <successor elementType="road" elementId="7" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="7.3999999928447702e+00" y="4.1250000000000000e+01" hdg="4.7123889800000001e+00" length="2.1100000000000001e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects> + <object s="1.2500000000000000e+00" t="-8.4000000000000004e+00" id="2007" name="wall3" dynamic="no" orientation="none" zOffset="1.0000000000000000e+00" validLength="0.0000000000000000e+00" type="obstacle" hdg="1.5707000000000000e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00" length="8.4000000000000000e+01" width="2.0000000000000000e+00" height="2.0000000000000000e+00" /> + </objects> + <signals /> + </road> + <road name="junction_7_1_6_1" length="2.1100000000000001e+01" id="1005" junction="1"> + <link> + <predecessor elementType="road" elementId="7" contactPoint="start" /> + <successor elementType="road" elementId="6" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="motorway" /> + <planView> + <geometry s="0.0000000000000000e+00" x="7.4000000000000004e+00" y="2.0149999999999999e+01" hdg="1.5707889799999997e+00" length="2.1100000000000001e+01"> + <line /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="1.2000000000000000e+02" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="junction_8_-1_7_-1" length="1.7518135878982562e+01" id="1006" junction="1"> + <link> + <predecessor elementType="road" elementId="8" contactPoint="end" /> + <successor elementType="road" elementId="7" contactPoint="start" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.0150000000034154e+01" y="2.8500025739820995e+01" hdg="3.1415899999999999e+00" length="4.3999404237760071e+00"> + <line /> + </geometry> + <geometry s="4.3999404237760071e+00" x="1.5750059576273639e+01" y="2.8500037415457996e+01" hdg="3.1415899999999999e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="1.1976026015809806e-01" /> + </geometry> + <geometry s="4.4009404237760075e+00" x="1.5749059576273947e+01" y="2.8500037398151541e+01" hdg="3.1416498801300792e+00" length="1.3116195455206554e+01"> + <arc curvature="1.1976026015809806e-01" /> + </geometry> + <geometry s="1.7517135878982561e+01" x="7.3995221725733575e+00" y="2.0149522153881737e+01" hdg="4.7124488601300794e+00" length="1.0000000000000000e-03"> + <spiral curvStart="1.1976026015809806e-01" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <road name="junction_8_-1_6_1" length="2.0029625540833322e+01" id="1007" junction="1"> + <link> + <predecessor elementType="road" elementId="8" contactPoint="end" /> + <successor elementType="road" elementId="6" contactPoint="end" /> + </link> + <type s="0.0000000000000000e+00" type="town" /> + <planView> + <geometry s="0.0000000000000000e+00" x="2.0150000000034154e+01" y="2.8500025739820995e+01" hdg="3.1415899999999999e+00" length="1.5325142689270876e-04"> + <line /> + </geometry> + <geometry s="1.5325142689270876e-04" x="2.0149846748607263e+01" y="2.8500025740227660e+01" hdg="3.1415899999999999e+00" length="1.0000000000000000e-03"> + <spiral curvStart="0.0000000000000000e+00" curvEnd="-7.8432315236849862e-02" /> + </geometry> + <geometry s="1.1532514268927088e-03" x="2.0148846748607458e+01" y="2.8500025755953303e+01" hdg="3.1415507838423813e+00" length="2.0027472289406429e+01"> + <arc curvature="-7.8432315236849862e-02" /> + </geometry> + <geometry s="2.0028625540833321e+01" x="7.3995338391405685e+00" y="4.1250466171437921e+01" hdg="1.5707497638423815e+00" length="1.0000000000000000e-03"> + <spiral curvStart="-7.8432315236849862e-02" curvEnd="0.0000000000000000e+00" /> + </geometry> + </planView> + <elevationProfile /> + <lateralProfile /> + <lanes> + <laneSection s="0.0000000000000000e+00"> + <center> + <lane id="0" type="driving" level="false"> + <link /> + </lane> + </center> + <right> + <lane id="-1" type="driving" level="false"> + <link /> + <width sOffset="0.0000000000000000e+00" a="4.4000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" /> + <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="2.9999999999999999e-01" laneChange="both" /> + <speed sOffset="0.0000000000000000e+00" max="6.0000000000000000e+01" /> + </lane> + </right> + </laneSection> + </lanes> + <objects /> + <signals /> + </road> + <junction name="junction0" id="0"> + <connection id="0" incomingRoad="1" connectingRoad="2" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + <connection id="1" incomingRoad="2" connectingRoad="1" contactPoint="start"> + <laneLink from="1" to="1" /> + </connection> + <connection id="2" incomingRoad="1" connectingRoad="8" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + <connection id="3" incomingRoad="2" connectingRoad="8" contactPoint="start"> + <laneLink from="1" to="-1" /> + </connection> + </junction> + <junction name="junction1" id="1"> + <connection id="0" incomingRoad="6" connectingRoad="7" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + <connection id="1" incomingRoad="7" connectingRoad="6" contactPoint="start"> + <laneLink from="1" to="1" /> + </connection> + <connection id="2" incomingRoad="8" connectingRoad="7" contactPoint="end"> + <laneLink from="-1" to="-1" /> + </connection> + <connection id="3" incomingRoad="8" connectingRoad="6" contactPoint="end"> + <laneLink from="-1" to="1" /> + </connection> + </junction> +</OpenDRIVE> diff --git a/data/lab_test/landmarks.txt b/data/lab_test/landmarks.txt new file mode 100644 index 0000000000000000000000000000000000000000..0a72fcbb6c98a3ffd5d805ed0103f3985307182c --- /dev/null +++ b/data/lab_test/landmarks.txt @@ -0,0 +1,32 @@ +101.0 1.374 1.0065 -0.7854 2 +102.0 1.426 1.0065 0.7854 2 +103.0 0.2015 1.484 -0.7854 2 +104.0 0.2015 1.536 -2.3562 2 +105.0 1.374 1.9735 -2.3562 2 +106.0 1.426 1.9735 2.3562 2 +107.0 2.3985 1.484 0.7854 2 +108.0 2.3985 1.536 2.3562 2 +109.0 1.374 2.9115 -0.7854 2 +110.0 1.426 2.9115 0.7854 2 +111.0 0.6715 4.429 -0.7854 2 +112.0 0.6715 4.481 -2.3562 2 +113.0 1.374 5.9985 -2.3562 2 +114.0 1.426 5.9985 2.3562 2 +115.0 1.5285 4.429 0.7854 2 +116.0 1.5285 4.481 2.3562 2 +117.0 1.374 -0.5215 -2.3562 2 +118.0 1.426 -0.5215 2.3562 2 +119.0 -1.2215 1.374 0.7854 2 +120.0 -1.2215 1.426 2.3562 2 +121.0 -1.2215 3.374 0.7854 2 +122.0 -1.2215 3.426 2.3562 2 +123.0 -1.2215 5.374 0.7854 2 +124.0 -1.2215 5.426 2.3562 2 +125.0 1.374 7.3215 -0.7854 2 +126.0 1.426 7.3215 0.7854 2 +127.0 3.8215 1.374 -0.7854 2 +128.0 3.8215 1.426 -2.3562 2 +129.0 3.8215 3.374 -0.7854 2 +130.0 3.8215 3.426 -2.3562 2 +131.0 3.8215 5.374 -0.7854 2 +132.0 3.8215 5.426 -2.3562 2 diff --git a/maps/lab_test/lab_test.pgm b/maps/lab_test/lab_test.pgm new file mode 100644 index 0000000000000000000000000000000000000000..fa2a335d5fab39e0a0d8fc693d3af4a12e88eadd --- /dev/null +++ b/maps/lab_test/lab_test.pgm @@ -0,0 +1,5 @@ +P5 +# CREATOR: map_saver.cpp 0.050 m/pix +416 416 +255 +ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�ح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�ححححححححححح�حح�حححححح�ح�ح���ح�������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���������������������������������������������������������������������������������������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����������������������������������������������������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�ح����������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�������������ح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���������������ح��������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححح�ححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح�حححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح������حححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححح����������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح���������������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححح��ححححححح�ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح���ححححح�ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححح���حححح��ح�ححححححححححححح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححح����حح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححح����ححح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححح�����حح�ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححح������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححح������ح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححح��������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححح��������������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح�������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححح��حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححح��حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حح������حححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�������������ح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����������������������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����������������������������������������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����������ححح�ح��ح��ححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححح�ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�حححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححح�����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححححححححححححححححححححححححححححححح����ح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححح������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�ححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�حححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ح�حححححححححححححححححححححححححححححححححححححح���ح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححح��������ح�ح�������������ححح�ح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��������������������������������������������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�������ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح����ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح��ححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�����حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح���������������������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�ح��حح������������������������������������������������������������������������������������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�حح�ح�ح�ححح�ح�حححح����������ححححححح��ححححححححححححح��ح�����������������������������حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح�حححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححححح \ No newline at end of file diff --git a/maps/lab_test/lab_test.yaml b/maps/lab_test/lab_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2eb40bb68610643adac0f38e50f49bc651406304 --- /dev/null +++ b/maps/lab_test/lab_test.yaml @@ -0,0 +1,7 @@ +image: /home/adc/iri_team_ws/src/iri_adc_launch/maps/lab_test/lab_test.pgm +resolution: 0.050000 +origin: [-5.000000, -5.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 +