diff --git a/jsk_fetch_robot/fetcheus/fetch-interface.l b/jsk_fetch_robot/fetcheus/fetch-interface.l
index 9c8a9131b4..ad91e5cf4a 100644
--- a/jsk_fetch_robot/fetcheus/fetch-interface.l
+++ b/jsk_fetch_robot/fetcheus/fetch-interface.l
@@ -32,7 +32,10 @@
      ))
   (:state (&rest args)
    ":state calls with :wait-until-update by default, since Fetch publishes /joint_states from body and gripper at almost same frequency"
-   (send-super* :state (if (member :wait-until-update args) args (append args (list :wait-until-update t)))))
+   (send-super* :state
+                (if (or (eq (car args) :worldcoords)
+                        (member :wait-until-update args))
+                    args (append args (list :wait-until-update t)))))
   (:check-continuous-joint-move-over-180 ;; can be removed if http//github.com/jsk-ros-pkg/jsk_pr2eus/pull/322 merged
    (diff-av)
    (let ((i 0) add-new-trajectory-point)
@@ -256,12 +259,13 @@ Example: (send self :gripper :position) => 0.00"
              (forward-p (>= x 0))
              (d0 (if forward-p (atan2 y x) (atan2 (- y) (- x))))
              (d1 (distance (float-vector 0 0) (float-vector x y)))
-             (d2 (shortest-angle (- d d0) 0))
+             (d2 (shortest-angle (- (deg2rad d) d0) 0))
              org-cds cur-cds diffrot diffpos err)
         (send self :remprop :go-pos-unsafe-no-wait-goal)
 
         ;; yaw-x-yaw approach
-        (ros::ros-info "go-pos-unsafe: (yaw, x, yaw) = (~A ~A ~A)" d0 d1 d2)
+        (ros::ros-info "go-pos-unsafe: (yaw, x, yaw) = (~A ~A ~A)"
+                       d0 (* (if forward-p 1.0 -1.0) d1) d2)
 
         ;; yaw
         (send self :spin-once)
@@ -329,6 +333,10 @@ Example: (send self :gripper :position) => 0.00"
                 d-vel (* (if (>= d-vel 0) 1.0 -1.0) min-rotation-abs-vel))))
           (ros::sleep))
         t)))
+  (:move-to-wait (&rest args)
+    (send-super* :move-to-wait
+                 (if (member :correction args) args
+                     (append args (list :correction nil)))))
 ) ;; fetch-interface (simple base actions)
 
 (defun fetch-init (&optional (create-viewer))
diff --git a/jsk_fetch_robot/jsk_fetch.rosinstall b/jsk_fetch_robot/jsk_fetch.rosinstall
index 11dce96979..746d7d833c 100644
--- a/jsk_fetch_robot/jsk_fetch.rosinstall
+++ b/jsk_fetch_robot/jsk_fetch.rosinstall
@@ -6,11 +6,12 @@
     local-name: PR2/app_manager
     uri: https://github.com/PR2/app_manager.git
     version: 1.1.0
-# For fetch to use twitter
+# serious bug in 1.12.21
+# need to build from source because of nodelet version
 - git:
-    local-name: furushchev/image_pipeline
-    uri: https://github.com/furushchev/image_pipeline.git
-    version: develop
+    local-name: ros-perception/image_pipeline
+    uri: https://github.com/ros-perception/image_pipeline.git
+    version: 1.12.23
 # To send lifelog data to musca
 - git:
     local-name: strands-project/mongodb_store
@@ -23,46 +24,66 @@
     uri: https://github.com/jsk-ros-pkg/jsk_robot.git
     version: master
 # to pass build of jsk_robot
-# remove after 2.2.10 is released
+# to build with nodelet 1.9.10, we need https://github.com/jsk-ros-pkg/jsk_common/pull/1647
+# remove after 2.2.11 is released
 - git:
     local-name: jsk-ros-pkg/jsk_common
-    uri: https://github.com/jsk-ros-pkg/jsk_common.git
-    version: 2.2.10
-# to avoid volume 0 problem
+    uri: https://github.com/knorth55/jsk_common.git
+    version: 80be0920e2518a4fd49b7da1e96e69802cc49312
+# use latest version to avoid several problems
 # remove after 0.3.14 (https://github.com/jsk-ros-pkg/jsk_pr2eus/commit/41183fe3401d742bbec0edd13b67cb909a6968bd) is released
 - git:
     local-name: jsk-ros-pkg/jsk_pr2eus
     uri: https://github.com/jsk-ros-pkg/jsk_pr2eus.git
-    version: 0.3.14
+    version: 4102b8d3a542b9e93b4115065b2bea2494092abc
 # to use fetch's dock position for several demos
 # remove after https://github.com/jsk-ros-pkg/jsk_demos/commit/810acc7cc24a4792d455a7e9e8c8c50e5e07e21b (0.0.5) is released
 # Now, we set CATKIN_IGNORE to all packages except jsk_maps because we need only jsk_maps in fetch PC
 - git:
     local-name: jsk-ros-pkg/jsk_demos
     uri: https://github.com/jsk-ros-pkg/jsk_demos.git
-    version: 810acc7
-# jsk_topic_tools requires nodelet gte 1.9.11
-# remove after 1.9.11 is released by apt
+    version: 1f81e61c890e0642251ce0ec12952eb0828aadca
+# need to build from source because of nodelet version
 - git:
-    local-name: ros/nodelet_core
-    uri: https://github.com/ros/nodelet_core.git
-    version: 1.9.11
-# 0.3.x is needed to set volume in pr2eus/speak.l
-# remove after 0.3.x is released by apt
+    local-name: jsk-ros-pkg/jsk_recognition
+    uri: https://github.com/jsk-ros-pkg/jsk_recognition.git
+    version: ccdb666ed109e565e89bd35ef7dfa14999550da0
+# 0.3.4 is needed to set volume in pr2eus/speak.l
+# remove after 0.3.4 is released by apt
 - git:
     local-name: ros-drivers/audio_common
     uri: https://github.com/ros-drivers/audio_common.git
-    version: 0.3.3
+    version: 0.3.4
 # to install nodelet_plugins.xml
 # remove after 1.3.10 is released by apt
 - git:
     local-name: ros-perception/slam_gmapping
     uri: https://github.com/ros-perception/slam_gmapping.git
     version: 1.3.10
-# indigo is already EOL and 2.1.13 is never released.
+# indigo is already EOL and 2.1.15 is never released.
 # set the same version as https://github.com/jsk-ros-pkg/jsk_robot/blob/master/.travis.rosinstall.indigo#L7-L11
-# change to 2.1.14 when it is released.
+# change to 2.1.15 when it is released.
 - git:
     local-name: jsk-ros-pkg/jsk_3rdparty
     uri: https://github.com/jsk-ros-pkg/jsk_3rdparty.git
-    version: 82e897dcbdcd6aa0cbd126fa122d4dbdc9df67c9
+    version: ffbd7b0592d7dd2f830f185636a1dd1695d8cb44
+# indigo is already EOL and fetch_ros is never released.
+- git:
+    local-name: fetchrobotics/fetch_ros
+    uri: https://github.com/fetchrobotics/fetch_ros.git
+    version: c152f9349b26c60d3dde1b4973073bfa187920fe
+# indigo is already EOL and visualization_msgs is never released
+- tar:
+    local-name: ros/common_msgs/visualization_msgs
+    uri: https://github.com/ros-gbp/common_msgs-release/archive/release/kinetic/visualization_msgs/1.12.7-0.tar.gz
+    version: common_msgs-release-release-kinetic-visualization_msgs-1.12.7-0
+# catkin_virtualenv is required in jsk_3rdparty
+- git:
+    local-name: locusrobotics/catkin_virtualenv
+    uri: https://github.com/locusrobotics/catkin_virtualenv.git
+    version: 0.5.0
+# use latest robot_calibration
+- git:
+    local-name: mikeferguson/robot_calibration
+    uri: https://github.com/mikeferguson/robot_calibration.git
+    version: 0.5.5
diff --git a/jsk_fetch_robot/jsk_fetch_accessories/CMakeLists.txt b/jsk_fetch_robot/jsk_fetch_accessories/CMakeLists.txt
new file mode 100644
index 0000000000..d42c91edc3
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_accessories/CMakeLists.txt
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 2.8.3)
+project(jsk_fetch_accessories)
+find_package(catkin)
+catkin_package()
diff --git a/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1.step b/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1.step
new file mode 100644
index 0000000000..2cd622a015
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1.step
@@ -0,0 +1,2911 @@
+ISO-10303-21;
+HEADER;
+/* Generated by software containing ST-Developer
+ * from STEP Tools, Inc. (www.steptools.com) 
+ */
+
+FILE_DESCRIPTION(
+/* description */ (''),
+/* implementation_level */ '2;1');
+
+FILE_NAME(
+/* name */ 'D:/sktometometo/Desktop/FetchBaseCameraMount Mk.1 v25.step',
+
+/* time_stamp */ '2020-02-16T21:59:16+09:00',
+/* author */ (''),
+/* organization */ (''),
+/* preprocessor_version */ 'ST-DEVELOPER v18',
+/* originating_system */ 'Autodesk Translation Framework v8.12.0.6',
+/* authorisation */ '');
+
+FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 3 1 1 }'));
+ENDSEC;
+
+DATA;
+#10=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#17,#18),
+#2701);
+#11=ITEM_DEFINED_TRANSFORMATION($,$,#1399,#1533);
+#12=(
+REPRESENTATION_RELATIONSHIP($,$,#2712,#2711)
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#11)
+SHAPE_REPRESENTATION_RELATIONSHIP()
+);
+#13=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#12,#2710);
+#14=NEXT_ASSEMBLY_USAGE_OCCURRENCE('\X2\30B330F330DD30FC30CD30F330C8\X0\1
+:1','\X2\30B330F330DD30FC30CD30F330C8\X0\1:1',
+'\X2\30B330F330DD30FC30CD30F330C8\X0\1:1',#2714,#2715,
+'\X2\30B330F330DD30FC30CD30F330C8\X0\1:1');
+#15=SHAPE_REPRESENTATION_RELATIONSHIP('SRR','None',#2712,#16);
+#16=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#19,#20),#2700);
+#17=STYLED_ITEM('',(#2725),#19);
+#18=STYLED_ITEM('',(#2725),#20);
+#19=MANIFOLD_SOLID_BREP('main',#1384);
+#20=MANIFOLD_SOLID_BREP('collision',#1385);
+#21=ELLIPSE('',#1418,11.0374401223384,10.);
+#22=ELLIPSE('',#1421,11.0374401223384,10.);
+#23=ELLIPSE('',#1431,11.5325621757137,5.);
+#24=ELLIPSE('',#1432,11.9999995973626,6.);
+#25=ELLIPSE('',#1433,6.92820296153791,6.);
+#26=ELLIPSE('',#1434,6.08276222420889,5.);
+#27=ELLIPSE('',#1445,11.5325621757137,5.);
+#28=ELLIPSE('',#1446,11.5325621757137,5.);
+#29=ELLIPSE('',#1447,11.9999995973626,6.);
+#30=ELLIPSE('',#1457,14.4335836853053,12.49984999932);
+#31=ELLIPSE('',#1458,14.4335836853053,12.49984999932);
+#32=ELLIPSE('',#1459,1.15470055129385,1.);
+#33=ELLIPSE('',#1465,1.22592382851412,1.);
+#34=ELLIPSE('',#1467,15.3238639670186,12.49984999932);
+#35=ELLIPSE('',#1470,15.3238639670186,12.49984999932);
+#36=ELLIPSE('',#1521,11.0374401223384,10.);
+#37=ELLIPSE('',#1522,11.0374401223384,10.);
+#38=FACE_BOUND('',#180,.T.);
+#39=FACE_BOUND('',#192,.T.);
+#40=FACE_BOUND('',#193,.T.);
+#41=FACE_BOUND('',#197,.T.);
+#42=FACE_BOUND('',#198,.T.);
+#43=FACE_BOUND('',#200,.T.);
+#44=FACE_BOUND('',#203,.T.);
+#45=FACE_BOUND('',#204,.T.);
+#46=FACE_BOUND('',#228,.T.);
+#47=FACE_BOUND('',#229,.T.);
+#48=FACE_BOUND('',#239,.T.);
+#49=FACE_BOUND('',#240,.T.);
+#50=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2022,#2023,#2024,#2025,#2026),
+ .UNSPECIFIED.,.F.,.F.,(4,1,4),(-0.264688092666439,-0.113437753999902,0.),
+ .UNSPECIFIED.);
+#51=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2028,#2029,#2030,#2031,#2032),
+ .UNSPECIFIED.,.F.,.F.,(4,1,4),(0.,0.113437753999902,0.132423931376255),
+ .UNSPECIFIED.);
+#52=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2033,#2034,#2035,#2036),
+ .UNSPECIFIED.,.F.,.F.,(4,4),(0.132423931376255,0.264688092666439),
+ .UNSPECIFIED.);
+#53=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2193,#2194,#2195,#2196,#2197,#2198,
+#2199,#2200,#2201,#2202,#2203,#2204,#2205,#2206),.UNSPECIFIED.,.F.,.F.,
+(4,2,2,2,2,2,4),(-0.183134248083313,-0.182578878379645,-0.141233989713748,
+-0.100718696466866,-0.0591943731065641,-0.028026122891621,0.),
+ .UNSPECIFIED.);
+#54=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2208,#2209,#2210,#2211),
+ .UNSPECIFIED.,.F.,.F.,(4,4),(-0.00228103324451052,0.),.UNSPECIFIED.);
+#55=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2215,#2216,#2217,#2218),
+ .UNSPECIFIED.,.F.,.F.,(4,4),(-0.160362830069378,-0.158082376352823),
+ .UNSPECIFIED.);
+#56=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2219,#2220,#2221,#2222,#2223,#2224,
+#2225,#2226,#2227,#2228,#2229,#2230,#2231,#2232),.UNSPECIFIED.,.F.,.F.,
+(4,2,2,2,2,2,4),(-0.183134354079448,-0.182579200692327,-0.140954418852723,
+-0.0999281607110577,-0.0588313945245589,-0.0278777701070779,0.),
+ .UNSPECIFIED.);
+#57=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2459,#2460,#2461,#2462,#2463,#2464,
+#2465),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,4),(-0.940693456991315,-0.785714285714286,
+-0.571428571428571,-0.285714285714286,0.),.UNSPECIFIED.);
+#58=B_SPLINE_SURFACE_WITH_KNOTS('',3,3,((#1994,#1995,#1996,#1997,#1998),
+(#1999,#2000,#2001,#2002,#2003),(#2004,#2005,#2006,#2007,#2008),(#2009,
+#2010,#2011,#2012,#2013),(#2014,#2015,#2016,#2017,#2018)),.UNSPECIFIED.,
+ .F.,.F.,.F.,(4,1,4),(4,1,4),(0.,0.5,1.),(0.,0.113437753999902,0.264688092666439),
+ .UNSPECIFIED.);
+#59=B_SPLINE_SURFACE_WITH_KNOTS('',3,3,((#2091,#2092,#2093,#2094,#2095,
+#2096,#2097,#2098,#2099,#2100,#2101,#2102,#2103,#2104),(#2105,#2106,#2107,
+#2108,#2109,#2110,#2111,#2112,#2113,#2114,#2115,#2116,#2117,#2118),(#2119,
+#2120,#2121,#2122,#2123,#2124,#2125,#2126,#2127,#2128,#2129,#2130,#2131,
+#2132),(#2133,#2134,#2135,#2136,#2137,#2138,#2139,#2140,#2141,#2142,#2143,
+#2144,#2145,#2146),(#2147,#2148,#2149,#2150,#2151,#2152,#2153,#2154,#2155,
+#2156,#2157,#2158,#2159,#2160),(#2161,#2162,#2163,#2164,#2165,#2166,#2167,
+#2168,#2169,#2170,#2171,#2172,#2173,#2174),(#2175,#2176,#2177,#2178,#2179,
+#2180,#2181,#2182,#2183,#2184,#2185,#2186,#2187,#2188)),.UNSPECIFIED.,.F.,
+ .F.,.F.,(4,1,1,1,4),(4,1,1,1,1,1,1,1,1,1,1,4),(0.,0.285714285714286,0.571428571428571,
+0.785714285714286,1.),(-1.62246713501682,-1.15890509644059,-0.695343057864356,
+-0.231781019288124,-7.7715611723761E-15,0.231781019288108,0.289726274110138,
+0.347671528932167,0.463562038576225,0.695343057864341,1.15890509644057,
+1.62246713501681),.UNSPECIFIED.);
+#60=B_SPLINE_SURFACE_WITH_KNOTS('',3,3,((#2233,#2234,#2235,#2236,#2237,
+#2238,#2239,#2240,#2241,#2242),(#2243,#2244,#2245,#2246,#2247,#2248,#2249,
+#2250,#2251,#2252),(#2253,#2254,#2255,#2256,#2257,#2258,#2259,#2260,#2261,
+#2262),(#2263,#2264,#2265,#2266,#2267,#2268,#2269,#2270,#2271,#2272),(#2273,
+#2274,#2275,#2276,#2277,#2278,#2279,#2280,#2281,#2282),(#2283,#2284,#2285,
+#2286,#2287,#2288,#2289,#2290,#2291,#2292)),.UNSPECIFIED.,.F.,.F.,.F.,(4,
+1,1,4),(4,1,1,1,1,1,1,4),(0.,0.285714285714286,0.571428571428571,1.),(-1.62246713501685,
+-1.15890509644061,-0.695343057864377,-0.231781019288141,0.231781019288096,
+0.695343057864332,1.15890509644057,1.6224671350168),.UNSPECIFIED.);
+#61=B_SPLINE_SURFACE_WITH_KNOTS('',3,3,((#2325,#2326,#2327,#2328,#2329,
+#2330,#2331,#2332,#2333,#2334,#2335,#2336,#2337,#2338,#2339,#2340,#2341,
+#2342,#2343),(#2344,#2345,#2346,#2347,#2348,#2349,#2350,#2351,#2352,#2353,
+#2354,#2355,#2356,#2357,#2358,#2359,#2360,#2361,#2362),(#2363,#2364,#2365,
+#2366,#2367,#2368,#2369,#2370,#2371,#2372,#2373,#2374,#2375,#2376,#2377,
+#2378,#2379,#2380,#2381),(#2382,#2383,#2384,#2385,#2386,#2387,#2388,#2389,
+#2390,#2391,#2392,#2393,#2394,#2395,#2396,#2397,#2398,#2399,#2400),(#2401,
+#2402,#2403,#2404,#2405,#2406,#2407,#2408,#2409,#2410,#2411,#2412,#2413,
+#2414,#2415,#2416,#2417,#2418,#2419),(#2420,#2421,#2422,#2423,#2424,#2425,
+#2426,#2427,#2428,#2429,#2430,#2431,#2432,#2433,#2434,#2435,#2436,#2437,
+#2438),(#2439,#2440,#2441,#2442,#2443,#2444,#2445,#2446,#2447,#2448,#2449,
+#2450,#2451,#2452,#2453,#2454,#2455,#2456,#2457)),.UNSPECIFIED.,.F.,.T.,
+ .F.,(4,1,1,1,4),(4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4),(0.,0.285714285714286,
+0.571428571428571,0.785714285714286,1.),(-3.14159265358979,-2.91719317833338,
+-2.69279370307697,-2.24399475256414,-1.79519580205131,-1.34639685153848,
+-1.0471975511966,-0.448798950512828,-0.149599650170943,0.448798950512828,
+0.897597901025655,1.34639685153848,1.79519580205131,2.24399475256414,2.69279370307697,
+2.91719317833338,3.14159265358979),.UNSPECIFIED.);
+#62=PLANE('',#1403);
+#63=PLANE('',#1405);
+#64=PLANE('',#1412);
+#65=PLANE('',#1415);
+#66=PLANE('',#1422);
+#67=PLANE('',#1427);
+#68=PLANE('',#1435);
+#69=PLANE('',#1448);
+#70=PLANE('',#1451);
+#71=PLANE('',#1452);
+#72=PLANE('',#1453);
+#73=PLANE('',#1456);
+#74=PLANE('',#1460);
+#75=PLANE('',#1463);
+#76=PLANE('',#1468);
+#77=PLANE('',#1480);
+#78=PLANE('',#1482);
+#79=PLANE('',#1489);
+#80=PLANE('',#1490);
+#81=PLANE('',#1495);
+#82=PLANE('',#1496);
+#83=PLANE('',#1500);
+#84=PLANE('',#1502);
+#85=PLANE('',#1503);
+#86=PLANE('',#1504);
+#87=PLANE('',#1507);
+#88=PLANE('',#1508);
+#89=PLANE('',#1509);
+#90=PLANE('',#1510);
+#91=PLANE('',#1511);
+#92=PLANE('',#1512);
+#93=PLANE('',#1514);
+#94=PLANE('',#1519);
+#95=PLANE('',#1523);
+#96=PLANE('',#1526);
+#97=PLANE('',#1527);
+#98=PLANE('',#1530);
+#99=PLANE('',#1531);
+#100=PLANE('',#1532);
+#101=FACE_OUTER_BOUND('',#173,.T.);
+#102=FACE_OUTER_BOUND('',#174,.T.);
+#103=FACE_OUTER_BOUND('',#175,.T.);
+#104=FACE_OUTER_BOUND('',#176,.T.);
+#105=FACE_OUTER_BOUND('',#177,.T.);
+#106=FACE_OUTER_BOUND('',#178,.T.);
+#107=FACE_OUTER_BOUND('',#179,.T.);
+#108=FACE_OUTER_BOUND('',#181,.T.);
+#109=FACE_OUTER_BOUND('',#182,.T.);
+#110=FACE_OUTER_BOUND('',#183,.T.);
+#111=FACE_OUTER_BOUND('',#184,.T.);
+#112=FACE_OUTER_BOUND('',#185,.T.);
+#113=FACE_OUTER_BOUND('',#186,.T.);
+#114=FACE_OUTER_BOUND('',#187,.T.);
+#115=FACE_OUTER_BOUND('',#188,.T.);
+#116=FACE_OUTER_BOUND('',#189,.T.);
+#117=FACE_OUTER_BOUND('',#190,.T.);
+#118=FACE_OUTER_BOUND('',#191,.T.);
+#119=FACE_OUTER_BOUND('',#194,.T.);
+#120=FACE_OUTER_BOUND('',#195,.T.);
+#121=FACE_OUTER_BOUND('',#196,.T.);
+#122=FACE_OUTER_BOUND('',#199,.T.);
+#123=FACE_OUTER_BOUND('',#201,.T.);
+#124=FACE_OUTER_BOUND('',#202,.T.);
+#125=FACE_OUTER_BOUND('',#205,.T.);
+#126=FACE_OUTER_BOUND('',#206,.T.);
+#127=FACE_OUTER_BOUND('',#207,.T.);
+#128=FACE_OUTER_BOUND('',#208,.T.);
+#129=FACE_OUTER_BOUND('',#209,.T.);
+#130=FACE_OUTER_BOUND('',#210,.T.);
+#131=FACE_OUTER_BOUND('',#211,.T.);
+#132=FACE_OUTER_BOUND('',#212,.T.);
+#133=FACE_OUTER_BOUND('',#213,.T.);
+#134=FACE_OUTER_BOUND('',#214,.T.);
+#135=FACE_OUTER_BOUND('',#215,.T.);
+#136=FACE_OUTER_BOUND('',#216,.T.);
+#137=FACE_OUTER_BOUND('',#217,.T.);
+#138=FACE_OUTER_BOUND('',#218,.T.);
+#139=FACE_OUTER_BOUND('',#219,.T.);
+#140=FACE_OUTER_BOUND('',#220,.T.);
+#141=FACE_OUTER_BOUND('',#221,.T.);
+#142=FACE_OUTER_BOUND('',#222,.T.);
+#143=FACE_OUTER_BOUND('',#223,.T.);
+#144=FACE_OUTER_BOUND('',#224,.T.);
+#145=FACE_OUTER_BOUND('',#225,.T.);
+#146=FACE_OUTER_BOUND('',#226,.T.);
+#147=FACE_OUTER_BOUND('',#227,.T.);
+#148=FACE_OUTER_BOUND('',#230,.T.);
+#149=FACE_OUTER_BOUND('',#231,.T.);
+#150=FACE_OUTER_BOUND('',#232,.T.);
+#151=FACE_OUTER_BOUND('',#233,.T.);
+#152=FACE_OUTER_BOUND('',#234,.T.);
+#153=FACE_OUTER_BOUND('',#235,.T.);
+#154=FACE_OUTER_BOUND('',#236,.T.);
+#155=FACE_OUTER_BOUND('',#237,.T.);
+#156=FACE_OUTER_BOUND('',#238,.T.);
+#157=FACE_OUTER_BOUND('',#241,.T.);
+#158=FACE_OUTER_BOUND('',#242,.T.);
+#159=FACE_OUTER_BOUND('',#243,.T.);
+#160=FACE_OUTER_BOUND('',#244,.T.);
+#161=FACE_OUTER_BOUND('',#245,.T.);
+#162=FACE_OUTER_BOUND('',#246,.T.);
+#163=FACE_OUTER_BOUND('',#247,.T.);
+#164=FACE_OUTER_BOUND('',#248,.T.);
+#165=FACE_OUTER_BOUND('',#249,.T.);
+#166=FACE_OUTER_BOUND('',#250,.T.);
+#167=FACE_OUTER_BOUND('',#251,.T.);
+#168=FACE_OUTER_BOUND('',#252,.T.);
+#169=FACE_OUTER_BOUND('',#253,.T.);
+#170=FACE_OUTER_BOUND('',#254,.T.);
+#171=FACE_OUTER_BOUND('',#255,.T.);
+#172=FACE_OUTER_BOUND('',#256,.T.);
+#173=EDGE_LOOP('',(#885,#886,#887,#888));
+#174=EDGE_LOOP('',(#889,#890,#891,#892,#893,#894,#895,#896,#897,#898,#899,
+#900,#901,#902,#903,#904));
+#175=EDGE_LOOP('',(#905,#906,#907,#908,#909,#910,#911,#912));
+#176=EDGE_LOOP('',(#913,#914,#915,#916));
+#177=EDGE_LOOP('',(#917,#918,#919,#920,#921));
+#178=EDGE_LOOP('',(#922,#923,#924,#925));
+#179=EDGE_LOOP('',(#926,#927,#928,#929,#930,#931,#932,#933,#934,#935));
+#180=EDGE_LOOP('',(#936));
+#181=EDGE_LOOP('',(#937,#938,#939,#940,#941,#942));
+#182=EDGE_LOOP('',(#943,#944,#945,#946));
+#183=EDGE_LOOP('',(#947,#948,#949,#950));
+#184=EDGE_LOOP('',(#951,#952,#953,#954,#955));
+#185=EDGE_LOOP('',(#956,#957,#958,#959));
+#186=EDGE_LOOP('',(#960,#961,#962,#963));
+#187=EDGE_LOOP('',(#964,#965,#966,#967,#968));
+#188=EDGE_LOOP('',(#969,#970,#971,#972));
+#189=EDGE_LOOP('',(#973,#974,#975,#976,#977,#978));
+#190=EDGE_LOOP('',(#979,#980,#981,#982));
+#191=EDGE_LOOP('',(#983,#984,#985,#986,#987,#988,#989,#990,#991,#992,#993,
+#994));
+#192=EDGE_LOOP('',(#995));
+#193=EDGE_LOOP('',(#996));
+#194=EDGE_LOOP('',(#997,#998,#999,#1000,#1001,#1002));
+#195=EDGE_LOOP('',(#1003,#1004,#1005,#1006,#1007,#1008,#1009,#1010));
+#196=EDGE_LOOP('',(#1011,#1012,#1013,#1014,#1015,#1016));
+#197=EDGE_LOOP('',(#1017));
+#198=EDGE_LOOP('',(#1018));
+#199=EDGE_LOOP('',(#1019));
+#200=EDGE_LOOP('',(#1020));
+#201=EDGE_LOOP('',(#1021,#1022,#1023,#1024,#1025,#1026));
+#202=EDGE_LOOP('',(#1027,#1028,#1029,#1030));
+#203=EDGE_LOOP('',(#1031));
+#204=EDGE_LOOP('',(#1032));
+#205=EDGE_LOOP('',(#1033,#1034,#1035,#1036,#1037,#1038,#1039,#1040,#1041));
+#206=EDGE_LOOP('',(#1042,#1043,#1044,#1045));
+#207=EDGE_LOOP('',(#1046,#1047,#1048,#1049));
+#208=EDGE_LOOP('',(#1050,#1051,#1052,#1053));
+#209=EDGE_LOOP('',(#1054,#1055,#1056,#1057,#1058,#1059,#1060,#1061));
+#210=EDGE_LOOP('',(#1062,#1063,#1064,#1065));
+#211=EDGE_LOOP('',(#1066,#1067,#1068,#1069));
+#212=EDGE_LOOP('',(#1070,#1071,#1072,#1073));
+#213=EDGE_LOOP('',(#1074,#1075,#1076,#1077,#1078));
+#214=EDGE_LOOP('',(#1079,#1080,#1081,#1082));
+#215=EDGE_LOOP('',(#1083,#1084,#1085,#1086));
+#216=EDGE_LOOP('',(#1087,#1088,#1089,#1090));
+#217=EDGE_LOOP('',(#1091,#1092,#1093,#1094));
+#218=EDGE_LOOP('',(#1095,#1096,#1097,#1098));
+#219=EDGE_LOOP('',(#1099,#1100,#1101,#1102,#1103));
+#220=EDGE_LOOP('',(#1104,#1105,#1106,#1107));
+#221=EDGE_LOOP('',(#1108,#1109,#1110,#1111));
+#222=EDGE_LOOP('',(#1112,#1113,#1114,#1115));
+#223=EDGE_LOOP('',(#1116,#1117,#1118,#1119));
+#224=EDGE_LOOP('',(#1120,#1121,#1122,#1123,#1124,#1125,#1126,#1127,#1128,
+#1129,#1130));
+#225=EDGE_LOOP('',(#1131,#1132,#1133,#1134));
+#226=EDGE_LOOP('',(#1135,#1136,#1137,#1138));
+#227=EDGE_LOOP('',(#1139,#1140,#1141,#1142,#1143,#1144,#1145,#1146,#1147,
+#1148,#1149,#1150));
+#228=EDGE_LOOP('',(#1151));
+#229=EDGE_LOOP('',(#1152));
+#230=EDGE_LOOP('',(#1153,#1154,#1155,#1156));
+#231=EDGE_LOOP('',(#1157,#1158,#1159,#1160));
+#232=EDGE_LOOP('',(#1161,#1162,#1163,#1164));
+#233=EDGE_LOOP('',(#1165,#1166,#1167,#1168));
+#234=EDGE_LOOP('',(#1169,#1170,#1171,#1172,#1173,#1174,#1175,#1176,#1177,
+#1178,#1179));
+#235=EDGE_LOOP('',(#1180,#1181,#1182,#1183));
+#236=EDGE_LOOP('',(#1184,#1185,#1186,#1187));
+#237=EDGE_LOOP('',(#1188,#1189,#1190,#1191));
+#238=EDGE_LOOP('',(#1192,#1193,#1194,#1195,#1196,#1197));
+#239=EDGE_LOOP('',(#1198));
+#240=EDGE_LOOP('',(#1199));
+#241=EDGE_LOOP('',(#1200,#1201,#1202,#1203,#1204,#1205,#1206,#1207,#1208));
+#242=EDGE_LOOP('',(#1209,#1210,#1211,#1212));
+#243=EDGE_LOOP('',(#1213,#1214,#1215,#1216));
+#244=EDGE_LOOP('',(#1217,#1218,#1219,#1220));
+#245=EDGE_LOOP('',(#1221,#1222,#1223,#1224,#1225,#1226,#1227,#1228,#1229));
+#246=EDGE_LOOP('',(#1230,#1231,#1232,#1233));
+#247=EDGE_LOOP('',(#1234,#1235,#1236,#1237));
+#248=EDGE_LOOP('',(#1238,#1239,#1240,#1241));
+#249=EDGE_LOOP('',(#1242,#1243,#1244,#1245,#1246));
+#250=EDGE_LOOP('',(#1247,#1248,#1249,#1250));
+#251=EDGE_LOOP('',(#1251,#1252,#1253,#1254,#1255));
+#252=EDGE_LOOP('',(#1256,#1257,#1258,#1259));
+#253=EDGE_LOOP('',(#1260,#1261,#1262,#1263));
+#254=EDGE_LOOP('',(#1264,#1265,#1266,#1267));
+#255=EDGE_LOOP('',(#1268,#1269,#1270,#1271,#1272,#1273));
+#256=EDGE_LOOP('',(#1274,#1275,#1276,#1277,#1278,#1279,#1280,#1281,#1282));
+#257=LINE('',#1939,#383);
+#258=LINE('',#1942,#384);
+#259=LINE('',#1945,#385);
+#260=LINE('',#1947,#386);
+#261=LINE('',#1949,#387);
+#262=LINE('',#1951,#388);
+#263=LINE('',#1953,#389);
+#264=LINE('',#1955,#390);
+#265=LINE('',#1957,#391);
+#266=LINE('',#1959,#392);
+#267=LINE('',#1961,#393);
+#268=LINE('',#1963,#394);
+#269=LINE('',#1965,#395);
+#270=LINE('',#1967,#396);
+#271=LINE('',#1969,#397);
+#272=LINE('',#1972,#398);
+#273=LINE('',#1975,#399);
+#274=LINE('',#1977,#400);
+#275=LINE('',#1979,#401);
+#276=LINE('',#1981,#402);
+#277=LINE('',#1983,#403);
+#278=LINE('',#1984,#404);
+#279=LINE('',#1990,#405);
+#280=LINE('',#1993,#406);
+#281=LINE('',#2041,#407);
+#282=LINE('',#2042,#408);
+#283=LINE('',#2045,#409);
+#284=LINE('',#2047,#410);
+#285=LINE('',#2049,#411);
+#286=LINE('',#2053,#412);
+#287=LINE('',#2055,#413);
+#288=LINE('',#2056,#414);
+#289=LINE('',#2061,#415);
+#290=LINE('',#2062,#416);
+#291=LINE('',#2071,#417);
+#292=LINE('',#2072,#418);
+#293=LINE('',#2075,#419);
+#294=LINE('',#2079,#420);
+#295=LINE('',#2083,#421);
+#296=LINE('',#2084,#422);
+#297=LINE('',#2089,#423);
+#298=LINE('',#2297,#424);
+#299=LINE('',#2301,#425);
+#300=LINE('',#2306,#426);
+#301=LINE('',#2308,#427);
+#302=LINE('',#2313,#428);
+#303=LINE('',#2322,#429);
+#304=LINE('',#2468,#430);
+#305=LINE('',#2469,#431);
+#306=LINE('',#2476,#432);
+#307=LINE('',#2485,#433);
+#308=LINE('',#2487,#434);
+#309=LINE('',#2491,#435);
+#310=LINE('',#2496,#436);
+#311=LINE('',#2497,#437);
+#312=LINE('',#2499,#438);
+#313=LINE('',#2501,#439);
+#314=LINE('',#2503,#440);
+#315=LINE('',#2505,#441);
+#316=LINE('',#2510,#442);
+#317=LINE('',#2511,#443);
+#318=LINE('',#2514,#444);
+#319=LINE('',#2517,#445);
+#320=LINE('',#2521,#446);
+#321=LINE('',#2523,#447);
+#322=LINE('',#2525,#448);
+#323=LINE('',#2529,#449);
+#324=LINE('',#2533,#450);
+#325=LINE('',#2539,#451);
+#326=LINE('',#2542,#452);
+#327=LINE('',#2544,#453);
+#328=LINE('',#2546,#454);
+#329=LINE('',#2549,#455);
+#330=LINE('',#2555,#456);
+#331=LINE('',#2558,#457);
+#332=LINE('',#2563,#458);
+#333=LINE('',#2566,#459);
+#334=LINE('',#2567,#460);
+#335=LINE('',#2570,#461);
+#336=LINE('',#2574,#462);
+#337=LINE('',#2578,#463);
+#338=LINE('',#2580,#464);
+#339=LINE('',#2581,#465);
+#340=LINE('',#2584,#466);
+#341=LINE('',#2588,#467);
+#342=LINE('',#2589,#468);
+#343=LINE('',#2592,#469);
+#344=LINE('',#2596,#470);
+#345=LINE('',#2599,#471);
+#346=LINE('',#2600,#472);
+#347=LINE('',#2602,#473);
+#348=LINE('',#2605,#474);
+#349=LINE('',#2607,#475);
+#350=LINE('',#2608,#476);
+#351=LINE('',#2613,#477);
+#352=LINE('',#2615,#478);
+#353=LINE('',#2617,#479);
+#354=LINE('',#2622,#480);
+#355=LINE('',#2624,#481);
+#356=LINE('',#2626,#482);
+#357=LINE('',#2627,#483);
+#358=LINE('',#2630,#484);
+#359=LINE('',#2632,#485);
+#360=LINE('',#2633,#486);
+#361=LINE('',#2637,#487);
+#362=LINE('',#2639,#488);
+#363=LINE('',#2642,#489);
+#364=LINE('',#2645,#490);
+#365=LINE('',#2649,#491);
+#366=LINE('',#2653,#492);
+#367=LINE('',#2655,#493);
+#368=LINE('',#2656,#494);
+#369=LINE('',#2661,#495);
+#370=LINE('',#2662,#496);
+#371=LINE('',#2665,#497);
+#372=LINE('',#2666,#498);
+#373=LINE('',#2672,#499);
+#374=LINE('',#2673,#500);
+#375=LINE('',#2676,#501);
+#376=LINE('',#2680,#502);
+#377=LINE('',#2681,#503);
+#378=LINE('',#2684,#504);
+#379=LINE('',#2685,#505);
+#380=LINE('',#2689,#506);
+#381=LINE('',#2691,#507);
+#382=LINE('',#2693,#508);
+#383=VECTOR('',#1542,10.);
+#384=VECTOR('',#1545,10.);
+#385=VECTOR('',#1548,10.);
+#386=VECTOR('',#1549,10.);
+#387=VECTOR('',#1550,10.);
+#388=VECTOR('',#1551,10.);
+#389=VECTOR('',#1552,10.);
+#390=VECTOR('',#1553,10.);
+#391=VECTOR('',#1554,10.);
+#392=VECTOR('',#1555,10.);
+#393=VECTOR('',#1556,10.);
+#394=VECTOR('',#1557,10.);
+#395=VECTOR('',#1558,10.);
+#396=VECTOR('',#1559,10.);
+#397=VECTOR('',#1560,10.);
+#398=VECTOR('',#1563,10.);
+#399=VECTOR('',#1566,10.);
+#400=VECTOR('',#1567,10.);
+#401=VECTOR('',#1568,10.);
+#402=VECTOR('',#1569,10.);
+#403=VECTOR('',#1570,10.);
+#404=VECTOR('',#1571,10.);
+#405=VECTOR('',#1576,10.);
+#406=VECTOR('',#1579,10.);
+#407=VECTOR('',#1586,10.);
+#408=VECTOR('',#1587,10.);
+#409=VECTOR('',#1590,10.);
+#410=VECTOR('',#1591,10.);
+#411=VECTOR('',#1592,10.);
+#412=VECTOR('',#1595,10.);
+#413=VECTOR('',#1596,10.);
+#414=VECTOR('',#1597,10.);
+#415=VECTOR('',#1602,10.);
+#416=VECTOR('',#1603,10.);
+#417=VECTOR('',#1618,10.);
+#418=VECTOR('',#1619,10.);
+#419=VECTOR('',#1622,10.);
+#420=VECTOR('',#1627,2.75);
+#421=VECTOR('',#1632,10.);
+#422=VECTOR('',#1633,10.);
+#423=VECTOR('',#1638,2.74999999999999);
+#424=VECTOR('',#1651,10.);
+#425=VECTOR('',#1654,10.);
+#426=VECTOR('',#1659,10.);
+#427=VECTOR('',#1660,10.);
+#428=VECTOR('',#1665,10.);
+#429=VECTOR('',#1674,5.);
+#430=VECTOR('',#1683,10.);
+#431=VECTOR('',#1684,10.);
+#432=VECTOR('',#1693,10.);
+#433=VECTOR('',#1702,10.);
+#434=VECTOR('',#1703,10.);
+#435=VECTOR('',#1706,10.);
+#436=VECTOR('',#1711,10.);
+#437=VECTOR('',#1712,10.);
+#438=VECTOR('',#1715,10.);
+#439=VECTOR('',#1718,10.);
+#440=VECTOR('',#1721,10.);
+#441=VECTOR('',#1724,10.);
+#442=VECTOR('',#1729,10.);
+#443=VECTOR('',#1730,10.);
+#444=VECTOR('',#1733,10.);
+#445=VECTOR('',#1738,10.);
+#446=VECTOR('',#1743,10.);
+#447=VECTOR('',#1746,1.6);
+#448=VECTOR('',#1749,1.6);
+#449=VECTOR('',#1754,1.6);
+#450=VECTOR('',#1759,1.6);
+#451=VECTOR('',#1764,10.);
+#452=VECTOR('',#1767,10.);
+#453=VECTOR('',#1770,10.);
+#454=VECTOR('',#1771,10.);
+#455=VECTOR('',#1776,10.);
+#456=VECTOR('',#1781,10.);
+#457=VECTOR('',#1784,10.);
+#458=VECTOR('',#1789,10.);
+#459=VECTOR('',#1794,10.);
+#460=VECTOR('',#1795,10.);
+#461=VECTOR('',#1798,10.);
+#462=VECTOR('',#1801,10.);
+#463=VECTOR('',#1804,10.);
+#464=VECTOR('',#1805,10.);
+#465=VECTOR('',#1806,10.);
+#466=VECTOR('',#1809,10.);
+#467=VECTOR('',#1814,10.);
+#468=VECTOR('',#1815,10.);
+#469=VECTOR('',#1818,10.);
+#470=VECTOR('',#1821,10.);
+#471=VECTOR('',#1826,10.);
+#472=VECTOR('',#1827,10.);
+#473=VECTOR('',#1830,10.);
+#474=VECTOR('',#1835,10.);
+#475=VECTOR('',#1838,10.);
+#476=VECTOR('',#1839,10.);
+#477=VECTOR('',#1846,10.);
+#478=VECTOR('',#1849,10.);
+#479=VECTOR('',#1852,10.);
+#480=VECTOR('',#1857,10.);
+#481=VECTOR('',#1858,10.);
+#482=VECTOR('',#1859,10.);
+#483=VECTOR('',#1860,10.);
+#484=VECTOR('',#1863,10.);
+#485=VECTOR('',#1864,10.);
+#486=VECTOR('',#1865,10.);
+#487=VECTOR('',#1868,10.);
+#488=VECTOR('',#1869,10.);
+#489=VECTOR('',#1872,10.);
+#490=VECTOR('',#1875,10.);
+#491=VECTOR('',#1878,10.);
+#492=VECTOR('',#1881,10.);
+#493=VECTOR('',#1882,10.);
+#494=VECTOR('',#1883,10.);
+#495=VECTOR('',#1888,10.);
+#496=VECTOR('',#1889,10.);
+#497=VECTOR('',#1892,10.);
+#498=VECTOR('',#1893,10.);
+#499=VECTOR('',#1902,10.);
+#500=VECTOR('',#1903,10.);
+#501=VECTOR('',#1906,10.);
+#502=VECTOR('',#1911,10.);
+#503=VECTOR('',#1912,10.);
+#504=VECTOR('',#1915,10.);
+#505=VECTOR('',#1916,10.);
+#506=VECTOR('',#1921,10.);
+#507=VECTOR('',#1924,10.);
+#508=VECTOR('',#1927,10.);
+#509=CIRCLE('',#1401,3.);
+#510=CIRCLE('',#1402,3.);
+#511=CIRCLE('',#1404,2.00000000000003);
+#512=CIRCLE('',#1407,1.);
+#513=CIRCLE('',#1408,1.00000000000002);
+#514=CIRCLE('',#1409,1.00000000000003);
+#515=CIRCLE('',#1411,1.);
+#516=CIRCLE('',#1413,15.);
+#517=CIRCLE('',#1414,2.75);
+#518=CIRCLE('',#1416,10.);
+#519=CIRCLE('',#1419,10.);
+#520=CIRCLE('',#1424,15.);
+#521=CIRCLE('',#1426,2.75);
+#522=CIRCLE('',#1429,2.74999999999999);
+#523=CIRCLE('',#1430,2.74999999999999);
+#524=CIRCLE('',#1436,12.49984999932);
+#525=CIRCLE('',#1437,12.49984999932);
+#526=CIRCLE('',#1438,1.);
+#527=CIRCLE('',#1439,1.);
+#528=CIRCLE('',#1440,12.49984999932);
+#529=CIRCLE('',#1441,1.6);
+#530=CIRCLE('',#1442,1.6);
+#531=CIRCLE('',#1444,5.);
+#532=CIRCLE('',#1449,1.6);
+#533=CIRCLE('',#1450,1.6);
+#534=CIRCLE('',#1454,1.6);
+#535=CIRCLE('',#1455,1.6);
+#536=CIRCLE('',#1474,1.6);
+#537=CIRCLE('',#1476,1.6);
+#538=CIRCLE('',#1478,1.);
+#539=CIRCLE('',#1479,1.);
+#540=CIRCLE('',#1481,5.49995495298887);
+#541=CIRCLE('',#1484,1.);
+#542=CIRCLE('',#1485,1.);
+#543=CIRCLE('',#1487,5.49995495031771);
+#544=CIRCLE('',#1488,5.49995495031771);
+#545=CIRCLE('',#1491,5.49995495031771);
+#546=CIRCLE('',#1492,5.49995495298887);
+#547=CIRCLE('',#1494,5.49995495298887);
+#548=CIRCLE('',#1497,5.49995495298887);
+#549=CIRCLE('',#1498,5.49995495031771);
+#550=CIRCLE('',#1506,2.00000000000003);
+#551=CIRCLE('',#1513,15.);
+#552=CIRCLE('',#1515,2.00000000000003);
+#553=CIRCLE('',#1516,3.);
+#554=CIRCLE('',#1518,3.);
+#555=CIRCLE('',#1525,15.);
+#556=CIRCLE('',#1529,2.00000000000003);
+#557=VERTEX_POINT('',#1935);
+#558=VERTEX_POINT('',#1936);
+#559=VERTEX_POINT('',#1938);
+#560=VERTEX_POINT('',#1940);
+#561=VERTEX_POINT('',#1944);
+#562=VERTEX_POINT('',#1946);
+#563=VERTEX_POINT('',#1948);
+#564=VERTEX_POINT('',#1950);
+#565=VERTEX_POINT('',#1952);
+#566=VERTEX_POINT('',#1954);
+#567=VERTEX_POINT('',#1956);
+#568=VERTEX_POINT('',#1958);
+#569=VERTEX_POINT('',#1960);
+#570=VERTEX_POINT('',#1962);
+#571=VERTEX_POINT('',#1964);
+#572=VERTEX_POINT('',#1966);
+#573=VERTEX_POINT('',#1968);
+#574=VERTEX_POINT('',#1970);
+#575=VERTEX_POINT('',#1974);
+#576=VERTEX_POINT('',#1976);
+#577=VERTEX_POINT('',#1978);
+#578=VERTEX_POINT('',#1980);
+#579=VERTEX_POINT('',#1982);
+#580=VERTEX_POINT('',#1986);
+#581=VERTEX_POINT('',#1987);
+#582=VERTEX_POINT('',#1989);
+#583=VERTEX_POINT('',#1991);
+#584=VERTEX_POINT('',#2019);
+#585=VERTEX_POINT('',#2020);
+#586=VERTEX_POINT('',#2027);
+#587=VERTEX_POINT('',#2038);
+#588=VERTEX_POINT('',#2039);
+#589=VERTEX_POINT('',#2044);
+#590=VERTEX_POINT('',#2046);
+#591=VERTEX_POINT('',#2048);
+#592=VERTEX_POINT('',#2050);
+#593=VERTEX_POINT('',#2052);
+#594=VERTEX_POINT('',#2054);
+#595=VERTEX_POINT('',#2057);
+#596=VERTEX_POINT('',#2060);
+#597=VERTEX_POINT('',#2070);
+#598=VERTEX_POINT('',#2074);
+#599=VERTEX_POINT('',#2078);
+#600=VERTEX_POINT('',#2082);
+#601=VERTEX_POINT('',#2086);
+#602=VERTEX_POINT('',#2088);
+#603=VERTEX_POINT('',#2189);
+#604=VERTEX_POINT('',#2190);
+#605=VERTEX_POINT('',#2192);
+#606=VERTEX_POINT('',#2207);
+#607=VERTEX_POINT('',#2212);
+#608=VERTEX_POINT('',#2214);
+#609=VERTEX_POINT('',#2296);
+#610=VERTEX_POINT('',#2298);
+#611=VERTEX_POINT('',#2300);
+#612=VERTEX_POINT('',#2302);
+#613=VERTEX_POINT('',#2304);
+#614=VERTEX_POINT('',#2307);
+#615=VERTEX_POINT('',#2309);
+#616=VERTEX_POINT('',#2311);
+#617=VERTEX_POINT('',#2314);
+#618=VERTEX_POINT('',#2316);
+#619=VERTEX_POINT('',#2319);
+#620=VERTEX_POINT('',#2321);
+#621=VERTEX_POINT('',#2467);
+#622=VERTEX_POINT('',#2470);
+#623=VERTEX_POINT('',#2472);
+#624=VERTEX_POINT('',#2478);
+#625=VERTEX_POINT('',#2480);
+#626=VERTEX_POINT('',#2483);
+#627=VERTEX_POINT('',#2484);
+#628=VERTEX_POINT('',#2486);
+#629=VERTEX_POINT('',#2488);
+#630=VERTEX_POINT('',#2490);
+#631=VERTEX_POINT('',#2492);
+#632=VERTEX_POINT('',#2494);
+#633=VERTEX_POINT('',#2507);
+#634=VERTEX_POINT('',#2508);
+#635=VERTEX_POINT('',#2513);
+#636=VERTEX_POINT('',#2519);
+#637=VERTEX_POINT('',#2527);
+#638=VERTEX_POINT('',#2531);
+#639=VERTEX_POINT('',#2535);
+#640=VERTEX_POINT('',#2536);
+#641=VERTEX_POINT('',#2538);
+#642=VERTEX_POINT('',#2540);
+#643=VERTEX_POINT('',#2545);
+#644=VERTEX_POINT('',#2551);
+#645=VERTEX_POINT('',#2552);
+#646=VERTEX_POINT('',#2554);
+#647=VERTEX_POINT('',#2556);
+#648=VERTEX_POINT('',#2560);
+#649=VERTEX_POINT('',#2562);
+#650=VERTEX_POINT('',#2569);
+#651=VERTEX_POINT('',#2571);
+#652=VERTEX_POINT('',#2573);
+#653=VERTEX_POINT('',#2575);
+#654=VERTEX_POINT('',#2577);
+#655=VERTEX_POINT('',#2579);
+#656=VERTEX_POINT('',#2583);
+#657=VERTEX_POINT('',#2587);
+#658=VERTEX_POINT('',#2591);
+#659=VERTEX_POINT('',#2593);
+#660=VERTEX_POINT('',#2595);
+#661=VERTEX_POINT('',#2611);
+#662=VERTEX_POINT('',#2620);
+#663=VERTEX_POINT('',#2621);
+#664=VERTEX_POINT('',#2623);
+#665=VERTEX_POINT('',#2625);
+#666=VERTEX_POINT('',#2629);
+#667=VERTEX_POINT('',#2631);
+#668=VERTEX_POINT('',#2635);
+#669=VERTEX_POINT('',#2636);
+#670=VERTEX_POINT('',#2638);
+#671=VERTEX_POINT('',#2640);
+#672=VERTEX_POINT('',#2644);
+#673=VERTEX_POINT('',#2646);
+#674=VERTEX_POINT('',#2648);
+#675=VERTEX_POINT('',#2650);
+#676=VERTEX_POINT('',#2652);
+#677=VERTEX_POINT('',#2654);
+#678=VERTEX_POINT('',#2658);
+#679=VERTEX_POINT('',#2659);
+#680=VERTEX_POINT('',#2664);
+#681=VERTEX_POINT('',#2671);
+#682=VERTEX_POINT('',#2675);
+#683=VERTEX_POINT('',#2679);
+#684=VERTEX_POINT('',#2683);
+#685=VERTEX_POINT('',#2687);
+#686=EDGE_CURVE('',#557,#558,#509,.T.);
+#687=EDGE_CURVE('',#558,#559,#257,.T.);
+#688=EDGE_CURVE('',#559,#560,#510,.T.);
+#689=EDGE_CURVE('',#560,#557,#258,.T.);
+#690=EDGE_CURVE('',#559,#561,#259,.T.);
+#691=EDGE_CURVE('',#561,#562,#260,.T.);
+#692=EDGE_CURVE('',#562,#563,#261,.T.);
+#693=EDGE_CURVE('',#563,#564,#262,.T.);
+#694=EDGE_CURVE('',#564,#565,#263,.T.);
+#695=EDGE_CURVE('',#565,#566,#264,.T.);
+#696=EDGE_CURVE('',#566,#567,#265,.T.);
+#697=EDGE_CURVE('',#567,#568,#266,.T.);
+#698=EDGE_CURVE('',#568,#569,#267,.T.);
+#699=EDGE_CURVE('',#569,#570,#268,.T.);
+#700=EDGE_CURVE('',#570,#571,#269,.T.);
+#701=EDGE_CURVE('',#571,#572,#270,.T.);
+#702=EDGE_CURVE('',#572,#573,#271,.T.);
+#703=EDGE_CURVE('',#573,#574,#511,.T.);
+#704=EDGE_CURVE('',#574,#560,#272,.T.);
+#705=EDGE_CURVE('',#575,#558,#273,.T.);
+#706=EDGE_CURVE('',#576,#575,#274,.T.);
+#707=EDGE_CURVE('',#576,#577,#275,.T.);
+#708=EDGE_CURVE('',#577,#578,#276,.T.);
+#709=EDGE_CURVE('',#578,#579,#277,.T.);
+#710=EDGE_CURVE('',#561,#579,#278,.T.);
+#711=EDGE_CURVE('',#580,#581,#512,.T.);
+#712=EDGE_CURVE('',#580,#582,#279,.T.);
+#713=EDGE_CURVE('',#582,#583,#513,.T.);
+#714=EDGE_CURVE('',#583,#581,#280,.T.);
+#715=EDGE_CURVE('',#584,#585,#514,.T.);
+#716=EDGE_CURVE('',#585,#583,#50,.T.);
+#717=EDGE_CURVE('',#582,#586,#51,.T.);
+#718=EDGE_CURVE('',#586,#584,#52,.T.);
+#719=EDGE_CURVE('',#587,#588,#515,.T.);
+#720=EDGE_CURVE('',#587,#585,#281,.T.);
+#721=EDGE_CURVE('',#584,#588,#282,.T.);
+#722=EDGE_CURVE('',#587,#589,#283,.T.);
+#723=EDGE_CURVE('',#590,#589,#284,.T.);
+#724=EDGE_CURVE('',#591,#590,#285,.T.);
+#725=EDGE_CURVE('',#592,#591,#516,.T.);
+#726=EDGE_CURVE('',#593,#592,#286,.T.);
+#727=EDGE_CURVE('',#594,#593,#287,.T.);
+#728=EDGE_CURVE('',#594,#581,#288,.T.);
+#729=EDGE_CURVE('',#595,#595,#517,.T.);
+#730=EDGE_CURVE('',#596,#588,#289,.T.);
+#731=EDGE_CURVE('',#577,#596,#290,.T.);
+#732=EDGE_CURVE('',#589,#576,#518,.T.);
+#733=EDGE_CURVE('',#561,#593,#21,.F.);
+#734=EDGE_CURVE('',#594,#579,#519,.F.);
+#735=EDGE_CURVE('',#575,#590,#22,.T.);
+#736=EDGE_CURVE('',#597,#592,#291,.T.);
+#737=EDGE_CURVE('',#597,#562,#292,.T.);
+#738=EDGE_CURVE('',#598,#591,#293,.T.);
+#739=EDGE_CURVE('',#597,#598,#520,.T.);
+#740=EDGE_CURVE('',#595,#599,#294,.T.);
+#741=EDGE_CURVE('',#599,#599,#521,.T.);
+#742=EDGE_CURVE('',#600,#575,#295,.T.);
+#743=EDGE_CURVE('',#598,#600,#296,.T.);
+#744=EDGE_CURVE('',#601,#601,#522,.T.);
+#745=EDGE_CURVE('',#601,#602,#297,.T.);
+#746=EDGE_CURVE('',#602,#602,#523,.T.);
+#747=EDGE_CURVE('',#603,#604,#23,.T.);
+#748=EDGE_CURVE('',#603,#605,#53,.T.);
+#749=EDGE_CURVE('',#605,#606,#54,.T.);
+#750=EDGE_CURVE('',#606,#607,#24,.T.);
+#751=EDGE_CURVE('',#607,#608,#55,.T.);
+#752=EDGE_CURVE('',#604,#608,#56,.T.);
+#753=EDGE_CURVE('',#608,#605,#25,.T.);
+#754=EDGE_CURVE('',#603,#604,#26,.T.);
+#755=EDGE_CURVE('',#606,#609,#298,.T.);
+#756=EDGE_CURVE('',#609,#610,#524,.T.);
+#757=EDGE_CURVE('',#611,#610,#299,.T.);
+#758=EDGE_CURVE('',#611,#612,#525,.T.);
+#759=EDGE_CURVE('',#613,#612,#526,.F.);
+#760=EDGE_CURVE('',#566,#613,#300,.T.);
+#761=EDGE_CURVE('',#614,#565,#301,.T.);
+#762=EDGE_CURVE('',#615,#614,#527,.F.);
+#763=EDGE_CURVE('',#615,#616,#528,.T.);
+#764=EDGE_CURVE('',#616,#607,#302,.T.);
+#765=EDGE_CURVE('',#617,#617,#529,.T.);
+#766=EDGE_CURVE('',#618,#618,#530,.T.);
+#767=EDGE_CURVE('',#619,#619,#531,.T.);
+#768=EDGE_CURVE('',#619,#620,#303,.T.);
+#769=EDGE_CURVE('',#604,#620,#27,.T.);
+#770=EDGE_CURVE('',#620,#603,#28,.T.);
+#771=EDGE_CURVE('',#582,#584,#29,.T.);
+#772=EDGE_CURVE('',#586,#620,#57,.T.);
+#773=EDGE_CURVE('',#580,#621,#304,.T.);
+#774=EDGE_CURVE('',#621,#596,#305,.T.);
+#775=EDGE_CURVE('',#622,#622,#532,.T.);
+#776=EDGE_CURVE('',#623,#623,#533,.T.);
+#777=EDGE_CURVE('',#621,#578,#306,.T.);
+#778=EDGE_CURVE('',#624,#624,#534,.T.);
+#779=EDGE_CURVE('',#625,#625,#535,.T.);
+#780=EDGE_CURVE('',#626,#627,#307,.T.);
+#781=EDGE_CURVE('',#628,#626,#308,.T.);
+#782=EDGE_CURVE('',#629,#628,#30,.T.);
+#783=EDGE_CURVE('',#630,#629,#309,.T.);
+#784=EDGE_CURVE('',#631,#630,#31,.T.);
+#785=EDGE_CURVE('',#632,#631,#32,.T.);
+#786=EDGE_CURVE('',#564,#632,#310,.T.);
+#787=EDGE_CURVE('',#627,#563,#311,.T.);
+#788=EDGE_CURVE('',#614,#632,#312,.T.);
+#789=EDGE_CURVE('',#631,#615,#313,.T.);
+#790=EDGE_CURVE('',#616,#630,#314,.T.);
+#791=EDGE_CURVE('',#609,#629,#315,.T.);
+#792=EDGE_CURVE('',#633,#634,#33,.T.);
+#793=EDGE_CURVE('',#634,#613,#316,.T.);
+#794=EDGE_CURVE('',#612,#633,#317,.T.);
+#795=EDGE_CURVE('',#611,#635,#318,.T.);
+#796=EDGE_CURVE('',#635,#633,#34,.T.);
+#797=EDGE_CURVE('',#567,#634,#319,.T.);
+#798=EDGE_CURVE('',#628,#636,#35,.T.);
+#799=EDGE_CURVE('',#610,#636,#320,.T.);
+#800=EDGE_CURVE('',#617,#623,#321,.T.);
+#801=EDGE_CURVE('',#618,#622,#322,.T.);
+#802=EDGE_CURVE('',#637,#637,#536,.T.);
+#803=EDGE_CURVE('',#637,#624,#323,.T.);
+#804=EDGE_CURVE('',#638,#638,#537,.T.);
+#805=EDGE_CURVE('',#638,#625,#324,.T.);
+#806=EDGE_CURVE('',#639,#640,#538,.T.);
+#807=EDGE_CURVE('',#640,#641,#325,.T.);
+#808=EDGE_CURVE('',#641,#642,#539,.F.);
+#809=EDGE_CURVE('',#642,#639,#326,.T.);
+#810=EDGE_CURVE('',#639,#569,#327,.T.);
+#811=EDGE_CURVE('',#568,#643,#328,.T.);
+#812=EDGE_CURVE('',#640,#643,#540,.T.);
+#813=EDGE_CURVE('',#642,#570,#329,.T.);
+#814=EDGE_CURVE('',#644,#645,#541,.T.);
+#815=EDGE_CURVE('',#645,#646,#330,.T.);
+#816=EDGE_CURVE('',#646,#647,#542,.F.);
+#817=EDGE_CURVE('',#647,#644,#331,.T.);
+#818=EDGE_CURVE('',#648,#647,#543,.T.);
+#819=EDGE_CURVE('',#649,#648,#332,.T.);
+#820=EDGE_CURVE('',#649,#644,#544,.T.);
+#821=EDGE_CURVE('',#572,#645,#333,.T.);
+#822=EDGE_CURVE('',#571,#646,#334,.T.);
+#823=EDGE_CURVE('',#649,#650,#335,.T.);
+#824=EDGE_CURVE('',#651,#650,#545,.T.);
+#825=EDGE_CURVE('',#652,#651,#336,.T.);
+#826=EDGE_CURVE('',#653,#652,#546,.T.);
+#827=EDGE_CURVE('',#653,#654,#337,.T.);
+#828=EDGE_CURVE('',#655,#654,#338,.T.);
+#829=EDGE_CURVE('',#573,#655,#339,.T.);
+#830=EDGE_CURVE('',#643,#656,#340,.T.);
+#831=EDGE_CURVE('',#641,#656,#547,.T.);
+#832=EDGE_CURVE('',#648,#657,#341,.T.);
+#833=EDGE_CURVE('',#650,#657,#342,.T.);
+#834=EDGE_CURVE('',#656,#658,#343,.T.);
+#835=EDGE_CURVE('',#658,#659,#548,.T.);
+#836=EDGE_CURVE('',#659,#660,#344,.T.);
+#837=EDGE_CURVE('',#660,#657,#549,.T.);
+#838=EDGE_CURVE('',#659,#652,#345,.T.);
+#839=EDGE_CURVE('',#653,#658,#346,.T.);
+#840=EDGE_CURVE('',#660,#651,#347,.T.);
+#841=EDGE_CURVE('',#635,#636,#348,.T.);
+#842=EDGE_CURVE('',#654,#626,#349,.T.);
+#843=EDGE_CURVE('',#643,#653,#350,.T.);
+#844=EDGE_CURVE('',#661,#655,#550,.T.);
+#845=EDGE_CURVE('',#574,#661,#351,.T.);
+#846=EDGE_CURVE('',#557,#661,#352,.T.);
+#847=EDGE_CURVE('',#627,#600,#353,.T.);
+#848=EDGE_CURVE('',#662,#663,#354,.T.);
+#849=EDGE_CURVE('',#662,#664,#355,.T.);
+#850=EDGE_CURVE('',#665,#664,#356,.T.);
+#851=EDGE_CURVE('',#663,#665,#357,.T.);
+#852=EDGE_CURVE('',#666,#662,#358,.T.);
+#853=EDGE_CURVE('',#667,#666,#359,.T.);
+#854=EDGE_CURVE('',#664,#667,#360,.T.);
+#855=EDGE_CURVE('',#668,#669,#361,.T.);
+#856=EDGE_CURVE('',#670,#668,#362,.T.);
+#857=EDGE_CURVE('',#671,#670,#551,.T.);
+#858=EDGE_CURVE('',#669,#671,#363,.T.);
+#859=EDGE_CURVE('',#663,#672,#364,.T.);
+#860=EDGE_CURVE('',#672,#673,#552,.T.);
+#861=EDGE_CURVE('',#673,#674,#365,.T.);
+#862=EDGE_CURVE('',#675,#674,#553,.T.);
+#863=EDGE_CURVE('',#675,#676,#366,.T.);
+#864=EDGE_CURVE('',#676,#677,#367,.T.);
+#865=EDGE_CURVE('',#677,#666,#368,.T.);
+#866=EDGE_CURVE('',#678,#679,#554,.T.);
+#867=EDGE_CURVE('',#679,#675,#369,.T.);
+#868=EDGE_CURVE('',#674,#678,#370,.T.);
+#869=EDGE_CURVE('',#680,#679,#371,.T.);
+#870=EDGE_CURVE('',#676,#680,#372,.T.);
+#871=EDGE_CURVE('',#676,#669,#36,.F.);
+#872=EDGE_CURVE('',#680,#668,#37,.T.);
+#873=EDGE_CURVE('',#681,#671,#373,.T.);
+#874=EDGE_CURVE('',#681,#677,#374,.T.);
+#875=EDGE_CURVE('',#682,#670,#375,.T.);
+#876=EDGE_CURVE('',#681,#682,#555,.T.);
+#877=EDGE_CURVE('',#683,#680,#376,.T.);
+#878=EDGE_CURVE('',#682,#683,#377,.T.);
+#879=EDGE_CURVE('',#684,#665,#378,.T.);
+#880=EDGE_CURVE('',#672,#684,#379,.T.);
+#881=EDGE_CURVE('',#685,#684,#556,.T.);
+#882=EDGE_CURVE('',#673,#685,#380,.T.);
+#883=EDGE_CURVE('',#678,#685,#381,.T.);
+#884=EDGE_CURVE('',#667,#683,#382,.T.);
+#885=ORIENTED_EDGE('',*,*,#686,.T.);
+#886=ORIENTED_EDGE('',*,*,#687,.T.);
+#887=ORIENTED_EDGE('',*,*,#688,.T.);
+#888=ORIENTED_EDGE('',*,*,#689,.T.);
+#889=ORIENTED_EDGE('',*,*,#688,.F.);
+#890=ORIENTED_EDGE('',*,*,#690,.T.);
+#891=ORIENTED_EDGE('',*,*,#691,.T.);
+#892=ORIENTED_EDGE('',*,*,#692,.T.);
+#893=ORIENTED_EDGE('',*,*,#693,.T.);
+#894=ORIENTED_EDGE('',*,*,#694,.T.);
+#895=ORIENTED_EDGE('',*,*,#695,.T.);
+#896=ORIENTED_EDGE('',*,*,#696,.T.);
+#897=ORIENTED_EDGE('',*,*,#697,.T.);
+#898=ORIENTED_EDGE('',*,*,#698,.T.);
+#899=ORIENTED_EDGE('',*,*,#699,.T.);
+#900=ORIENTED_EDGE('',*,*,#700,.T.);
+#901=ORIENTED_EDGE('',*,*,#701,.T.);
+#902=ORIENTED_EDGE('',*,*,#702,.T.);
+#903=ORIENTED_EDGE('',*,*,#703,.T.);
+#904=ORIENTED_EDGE('',*,*,#704,.T.);
+#905=ORIENTED_EDGE('',*,*,#687,.F.);
+#906=ORIENTED_EDGE('',*,*,#705,.F.);
+#907=ORIENTED_EDGE('',*,*,#706,.F.);
+#908=ORIENTED_EDGE('',*,*,#707,.T.);
+#909=ORIENTED_EDGE('',*,*,#708,.T.);
+#910=ORIENTED_EDGE('',*,*,#709,.T.);
+#911=ORIENTED_EDGE('',*,*,#710,.F.);
+#912=ORIENTED_EDGE('',*,*,#690,.F.);
+#913=ORIENTED_EDGE('',*,*,#711,.F.);
+#914=ORIENTED_EDGE('',*,*,#712,.T.);
+#915=ORIENTED_EDGE('',*,*,#713,.T.);
+#916=ORIENTED_EDGE('',*,*,#714,.T.);
+#917=ORIENTED_EDGE('',*,*,#715,.T.);
+#918=ORIENTED_EDGE('',*,*,#716,.T.);
+#919=ORIENTED_EDGE('',*,*,#713,.F.);
+#920=ORIENTED_EDGE('',*,*,#717,.T.);
+#921=ORIENTED_EDGE('',*,*,#718,.T.);
+#922=ORIENTED_EDGE('',*,*,#719,.F.);
+#923=ORIENTED_EDGE('',*,*,#720,.T.);
+#924=ORIENTED_EDGE('',*,*,#715,.F.);
+#925=ORIENTED_EDGE('',*,*,#721,.T.);
+#926=ORIENTED_EDGE('',*,*,#714,.F.);
+#927=ORIENTED_EDGE('',*,*,#716,.F.);
+#928=ORIENTED_EDGE('',*,*,#720,.F.);
+#929=ORIENTED_EDGE('',*,*,#722,.T.);
+#930=ORIENTED_EDGE('',*,*,#723,.F.);
+#931=ORIENTED_EDGE('',*,*,#724,.F.);
+#932=ORIENTED_EDGE('',*,*,#725,.F.);
+#933=ORIENTED_EDGE('',*,*,#726,.F.);
+#934=ORIENTED_EDGE('',*,*,#727,.F.);
+#935=ORIENTED_EDGE('',*,*,#728,.T.);
+#936=ORIENTED_EDGE('',*,*,#729,.F.);
+#937=ORIENTED_EDGE('',*,*,#719,.T.);
+#938=ORIENTED_EDGE('',*,*,#730,.F.);
+#939=ORIENTED_EDGE('',*,*,#731,.F.);
+#940=ORIENTED_EDGE('',*,*,#707,.F.);
+#941=ORIENTED_EDGE('',*,*,#732,.F.);
+#942=ORIENTED_EDGE('',*,*,#722,.F.);
+#943=ORIENTED_EDGE('',*,*,#733,.F.);
+#944=ORIENTED_EDGE('',*,*,#710,.T.);
+#945=ORIENTED_EDGE('',*,*,#734,.F.);
+#946=ORIENTED_EDGE('',*,*,#727,.T.);
+#947=ORIENTED_EDGE('',*,*,#735,.T.);
+#948=ORIENTED_EDGE('',*,*,#723,.T.);
+#949=ORIENTED_EDGE('',*,*,#732,.T.);
+#950=ORIENTED_EDGE('',*,*,#706,.T.);
+#951=ORIENTED_EDGE('',*,*,#726,.T.);
+#952=ORIENTED_EDGE('',*,*,#736,.F.);
+#953=ORIENTED_EDGE('',*,*,#737,.T.);
+#954=ORIENTED_EDGE('',*,*,#691,.F.);
+#955=ORIENTED_EDGE('',*,*,#733,.T.);
+#956=ORIENTED_EDGE('',*,*,#725,.T.);
+#957=ORIENTED_EDGE('',*,*,#738,.F.);
+#958=ORIENTED_EDGE('',*,*,#739,.F.);
+#959=ORIENTED_EDGE('',*,*,#736,.T.);
+#960=ORIENTED_EDGE('',*,*,#729,.T.);
+#961=ORIENTED_EDGE('',*,*,#740,.T.);
+#962=ORIENTED_EDGE('',*,*,#741,.F.);
+#963=ORIENTED_EDGE('',*,*,#740,.F.);
+#964=ORIENTED_EDGE('',*,*,#724,.T.);
+#965=ORIENTED_EDGE('',*,*,#735,.F.);
+#966=ORIENTED_EDGE('',*,*,#742,.F.);
+#967=ORIENTED_EDGE('',*,*,#743,.F.);
+#968=ORIENTED_EDGE('',*,*,#738,.T.);
+#969=ORIENTED_EDGE('',*,*,#744,.F.);
+#970=ORIENTED_EDGE('',*,*,#745,.T.);
+#971=ORIENTED_EDGE('',*,*,#746,.F.);
+#972=ORIENTED_EDGE('',*,*,#745,.F.);
+#973=ORIENTED_EDGE('',*,*,#747,.F.);
+#974=ORIENTED_EDGE('',*,*,#748,.T.);
+#975=ORIENTED_EDGE('',*,*,#749,.T.);
+#976=ORIENTED_EDGE('',*,*,#750,.T.);
+#977=ORIENTED_EDGE('',*,*,#751,.T.);
+#978=ORIENTED_EDGE('',*,*,#752,.F.);
+#979=ORIENTED_EDGE('',*,*,#753,.T.);
+#980=ORIENTED_EDGE('',*,*,#748,.F.);
+#981=ORIENTED_EDGE('',*,*,#754,.T.);
+#982=ORIENTED_EDGE('',*,*,#752,.T.);
+#983=ORIENTED_EDGE('',*,*,#750,.F.);
+#984=ORIENTED_EDGE('',*,*,#755,.T.);
+#985=ORIENTED_EDGE('',*,*,#756,.T.);
+#986=ORIENTED_EDGE('',*,*,#757,.F.);
+#987=ORIENTED_EDGE('',*,*,#758,.T.);
+#988=ORIENTED_EDGE('',*,*,#759,.F.);
+#989=ORIENTED_EDGE('',*,*,#760,.F.);
+#990=ORIENTED_EDGE('',*,*,#695,.F.);
+#991=ORIENTED_EDGE('',*,*,#761,.F.);
+#992=ORIENTED_EDGE('',*,*,#762,.F.);
+#993=ORIENTED_EDGE('',*,*,#763,.T.);
+#994=ORIENTED_EDGE('',*,*,#764,.T.);
+#995=ORIENTED_EDGE('',*,*,#765,.T.);
+#996=ORIENTED_EDGE('',*,*,#766,.T.);
+#997=ORIENTED_EDGE('',*,*,#767,.T.);
+#998=ORIENTED_EDGE('',*,*,#768,.T.);
+#999=ORIENTED_EDGE('',*,*,#769,.F.);
+#1000=ORIENTED_EDGE('',*,*,#754,.F.);
+#1001=ORIENTED_EDGE('',*,*,#770,.F.);
+#1002=ORIENTED_EDGE('',*,*,#768,.F.);
+#1003=ORIENTED_EDGE('',*,*,#717,.F.);
+#1004=ORIENTED_EDGE('',*,*,#771,.T.);
+#1005=ORIENTED_EDGE('',*,*,#718,.F.);
+#1006=ORIENTED_EDGE('',*,*,#772,.T.);
+#1007=ORIENTED_EDGE('',*,*,#770,.T.);
+#1008=ORIENTED_EDGE('',*,*,#747,.T.);
+#1009=ORIENTED_EDGE('',*,*,#769,.T.);
+#1010=ORIENTED_EDGE('',*,*,#772,.F.);
+#1011=ORIENTED_EDGE('',*,*,#712,.F.);
+#1012=ORIENTED_EDGE('',*,*,#773,.T.);
+#1013=ORIENTED_EDGE('',*,*,#774,.T.);
+#1014=ORIENTED_EDGE('',*,*,#730,.T.);
+#1015=ORIENTED_EDGE('',*,*,#721,.F.);
+#1016=ORIENTED_EDGE('',*,*,#771,.F.);
+#1017=ORIENTED_EDGE('',*,*,#775,.F.);
+#1018=ORIENTED_EDGE('',*,*,#776,.F.);
+#1019=ORIENTED_EDGE('',*,*,#767,.F.);
+#1020=ORIENTED_EDGE('',*,*,#744,.T.);
+#1021=ORIENTED_EDGE('',*,*,#711,.T.);
+#1022=ORIENTED_EDGE('',*,*,#728,.F.);
+#1023=ORIENTED_EDGE('',*,*,#734,.T.);
+#1024=ORIENTED_EDGE('',*,*,#709,.F.);
+#1025=ORIENTED_EDGE('',*,*,#777,.F.);
+#1026=ORIENTED_EDGE('',*,*,#773,.F.);
+#1027=ORIENTED_EDGE('',*,*,#774,.F.);
+#1028=ORIENTED_EDGE('',*,*,#777,.T.);
+#1029=ORIENTED_EDGE('',*,*,#708,.F.);
+#1030=ORIENTED_EDGE('',*,*,#731,.T.);
+#1031=ORIENTED_EDGE('',*,*,#778,.F.);
+#1032=ORIENTED_EDGE('',*,*,#779,.F.);
+#1033=ORIENTED_EDGE('',*,*,#780,.F.);
+#1034=ORIENTED_EDGE('',*,*,#781,.F.);
+#1035=ORIENTED_EDGE('',*,*,#782,.F.);
+#1036=ORIENTED_EDGE('',*,*,#783,.F.);
+#1037=ORIENTED_EDGE('',*,*,#784,.F.);
+#1038=ORIENTED_EDGE('',*,*,#785,.F.);
+#1039=ORIENTED_EDGE('',*,*,#786,.F.);
+#1040=ORIENTED_EDGE('',*,*,#693,.F.);
+#1041=ORIENTED_EDGE('',*,*,#787,.F.);
+#1042=ORIENTED_EDGE('',*,*,#786,.T.);
+#1043=ORIENTED_EDGE('',*,*,#788,.F.);
+#1044=ORIENTED_EDGE('',*,*,#761,.T.);
+#1045=ORIENTED_EDGE('',*,*,#694,.F.);
+#1046=ORIENTED_EDGE('',*,*,#785,.T.);
+#1047=ORIENTED_EDGE('',*,*,#789,.T.);
+#1048=ORIENTED_EDGE('',*,*,#762,.T.);
+#1049=ORIENTED_EDGE('',*,*,#788,.T.);
+#1050=ORIENTED_EDGE('',*,*,#784,.T.);
+#1051=ORIENTED_EDGE('',*,*,#790,.F.);
+#1052=ORIENTED_EDGE('',*,*,#763,.F.);
+#1053=ORIENTED_EDGE('',*,*,#789,.F.);
+#1054=ORIENTED_EDGE('',*,*,#753,.F.);
+#1055=ORIENTED_EDGE('',*,*,#751,.F.);
+#1056=ORIENTED_EDGE('',*,*,#764,.F.);
+#1057=ORIENTED_EDGE('',*,*,#790,.T.);
+#1058=ORIENTED_EDGE('',*,*,#783,.T.);
+#1059=ORIENTED_EDGE('',*,*,#791,.F.);
+#1060=ORIENTED_EDGE('',*,*,#755,.F.);
+#1061=ORIENTED_EDGE('',*,*,#749,.F.);
+#1062=ORIENTED_EDGE('',*,*,#792,.T.);
+#1063=ORIENTED_EDGE('',*,*,#793,.T.);
+#1064=ORIENTED_EDGE('',*,*,#759,.T.);
+#1065=ORIENTED_EDGE('',*,*,#794,.T.);
+#1066=ORIENTED_EDGE('',*,*,#794,.F.);
+#1067=ORIENTED_EDGE('',*,*,#758,.F.);
+#1068=ORIENTED_EDGE('',*,*,#795,.T.);
+#1069=ORIENTED_EDGE('',*,*,#796,.T.);
+#1070=ORIENTED_EDGE('',*,*,#793,.F.);
+#1071=ORIENTED_EDGE('',*,*,#797,.F.);
+#1072=ORIENTED_EDGE('',*,*,#696,.F.);
+#1073=ORIENTED_EDGE('',*,*,#760,.T.);
+#1074=ORIENTED_EDGE('',*,*,#782,.T.);
+#1075=ORIENTED_EDGE('',*,*,#798,.T.);
+#1076=ORIENTED_EDGE('',*,*,#799,.F.);
+#1077=ORIENTED_EDGE('',*,*,#756,.F.);
+#1078=ORIENTED_EDGE('',*,*,#791,.T.);
+#1079=ORIENTED_EDGE('',*,*,#765,.F.);
+#1080=ORIENTED_EDGE('',*,*,#800,.T.);
+#1081=ORIENTED_EDGE('',*,*,#776,.T.);
+#1082=ORIENTED_EDGE('',*,*,#800,.F.);
+#1083=ORIENTED_EDGE('',*,*,#766,.F.);
+#1084=ORIENTED_EDGE('',*,*,#801,.T.);
+#1085=ORIENTED_EDGE('',*,*,#775,.T.);
+#1086=ORIENTED_EDGE('',*,*,#801,.F.);
+#1087=ORIENTED_EDGE('',*,*,#802,.F.);
+#1088=ORIENTED_EDGE('',*,*,#803,.T.);
+#1089=ORIENTED_EDGE('',*,*,#778,.T.);
+#1090=ORIENTED_EDGE('',*,*,#803,.F.);
+#1091=ORIENTED_EDGE('',*,*,#804,.F.);
+#1092=ORIENTED_EDGE('',*,*,#805,.T.);
+#1093=ORIENTED_EDGE('',*,*,#779,.T.);
+#1094=ORIENTED_EDGE('',*,*,#805,.F.);
+#1095=ORIENTED_EDGE('',*,*,#806,.T.);
+#1096=ORIENTED_EDGE('',*,*,#807,.T.);
+#1097=ORIENTED_EDGE('',*,*,#808,.T.);
+#1098=ORIENTED_EDGE('',*,*,#809,.T.);
+#1099=ORIENTED_EDGE('',*,*,#806,.F.);
+#1100=ORIENTED_EDGE('',*,*,#810,.T.);
+#1101=ORIENTED_EDGE('',*,*,#698,.F.);
+#1102=ORIENTED_EDGE('',*,*,#811,.T.);
+#1103=ORIENTED_EDGE('',*,*,#812,.F.);
+#1104=ORIENTED_EDGE('',*,*,#809,.F.);
+#1105=ORIENTED_EDGE('',*,*,#813,.T.);
+#1106=ORIENTED_EDGE('',*,*,#699,.F.);
+#1107=ORIENTED_EDGE('',*,*,#810,.F.);
+#1108=ORIENTED_EDGE('',*,*,#814,.T.);
+#1109=ORIENTED_EDGE('',*,*,#815,.T.);
+#1110=ORIENTED_EDGE('',*,*,#816,.T.);
+#1111=ORIENTED_EDGE('',*,*,#817,.T.);
+#1112=ORIENTED_EDGE('',*,*,#817,.F.);
+#1113=ORIENTED_EDGE('',*,*,#818,.F.);
+#1114=ORIENTED_EDGE('',*,*,#819,.F.);
+#1115=ORIENTED_EDGE('',*,*,#820,.T.);
+#1116=ORIENTED_EDGE('',*,*,#815,.F.);
+#1117=ORIENTED_EDGE('',*,*,#821,.F.);
+#1118=ORIENTED_EDGE('',*,*,#701,.F.);
+#1119=ORIENTED_EDGE('',*,*,#822,.T.);
+#1120=ORIENTED_EDGE('',*,*,#814,.F.);
+#1121=ORIENTED_EDGE('',*,*,#820,.F.);
+#1122=ORIENTED_EDGE('',*,*,#823,.T.);
+#1123=ORIENTED_EDGE('',*,*,#824,.F.);
+#1124=ORIENTED_EDGE('',*,*,#825,.F.);
+#1125=ORIENTED_EDGE('',*,*,#826,.F.);
+#1126=ORIENTED_EDGE('',*,*,#827,.T.);
+#1127=ORIENTED_EDGE('',*,*,#828,.F.);
+#1128=ORIENTED_EDGE('',*,*,#829,.F.);
+#1129=ORIENTED_EDGE('',*,*,#702,.F.);
+#1130=ORIENTED_EDGE('',*,*,#821,.T.);
+#1131=ORIENTED_EDGE('',*,*,#807,.F.);
+#1132=ORIENTED_EDGE('',*,*,#812,.T.);
+#1133=ORIENTED_EDGE('',*,*,#830,.T.);
+#1134=ORIENTED_EDGE('',*,*,#831,.F.);
+#1135=ORIENTED_EDGE('',*,*,#819,.T.);
+#1136=ORIENTED_EDGE('',*,*,#832,.T.);
+#1137=ORIENTED_EDGE('',*,*,#833,.F.);
+#1138=ORIENTED_EDGE('',*,*,#823,.F.);
+#1139=ORIENTED_EDGE('',*,*,#818,.T.);
+#1140=ORIENTED_EDGE('',*,*,#816,.F.);
+#1141=ORIENTED_EDGE('',*,*,#822,.F.);
+#1142=ORIENTED_EDGE('',*,*,#700,.F.);
+#1143=ORIENTED_EDGE('',*,*,#813,.F.);
+#1144=ORIENTED_EDGE('',*,*,#808,.F.);
+#1145=ORIENTED_EDGE('',*,*,#831,.T.);
+#1146=ORIENTED_EDGE('',*,*,#834,.T.);
+#1147=ORIENTED_EDGE('',*,*,#835,.T.);
+#1148=ORIENTED_EDGE('',*,*,#836,.T.);
+#1149=ORIENTED_EDGE('',*,*,#837,.T.);
+#1150=ORIENTED_EDGE('',*,*,#832,.F.);
+#1151=ORIENTED_EDGE('',*,*,#802,.T.);
+#1152=ORIENTED_EDGE('',*,*,#804,.T.);
+#1153=ORIENTED_EDGE('',*,*,#826,.T.);
+#1154=ORIENTED_EDGE('',*,*,#838,.F.);
+#1155=ORIENTED_EDGE('',*,*,#835,.F.);
+#1156=ORIENTED_EDGE('',*,*,#839,.F.);
+#1157=ORIENTED_EDGE('',*,*,#825,.T.);
+#1158=ORIENTED_EDGE('',*,*,#840,.F.);
+#1159=ORIENTED_EDGE('',*,*,#836,.F.);
+#1160=ORIENTED_EDGE('',*,*,#838,.T.);
+#1161=ORIENTED_EDGE('',*,*,#824,.T.);
+#1162=ORIENTED_EDGE('',*,*,#833,.T.);
+#1163=ORIENTED_EDGE('',*,*,#837,.F.);
+#1164=ORIENTED_EDGE('',*,*,#840,.T.);
+#1165=ORIENTED_EDGE('',*,*,#795,.F.);
+#1166=ORIENTED_EDGE('',*,*,#757,.T.);
+#1167=ORIENTED_EDGE('',*,*,#799,.T.);
+#1168=ORIENTED_EDGE('',*,*,#841,.F.);
+#1169=ORIENTED_EDGE('',*,*,#781,.T.);
+#1170=ORIENTED_EDGE('',*,*,#842,.F.);
+#1171=ORIENTED_EDGE('',*,*,#827,.F.);
+#1172=ORIENTED_EDGE('',*,*,#843,.F.);
+#1173=ORIENTED_EDGE('',*,*,#811,.F.);
+#1174=ORIENTED_EDGE('',*,*,#697,.F.);
+#1175=ORIENTED_EDGE('',*,*,#797,.T.);
+#1176=ORIENTED_EDGE('',*,*,#792,.F.);
+#1177=ORIENTED_EDGE('',*,*,#796,.F.);
+#1178=ORIENTED_EDGE('',*,*,#841,.T.);
+#1179=ORIENTED_EDGE('',*,*,#798,.F.);
+#1180=ORIENTED_EDGE('',*,*,#830,.F.);
+#1181=ORIENTED_EDGE('',*,*,#843,.T.);
+#1182=ORIENTED_EDGE('',*,*,#839,.T.);
+#1183=ORIENTED_EDGE('',*,*,#834,.F.);
+#1184=ORIENTED_EDGE('',*,*,#829,.T.);
+#1185=ORIENTED_EDGE('',*,*,#844,.F.);
+#1186=ORIENTED_EDGE('',*,*,#845,.F.);
+#1187=ORIENTED_EDGE('',*,*,#703,.F.);
+#1188=ORIENTED_EDGE('',*,*,#689,.F.);
+#1189=ORIENTED_EDGE('',*,*,#704,.F.);
+#1190=ORIENTED_EDGE('',*,*,#845,.T.);
+#1191=ORIENTED_EDGE('',*,*,#846,.F.);
+#1192=ORIENTED_EDGE('',*,*,#787,.T.);
+#1193=ORIENTED_EDGE('',*,*,#692,.F.);
+#1194=ORIENTED_EDGE('',*,*,#737,.F.);
+#1195=ORIENTED_EDGE('',*,*,#739,.T.);
+#1196=ORIENTED_EDGE('',*,*,#743,.T.);
+#1197=ORIENTED_EDGE('',*,*,#847,.F.);
+#1198=ORIENTED_EDGE('',*,*,#741,.T.);
+#1199=ORIENTED_EDGE('',*,*,#746,.T.);
+#1200=ORIENTED_EDGE('',*,*,#686,.F.);
+#1201=ORIENTED_EDGE('',*,*,#846,.T.);
+#1202=ORIENTED_EDGE('',*,*,#844,.T.);
+#1203=ORIENTED_EDGE('',*,*,#828,.T.);
+#1204=ORIENTED_EDGE('',*,*,#842,.T.);
+#1205=ORIENTED_EDGE('',*,*,#780,.T.);
+#1206=ORIENTED_EDGE('',*,*,#847,.T.);
+#1207=ORIENTED_EDGE('',*,*,#742,.T.);
+#1208=ORIENTED_EDGE('',*,*,#705,.T.);
+#1209=ORIENTED_EDGE('',*,*,#848,.F.);
+#1210=ORIENTED_EDGE('',*,*,#849,.T.);
+#1211=ORIENTED_EDGE('',*,*,#850,.F.);
+#1212=ORIENTED_EDGE('',*,*,#851,.F.);
+#1213=ORIENTED_EDGE('',*,*,#849,.F.);
+#1214=ORIENTED_EDGE('',*,*,#852,.F.);
+#1215=ORIENTED_EDGE('',*,*,#853,.F.);
+#1216=ORIENTED_EDGE('',*,*,#854,.F.);
+#1217=ORIENTED_EDGE('',*,*,#855,.F.);
+#1218=ORIENTED_EDGE('',*,*,#856,.F.);
+#1219=ORIENTED_EDGE('',*,*,#857,.F.);
+#1220=ORIENTED_EDGE('',*,*,#858,.F.);
+#1221=ORIENTED_EDGE('',*,*,#848,.T.);
+#1222=ORIENTED_EDGE('',*,*,#859,.T.);
+#1223=ORIENTED_EDGE('',*,*,#860,.T.);
+#1224=ORIENTED_EDGE('',*,*,#861,.T.);
+#1225=ORIENTED_EDGE('',*,*,#862,.F.);
+#1226=ORIENTED_EDGE('',*,*,#863,.T.);
+#1227=ORIENTED_EDGE('',*,*,#864,.T.);
+#1228=ORIENTED_EDGE('',*,*,#865,.T.);
+#1229=ORIENTED_EDGE('',*,*,#852,.T.);
+#1230=ORIENTED_EDGE('',*,*,#866,.T.);
+#1231=ORIENTED_EDGE('',*,*,#867,.T.);
+#1232=ORIENTED_EDGE('',*,*,#862,.T.);
+#1233=ORIENTED_EDGE('',*,*,#868,.T.);
+#1234=ORIENTED_EDGE('',*,*,#867,.F.);
+#1235=ORIENTED_EDGE('',*,*,#869,.F.);
+#1236=ORIENTED_EDGE('',*,*,#870,.F.);
+#1237=ORIENTED_EDGE('',*,*,#863,.F.);
+#1238=ORIENTED_EDGE('',*,*,#871,.F.);
+#1239=ORIENTED_EDGE('',*,*,#870,.T.);
+#1240=ORIENTED_EDGE('',*,*,#872,.T.);
+#1241=ORIENTED_EDGE('',*,*,#855,.T.);
+#1242=ORIENTED_EDGE('',*,*,#858,.T.);
+#1243=ORIENTED_EDGE('',*,*,#873,.F.);
+#1244=ORIENTED_EDGE('',*,*,#874,.T.);
+#1245=ORIENTED_EDGE('',*,*,#864,.F.);
+#1246=ORIENTED_EDGE('',*,*,#871,.T.);
+#1247=ORIENTED_EDGE('',*,*,#857,.T.);
+#1248=ORIENTED_EDGE('',*,*,#875,.F.);
+#1249=ORIENTED_EDGE('',*,*,#876,.F.);
+#1250=ORIENTED_EDGE('',*,*,#873,.T.);
+#1251=ORIENTED_EDGE('',*,*,#856,.T.);
+#1252=ORIENTED_EDGE('',*,*,#872,.F.);
+#1253=ORIENTED_EDGE('',*,*,#877,.F.);
+#1254=ORIENTED_EDGE('',*,*,#878,.F.);
+#1255=ORIENTED_EDGE('',*,*,#875,.T.);
+#1256=ORIENTED_EDGE('',*,*,#859,.F.);
+#1257=ORIENTED_EDGE('',*,*,#851,.T.);
+#1258=ORIENTED_EDGE('',*,*,#879,.F.);
+#1259=ORIENTED_EDGE('',*,*,#880,.F.);
+#1260=ORIENTED_EDGE('',*,*,#880,.T.);
+#1261=ORIENTED_EDGE('',*,*,#881,.F.);
+#1262=ORIENTED_EDGE('',*,*,#882,.F.);
+#1263=ORIENTED_EDGE('',*,*,#860,.F.);
+#1264=ORIENTED_EDGE('',*,*,#868,.F.);
+#1265=ORIENTED_EDGE('',*,*,#861,.F.);
+#1266=ORIENTED_EDGE('',*,*,#882,.T.);
+#1267=ORIENTED_EDGE('',*,*,#883,.F.);
+#1268=ORIENTED_EDGE('',*,*,#853,.T.);
+#1269=ORIENTED_EDGE('',*,*,#865,.F.);
+#1270=ORIENTED_EDGE('',*,*,#874,.F.);
+#1271=ORIENTED_EDGE('',*,*,#876,.T.);
+#1272=ORIENTED_EDGE('',*,*,#878,.T.);
+#1273=ORIENTED_EDGE('',*,*,#884,.F.);
+#1274=ORIENTED_EDGE('',*,*,#866,.F.);
+#1275=ORIENTED_EDGE('',*,*,#883,.T.);
+#1276=ORIENTED_EDGE('',*,*,#881,.T.);
+#1277=ORIENTED_EDGE('',*,*,#879,.T.);
+#1278=ORIENTED_EDGE('',*,*,#850,.T.);
+#1279=ORIENTED_EDGE('',*,*,#854,.T.);
+#1280=ORIENTED_EDGE('',*,*,#884,.T.);
+#1281=ORIENTED_EDGE('',*,*,#877,.T.);
+#1282=ORIENTED_EDGE('',*,*,#869,.T.);
+#1283=CYLINDRICAL_SURFACE('',#1400,3.);
+#1284=CYLINDRICAL_SURFACE('',#1406,1.);
+#1285=CYLINDRICAL_SURFACE('',#1410,1.);
+#1286=CYLINDRICAL_SURFACE('',#1417,10.);
+#1287=CYLINDRICAL_SURFACE('',#1420,10.);
+#1288=CYLINDRICAL_SURFACE('',#1423,15.);
+#1289=CYLINDRICAL_SURFACE('',#1425,2.75);
+#1290=CYLINDRICAL_SURFACE('',#1428,2.74999999999999);
+#1291=CYLINDRICAL_SURFACE('',#1443,5.);
+#1292=CYLINDRICAL_SURFACE('',#1461,1.);
+#1293=CYLINDRICAL_SURFACE('',#1462,12.49984999932);
+#1294=CYLINDRICAL_SURFACE('',#1464,1.);
+#1295=CYLINDRICAL_SURFACE('',#1466,12.49984999932);
+#1296=CYLINDRICAL_SURFACE('',#1469,12.49984999932);
+#1297=CYLINDRICAL_SURFACE('',#1471,1.6);
+#1298=CYLINDRICAL_SURFACE('',#1472,1.6);
+#1299=CYLINDRICAL_SURFACE('',#1473,1.6);
+#1300=CYLINDRICAL_SURFACE('',#1475,1.6);
+#1301=CYLINDRICAL_SURFACE('',#1477,1.);
+#1302=CYLINDRICAL_SURFACE('',#1483,1.);
+#1303=CYLINDRICAL_SURFACE('',#1486,5.49995495031771);
+#1304=CYLINDRICAL_SURFACE('',#1493,5.49995495298887);
+#1305=CYLINDRICAL_SURFACE('',#1499,5.49995495298887);
+#1306=CYLINDRICAL_SURFACE('',#1501,5.49995495031771);
+#1307=CYLINDRICAL_SURFACE('',#1505,2.00000000000003);
+#1308=CYLINDRICAL_SURFACE('',#1517,3.);
+#1309=CYLINDRICAL_SURFACE('',#1520,10.);
+#1310=CYLINDRICAL_SURFACE('',#1524,15.);
+#1311=CYLINDRICAL_SURFACE('',#1528,2.00000000000003);
+#1312=ADVANCED_FACE('',(#101),#1283,.T.);
+#1313=ADVANCED_FACE('',(#102),#62,.F.);
+#1314=ADVANCED_FACE('',(#103),#63,.T.);
+#1315=ADVANCED_FACE('',(#104),#1284,.F.);
+#1316=ADVANCED_FACE('',(#105),#58,.T.);
+#1317=ADVANCED_FACE('',(#106),#1285,.F.);
+#1318=ADVANCED_FACE('',(#107,#38),#64,.T.);
+#1319=ADVANCED_FACE('',(#108),#65,.F.);
+#1320=ADVANCED_FACE('',(#109),#1286,.F.);
+#1321=ADVANCED_FACE('',(#110),#1287,.F.);
+#1322=ADVANCED_FACE('',(#111),#66,.T.);
+#1323=ADVANCED_FACE('',(#112),#1288,.T.);
+#1324=ADVANCED_FACE('',(#113),#1289,.F.);
+#1325=ADVANCED_FACE('',(#114),#67,.T.);
+#1326=ADVANCED_FACE('',(#115),#1290,.F.);
+#1327=ADVANCED_FACE('',(#116),#59,.F.);
+#1328=ADVANCED_FACE('',(#117),#60,.F.);
+#1329=ADVANCED_FACE('',(#118,#39,#40),#68,.T.);
+#1330=ADVANCED_FACE('',(#119),#1291,.F.);
+#1331=ADVANCED_FACE('',(#120),#61,.F.);
+#1332=ADVANCED_FACE('',(#121,#41,#42),#69,.F.);
+#1333=ADVANCED_FACE('',(#122,#43),#70,.F.);
+#1334=ADVANCED_FACE('',(#123),#71,.F.);
+#1335=ADVANCED_FACE('',(#124,#44,#45),#72,.F.);
+#1336=ADVANCED_FACE('',(#125),#73,.F.);
+#1337=ADVANCED_FACE('',(#126),#74,.F.);
+#1338=ADVANCED_FACE('',(#127),#1292,.T.);
+#1339=ADVANCED_FACE('',(#128),#1293,.F.);
+#1340=ADVANCED_FACE('',(#129),#75,.T.);
+#1341=ADVANCED_FACE('',(#130),#1294,.T.);
+#1342=ADVANCED_FACE('',(#131),#1295,.F.);
+#1343=ADVANCED_FACE('',(#132),#76,.F.);
+#1344=ADVANCED_FACE('',(#133),#1296,.F.);
+#1345=ADVANCED_FACE('',(#134),#1297,.F.);
+#1346=ADVANCED_FACE('',(#135),#1298,.F.);
+#1347=ADVANCED_FACE('',(#136),#1299,.F.);
+#1348=ADVANCED_FACE('',(#137),#1300,.F.);
+#1349=ADVANCED_FACE('',(#138),#1301,.T.);
+#1350=ADVANCED_FACE('',(#139),#77,.T.);
+#1351=ADVANCED_FACE('',(#140),#78,.F.);
+#1352=ADVANCED_FACE('',(#141),#1302,.T.);
+#1353=ADVANCED_FACE('',(#142),#1303,.F.);
+#1354=ADVANCED_FACE('',(#143),#79,.F.);
+#1355=ADVANCED_FACE('',(#144),#80,.T.);
+#1356=ADVANCED_FACE('',(#145),#1304,.F.);
+#1357=ADVANCED_FACE('',(#146),#81,.T.);
+#1358=ADVANCED_FACE('',(#147,#46,#47),#82,.T.);
+#1359=ADVANCED_FACE('',(#148),#1305,.F.);
+#1360=ADVANCED_FACE('',(#149),#83,.T.);
+#1361=ADVANCED_FACE('',(#150),#1306,.F.);
+#1362=ADVANCED_FACE('',(#151),#84,.T.);
+#1363=ADVANCED_FACE('',(#152),#85,.T.);
+#1364=ADVANCED_FACE('',(#153),#86,.T.);
+#1365=ADVANCED_FACE('',(#154),#1307,.T.);
+#1366=ADVANCED_FACE('',(#155),#87,.T.);
+#1367=ADVANCED_FACE('',(#156,#48,#49),#88,.T.);
+#1368=ADVANCED_FACE('',(#157),#89,.T.);
+#1369=ADVANCED_FACE('',(#158),#90,.T.);
+#1370=ADVANCED_FACE('',(#159),#91,.F.);
+#1371=ADVANCED_FACE('',(#160),#92,.T.);
+#1372=ADVANCED_FACE('',(#161),#93,.F.);
+#1373=ADVANCED_FACE('',(#162),#1308,.T.);
+#1374=ADVANCED_FACE('',(#163),#94,.T.);
+#1375=ADVANCED_FACE('',(#164),#1309,.F.);
+#1376=ADVANCED_FACE('',(#165),#95,.T.);
+#1377=ADVANCED_FACE('',(#166),#1310,.T.);
+#1378=ADVANCED_FACE('',(#167),#96,.T.);
+#1379=ADVANCED_FACE('',(#168),#97,.T.);
+#1380=ADVANCED_FACE('',(#169),#1311,.T.);
+#1381=ADVANCED_FACE('',(#170),#98,.T.);
+#1382=ADVANCED_FACE('',(#171),#99,.T.);
+#1383=ADVANCED_FACE('',(#172),#100,.T.);
+#1384=CLOSED_SHELL('',(#1312,#1313,#1314,#1315,#1316,#1317,#1318,#1319,
+#1320,#1321,#1322,#1323,#1324,#1325,#1326,#1327,#1328,#1329,#1330,#1331,
+#1332,#1333,#1334,#1335,#1336,#1337,#1338,#1339,#1340,#1341,#1342,#1343,
+#1344,#1345,#1346,#1347,#1348,#1349,#1350,#1351,#1352,#1353,#1354,#1355,
+#1356,#1357,#1358,#1359,#1360,#1361,#1362,#1363,#1364,#1365,#1366,#1367,
+#1368));
+#1385=CLOSED_SHELL('',(#1369,#1370,#1371,#1372,#1373,#1374,#1375,#1376,
+#1377,#1378,#1379,#1380,#1381,#1382,#1383));
+#1386=DERIVED_UNIT_ELEMENT(#1388,1.);
+#1387=DERIVED_UNIT_ELEMENT(#2703,3.);
+#1388=(
+MASS_UNIT()
+NAMED_UNIT(*)
+SI_UNIT(.KILO.,.GRAM.)
+);
+#1389=DERIVED_UNIT((#1386,#1387));
+#1390=MEASURE_REPRESENTATION_ITEM('density measure',
+POSITIVE_RATIO_MEASURE(7850.),#1389);
+#1391=PROPERTY_DEFINITION_REPRESENTATION(#1396,#1393);
+#1392=PROPERTY_DEFINITION_REPRESENTATION(#1397,#1394);
+#1393=REPRESENTATION('material name',(#1395),#2700);
+#1394=REPRESENTATION('density',(#1390),#2700);
+#1395=DESCRIPTIVE_REPRESENTATION_ITEM('\X2\92FC\X0\','\X2\92FC\X0\');
+#1396=PROPERTY_DEFINITION('material property','material name',#2715);
+#1397=PROPERTY_DEFINITION('material property','density of part',#2715);
+#1398=AXIS2_PLACEMENT_3D('placement',#1932,#1534,#1535);
+#1399=AXIS2_PLACEMENT_3D('placement',#1933,#1536,#1537);
+#1400=AXIS2_PLACEMENT_3D('',#1934,#1538,#1539);
+#1401=AXIS2_PLACEMENT_3D('',#1937,#1540,#1541);
+#1402=AXIS2_PLACEMENT_3D('',#1941,#1543,#1544);
+#1403=AXIS2_PLACEMENT_3D('',#1943,#1546,#1547);
+#1404=AXIS2_PLACEMENT_3D('',#1971,#1561,#1562);
+#1405=AXIS2_PLACEMENT_3D('',#1973,#1564,#1565);
+#1406=AXIS2_PLACEMENT_3D('',#1985,#1572,#1573);
+#1407=AXIS2_PLACEMENT_3D('',#1988,#1574,#1575);
+#1408=AXIS2_PLACEMENT_3D('',#1992,#1577,#1578);
+#1409=AXIS2_PLACEMENT_3D('',#2021,#1580,#1581);
+#1410=AXIS2_PLACEMENT_3D('',#2037,#1582,#1583);
+#1411=AXIS2_PLACEMENT_3D('',#2040,#1584,#1585);
+#1412=AXIS2_PLACEMENT_3D('',#2043,#1588,#1589);
+#1413=AXIS2_PLACEMENT_3D('',#2051,#1593,#1594);
+#1414=AXIS2_PLACEMENT_3D('',#2058,#1598,#1599);
+#1415=AXIS2_PLACEMENT_3D('',#2059,#1600,#1601);
+#1416=AXIS2_PLACEMENT_3D('',#2063,#1604,#1605);
+#1417=AXIS2_PLACEMENT_3D('',#2064,#1606,#1607);
+#1418=AXIS2_PLACEMENT_3D('',#2065,#1608,#1609);
+#1419=AXIS2_PLACEMENT_3D('',#2066,#1610,#1611);
+#1420=AXIS2_PLACEMENT_3D('',#2067,#1612,#1613);
+#1421=AXIS2_PLACEMENT_3D('',#2068,#1614,#1615);
+#1422=AXIS2_PLACEMENT_3D('',#2069,#1616,#1617);
+#1423=AXIS2_PLACEMENT_3D('',#2073,#1620,#1621);
+#1424=AXIS2_PLACEMENT_3D('',#2076,#1623,#1624);
+#1425=AXIS2_PLACEMENT_3D('',#2077,#1625,#1626);
+#1426=AXIS2_PLACEMENT_3D('',#2080,#1628,#1629);
+#1427=AXIS2_PLACEMENT_3D('',#2081,#1630,#1631);
+#1428=AXIS2_PLACEMENT_3D('',#2085,#1634,#1635);
+#1429=AXIS2_PLACEMENT_3D('',#2087,#1636,#1637);
+#1430=AXIS2_PLACEMENT_3D('',#2090,#1639,#1640);
+#1431=AXIS2_PLACEMENT_3D('',#2191,#1641,#1642);
+#1432=AXIS2_PLACEMENT_3D('',#2213,#1643,#1644);
+#1433=AXIS2_PLACEMENT_3D('',#2293,#1645,#1646);
+#1434=AXIS2_PLACEMENT_3D('',#2294,#1647,#1648);
+#1435=AXIS2_PLACEMENT_3D('',#2295,#1649,#1650);
+#1436=AXIS2_PLACEMENT_3D('',#2299,#1652,#1653);
+#1437=AXIS2_PLACEMENT_3D('',#2303,#1655,#1656);
+#1438=AXIS2_PLACEMENT_3D('',#2305,#1657,#1658);
+#1439=AXIS2_PLACEMENT_3D('',#2310,#1661,#1662);
+#1440=AXIS2_PLACEMENT_3D('',#2312,#1663,#1664);
+#1441=AXIS2_PLACEMENT_3D('',#2315,#1666,#1667);
+#1442=AXIS2_PLACEMENT_3D('',#2317,#1668,#1669);
+#1443=AXIS2_PLACEMENT_3D('',#2318,#1670,#1671);
+#1444=AXIS2_PLACEMENT_3D('',#2320,#1672,#1673);
+#1445=AXIS2_PLACEMENT_3D('',#2323,#1675,#1676);
+#1446=AXIS2_PLACEMENT_3D('',#2324,#1677,#1678);
+#1447=AXIS2_PLACEMENT_3D('',#2458,#1679,#1680);
+#1448=AXIS2_PLACEMENT_3D('',#2466,#1681,#1682);
+#1449=AXIS2_PLACEMENT_3D('',#2471,#1685,#1686);
+#1450=AXIS2_PLACEMENT_3D('',#2473,#1687,#1688);
+#1451=AXIS2_PLACEMENT_3D('',#2474,#1689,#1690);
+#1452=AXIS2_PLACEMENT_3D('',#2475,#1691,#1692);
+#1453=AXIS2_PLACEMENT_3D('',#2477,#1694,#1695);
+#1454=AXIS2_PLACEMENT_3D('',#2479,#1696,#1697);
+#1455=AXIS2_PLACEMENT_3D('',#2481,#1698,#1699);
+#1456=AXIS2_PLACEMENT_3D('',#2482,#1700,#1701);
+#1457=AXIS2_PLACEMENT_3D('',#2489,#1704,#1705);
+#1458=AXIS2_PLACEMENT_3D('',#2493,#1707,#1708);
+#1459=AXIS2_PLACEMENT_3D('',#2495,#1709,#1710);
+#1460=AXIS2_PLACEMENT_3D('',#2498,#1713,#1714);
+#1461=AXIS2_PLACEMENT_3D('',#2500,#1716,#1717);
+#1462=AXIS2_PLACEMENT_3D('',#2502,#1719,#1720);
+#1463=AXIS2_PLACEMENT_3D('',#2504,#1722,#1723);
+#1464=AXIS2_PLACEMENT_3D('',#2506,#1725,#1726);
+#1465=AXIS2_PLACEMENT_3D('',#2509,#1727,#1728);
+#1466=AXIS2_PLACEMENT_3D('',#2512,#1731,#1732);
+#1467=AXIS2_PLACEMENT_3D('',#2515,#1734,#1735);
+#1468=AXIS2_PLACEMENT_3D('',#2516,#1736,#1737);
+#1469=AXIS2_PLACEMENT_3D('',#2518,#1739,#1740);
+#1470=AXIS2_PLACEMENT_3D('',#2520,#1741,#1742);
+#1471=AXIS2_PLACEMENT_3D('',#2522,#1744,#1745);
+#1472=AXIS2_PLACEMENT_3D('',#2524,#1747,#1748);
+#1473=AXIS2_PLACEMENT_3D('',#2526,#1750,#1751);
+#1474=AXIS2_PLACEMENT_3D('',#2528,#1752,#1753);
+#1475=AXIS2_PLACEMENT_3D('',#2530,#1755,#1756);
+#1476=AXIS2_PLACEMENT_3D('',#2532,#1757,#1758);
+#1477=AXIS2_PLACEMENT_3D('',#2534,#1760,#1761);
+#1478=AXIS2_PLACEMENT_3D('',#2537,#1762,#1763);
+#1479=AXIS2_PLACEMENT_3D('',#2541,#1765,#1766);
+#1480=AXIS2_PLACEMENT_3D('',#2543,#1768,#1769);
+#1481=AXIS2_PLACEMENT_3D('',#2547,#1772,#1773);
+#1482=AXIS2_PLACEMENT_3D('',#2548,#1774,#1775);
+#1483=AXIS2_PLACEMENT_3D('',#2550,#1777,#1778);
+#1484=AXIS2_PLACEMENT_3D('',#2553,#1779,#1780);
+#1485=AXIS2_PLACEMENT_3D('',#2557,#1782,#1783);
+#1486=AXIS2_PLACEMENT_3D('',#2559,#1785,#1786);
+#1487=AXIS2_PLACEMENT_3D('',#2561,#1787,#1788);
+#1488=AXIS2_PLACEMENT_3D('',#2564,#1790,#1791);
+#1489=AXIS2_PLACEMENT_3D('',#2565,#1792,#1793);
+#1490=AXIS2_PLACEMENT_3D('',#2568,#1796,#1797);
+#1491=AXIS2_PLACEMENT_3D('',#2572,#1799,#1800);
+#1492=AXIS2_PLACEMENT_3D('',#2576,#1802,#1803);
+#1493=AXIS2_PLACEMENT_3D('',#2582,#1807,#1808);
+#1494=AXIS2_PLACEMENT_3D('',#2585,#1810,#1811);
+#1495=AXIS2_PLACEMENT_3D('',#2586,#1812,#1813);
+#1496=AXIS2_PLACEMENT_3D('',#2590,#1816,#1817);
+#1497=AXIS2_PLACEMENT_3D('',#2594,#1819,#1820);
+#1498=AXIS2_PLACEMENT_3D('',#2597,#1822,#1823);
+#1499=AXIS2_PLACEMENT_3D('',#2598,#1824,#1825);
+#1500=AXIS2_PLACEMENT_3D('',#2601,#1828,#1829);
+#1501=AXIS2_PLACEMENT_3D('',#2603,#1831,#1832);
+#1502=AXIS2_PLACEMENT_3D('',#2604,#1833,#1834);
+#1503=AXIS2_PLACEMENT_3D('',#2606,#1836,#1837);
+#1504=AXIS2_PLACEMENT_3D('',#2609,#1840,#1841);
+#1505=AXIS2_PLACEMENT_3D('',#2610,#1842,#1843);
+#1506=AXIS2_PLACEMENT_3D('',#2612,#1844,#1845);
+#1507=AXIS2_PLACEMENT_3D('',#2614,#1847,#1848);
+#1508=AXIS2_PLACEMENT_3D('',#2616,#1850,#1851);
+#1509=AXIS2_PLACEMENT_3D('',#2618,#1853,#1854);
+#1510=AXIS2_PLACEMENT_3D('',#2619,#1855,#1856);
+#1511=AXIS2_PLACEMENT_3D('',#2628,#1861,#1862);
+#1512=AXIS2_PLACEMENT_3D('',#2634,#1866,#1867);
+#1513=AXIS2_PLACEMENT_3D('',#2641,#1870,#1871);
+#1514=AXIS2_PLACEMENT_3D('',#2643,#1873,#1874);
+#1515=AXIS2_PLACEMENT_3D('',#2647,#1876,#1877);
+#1516=AXIS2_PLACEMENT_3D('',#2651,#1879,#1880);
+#1517=AXIS2_PLACEMENT_3D('',#2657,#1884,#1885);
+#1518=AXIS2_PLACEMENT_3D('',#2660,#1886,#1887);
+#1519=AXIS2_PLACEMENT_3D('',#2663,#1890,#1891);
+#1520=AXIS2_PLACEMENT_3D('',#2667,#1894,#1895);
+#1521=AXIS2_PLACEMENT_3D('',#2668,#1896,#1897);
+#1522=AXIS2_PLACEMENT_3D('',#2669,#1898,#1899);
+#1523=AXIS2_PLACEMENT_3D('',#2670,#1900,#1901);
+#1524=AXIS2_PLACEMENT_3D('',#2674,#1904,#1905);
+#1525=AXIS2_PLACEMENT_3D('',#2677,#1907,#1908);
+#1526=AXIS2_PLACEMENT_3D('',#2678,#1909,#1910);
+#1527=AXIS2_PLACEMENT_3D('',#2682,#1913,#1914);
+#1528=AXIS2_PLACEMENT_3D('',#2686,#1917,#1918);
+#1529=AXIS2_PLACEMENT_3D('',#2688,#1919,#1920);
+#1530=AXIS2_PLACEMENT_3D('',#2690,#1922,#1923);
+#1531=AXIS2_PLACEMENT_3D('',#2692,#1925,#1926);
+#1532=AXIS2_PLACEMENT_3D('',#2694,#1928,#1929);
+#1533=AXIS2_PLACEMENT_3D('',#2695,#1930,#1931);
+#1534=DIRECTION('axis',(0.,0.,1.));
+#1535=DIRECTION('refdir',(1.,0.,0.));
+#1536=DIRECTION('axis',(0.,0.,1.));
+#1537=DIRECTION('refdir',(1.,0.,0.));
+#1538=DIRECTION('center_axis',(0.,1.,0.));
+#1539=DIRECTION('ref_axis',(-0.707106781186548,0.,0.707106781186548));
+#1540=DIRECTION('center_axis',(0.,-1.,0.));
+#1541=DIRECTION('ref_axis',(-0.707106781186548,0.,0.707106781186548));
+#1542=DIRECTION('',(0.,-1.,0.));
+#1543=DIRECTION('center_axis',(0.,1.,0.));
+#1544=DIRECTION('ref_axis',(-0.707106781186548,0.,0.707106781186548));
+#1545=DIRECTION('',(0.,1.,0.));
+#1546=DIRECTION('center_axis',(0.,1.,0.));
+#1547=DIRECTION('ref_axis',(1.,0.,0.));
+#1548=DIRECTION('',(-1.54575763114686E-15,0.,-1.));
+#1549=DIRECTION('',(-1.54575763114686E-15,0.,-1.));
+#1550=DIRECTION('',(1.,0.,0.));
+#1551=DIRECTION('',(0.,0.,1.));
+#1552=DIRECTION('',(-0.866025394098487,0.,0.500000016776559));
+#1553=DIRECTION('',(0.500000016776559,0.,0.866025394098488));
+#1554=DIRECTION('',(0.866025394098487,0.,-0.500000016776559));
+#1555=DIRECTION('',(-0.0931046021435058,0.,0.99565633280751));
+#1556=DIRECTION('',(-0.500000000000289,0.,0.866025403784272));
+#1557=DIRECTION('',(-0.866025403784271,0.,-0.500000000000291));
+#1558=DIRECTION('',(-0.500000000000027,0.,0.866025403784423));
+#1559=DIRECTION('',(0.866025403784271,0.,0.500000000000291));
+#1560=DIRECTION('',(-0.500000000000289,0.,0.866025403784272));
+#1561=DIRECTION('center_axis',(0.,-1.,0.));
+#1562=DIRECTION('ref_axis',(0.,0.,1.));
+#1563=DIRECTION('',(-1.,0.,-5.67710822175113E-15));
+#1564=DIRECTION('center_axis',(-1.,0.,1.54575763114686E-15));
+#1565=DIRECTION('ref_axis',(1.54575763114686E-15,0.,1.));
+#1566=DIRECTION('',(1.54575763114686E-15,0.,1.));
+#1567=DIRECTION('',(0.,1.,0.));
+#1568=DIRECTION('',(1.54575763114686E-15,0.,1.));
+#1569=DIRECTION('',(0.,-1.,0.));
+#1570=DIRECTION('',(-1.54575763114686E-15,0.,-1.));
+#1571=DIRECTION('',(0.,1.,0.));
+#1572=DIRECTION('center_axis',(0.,1.,0.));
+#1573=DIRECTION('ref_axis',(0.499999991611743,0.,-0.866025408627401));
+#1574=DIRECTION('center_axis',(0.,1.,0.));
+#1575=DIRECTION('ref_axis',(0.499999991611743,0.,-0.866025408627401));
+#1576=DIRECTION('',(0.,1.,0.));
+#1577=DIRECTION('center_axis',(0.,1.,0.));
+#1578=DIRECTION('ref_axis',(0.866025394098513,0.,-0.500000016776516));
+#1579=DIRECTION('',(0.,-1.,0.));
+#1580=DIRECTION('center_axis',(-4.48691298507845E-15,1.,0.));
+#1581=DIRECTION('ref_axis',(0.866025394098433,3.88578058618794E-15,-0.500000016776653));
+#1582=DIRECTION('center_axis',(0.,1.,0.));
+#1583=DIRECTION('ref_axis',(0.499999991611743,0.,-0.866025408627401));
+#1584=DIRECTION('center_axis',(0.,-1.,0.));
+#1585=DIRECTION('ref_axis',(0.499999991611743,0.,-0.866025408627401));
+#1586=DIRECTION('',(0.,-1.,0.));
+#1587=DIRECTION('',(0.,1.,0.));
+#1588=DIRECTION('center_axis',(0.,0.,1.));
+#1589=DIRECTION('ref_axis',(1.,0.,0.));
+#1590=DIRECTION('',(-1.,0.,0.));
+#1591=DIRECTION('',(0.,-1.,0.));
+#1592=DIRECTION('',(0.906007180030929,0.423262317874394,0.));
+#1593=DIRECTION('center_axis',(0.,0.,-1.));
+#1594=DIRECTION('ref_axis',(1.,0.,0.));
+#1595=DIRECTION('',(-0.906007180030929,0.423262317874394,0.));
+#1596=DIRECTION('',(0.,-1.,0.));
+#1597=DIRECTION('',(1.,0.,0.));
+#1598=DIRECTION('center_axis',(0.,0.,1.));
+#1599=DIRECTION('ref_axis',(1.,0.,0.));
+#1600=DIRECTION('center_axis',(0.,1.,0.));
+#1601=DIRECTION('ref_axis',(0.,0.,1.));
+#1602=DIRECTION('',(-0.500000016776559,0.,-0.866025394098487));
+#1603=DIRECTION('',(0.500000000000025,0.,-0.866025403784424));
+#1604=DIRECTION('center_axis',(0.,-1.,0.));
+#1605=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547));
+#1606=DIRECTION('center_axis',(0.,-1.,0.));
+#1607=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547));
+#1608=DIRECTION('center_axis',(-0.423262317874394,-0.906007180030929,0.));
+#1609=DIRECTION('ref_axis',(0.906007180030929,-0.423262317874394,0.));
+#1610=DIRECTION('center_axis',(0.,1.,0.));
+#1611=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547));
+#1612=DIRECTION('center_axis',(0.,-1.,0.));
+#1613=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547));
+#1614=DIRECTION('center_axis',(-0.423262317874394,0.906007180030929,0.));
+#1615=DIRECTION('ref_axis',(0.906007180030929,0.423262317874394,0.));
+#1616=DIRECTION('center_axis',(-0.423262317874394,-0.906007180030929,0.));
+#1617=DIRECTION('ref_axis',(0.906007180030929,-0.423262317874394,0.));
+#1618=DIRECTION('',(0.,0.,1.));
+#1619=DIRECTION('',(0.906007180030929,-0.423262317874394,0.));
+#1620=DIRECTION('center_axis',(0.,0.,1.));
+#1621=DIRECTION('ref_axis',(-1.,1.01064309961486E-15,0.));
+#1622=DIRECTION('',(0.,0.,1.));
+#1623=DIRECTION('center_axis',(0.,0.,-1.));
+#1624=DIRECTION('ref_axis',(1.,0.,0.));
+#1625=DIRECTION('center_axis',(0.,0.,1.));
+#1626=DIRECTION('ref_axis',(1.,0.,0.));
+#1627=DIRECTION('',(0.,0.,-1.));
+#1628=DIRECTION('center_axis',(0.,0.,1.));
+#1629=DIRECTION('ref_axis',(1.,0.,0.));
+#1630=DIRECTION('center_axis',(-0.423262317874394,0.906007180030929,0.));
+#1631=DIRECTION('ref_axis',(-0.906007180030929,-0.423262317874394,0.));
+#1632=DIRECTION('',(1.54575763114686E-15,0.,1.));
+#1633=DIRECTION('',(0.906007180030929,0.423262317874394,0.));
+#1634=DIRECTION('center_axis',(0.,0.,-1.));
+#1635=DIRECTION('ref_axis',(-1.,0.,0.));
+#1636=DIRECTION('center_axis',(0.,0.,-1.));
+#1637=DIRECTION('ref_axis',(-1.,0.,0.));
+#1638=DIRECTION('',(0.,0.,-1.));
+#1639=DIRECTION('center_axis',(0.,0.,1.));
+#1640=DIRECTION('ref_axis',(-1.,0.,0.));
+#1641=DIRECTION('center_axis',(0.901127106201315,0.,-0.433555000512328));
+#1642=DIRECTION('ref_axis',(0.433555000512328,0.,0.901127106201315));
+#1643=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1644=DIRECTION('ref_axis',(0.500000016776559,0.,0.866025394098488));
+#1645=DIRECTION('center_axis',(0.499999941816597,0.,0.866025437376639));
+#1646=DIRECTION('ref_axis',(0.866025437376639,0.,-0.499999941816597));
+#1647=DIRECTION('center_axis',(-0.569494737748534,0.,-0.821994977890211));
+#1648=DIRECTION('ref_axis',(0.821994977890211,0.,-0.569494737748534));
+#1649=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1650=DIRECTION('ref_axis',(-0.500000016776559,0.,-0.866025394098488));
+#1651=DIRECTION('',(0.,1.,0.));
+#1652=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1653=DIRECTION('ref_axis',(-0.50000001675636,8.98853440072772E-6,-0.866025394063503));
+#1654=DIRECTION('',(0.,1.,0.));
+#1655=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1656=DIRECTION('ref_axis',(-0.50000001675636,-8.98853440072772E-6,-0.866025394063503));
+#1657=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1658=DIRECTION('ref_axis',(-0.476290876230106,0.304282871310222,-0.824959959905428));
+#1659=DIRECTION('',(0.,1.,0.));
+#1660=DIRECTION('',(2.88440758469984E-15,-1.,-1.665313569981E-15));
+#1661=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1662=DIRECTION('ref_axis',(0.476290876230105,0.304282871310231,0.824959959905425));
+#1663=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1664=DIRECTION('ref_axis',(-0.50000001675636,-8.98853440072772E-6,-0.866025394063503));
+#1665=DIRECTION('',(0.,1.,0.));
+#1666=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1667=DIRECTION('ref_axis',(0.,1.,0.));
+#1668=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1669=DIRECTION('ref_axis',(0.,1.,0.));
+#1670=DIRECTION('center_axis',(0.,0.,1.));
+#1671=DIRECTION('ref_axis',(1.,0.,0.));
+#1672=DIRECTION('center_axis',(0.,0.,-1.));
+#1673=DIRECTION('ref_axis',(1.,0.,0.));
+#1674=DIRECTION('',(0.,0.,1.));
+#1675=DIRECTION('center_axis',(0.901127106201315,0.,-0.433555000512328));
+#1676=DIRECTION('ref_axis',(0.433555000512328,0.,0.901127106201315));
+#1677=DIRECTION('center_axis',(0.901127106201315,0.,-0.433555000512328));
+#1678=DIRECTION('ref_axis',(0.433555000512328,0.,0.901127106201315));
+#1679=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1680=DIRECTION('ref_axis',(0.500000016776559,0.,0.866025394098488));
+#1681=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1682=DIRECTION('ref_axis',(-0.500000016776559,0.,-0.866025394098487));
+#1683=DIRECTION('',(0.500000016776559,0.,0.866025394098487));
+#1684=DIRECTION('',(0.,1.,0.));
+#1685=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1686=DIRECTION('ref_axis',(0.,1.,0.));
+#1687=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1688=DIRECTION('ref_axis',(0.,1.,0.));
+#1689=DIRECTION('center_axis',(0.,0.,-1.));
+#1690=DIRECTION('ref_axis',(1.,0.,0.));
+#1691=DIRECTION('center_axis',(0.,-1.,0.));
+#1692=DIRECTION('ref_axis',(0.,0.,-1.));
+#1693=DIRECTION('',(-0.500000000000025,0.,0.866025403784424));
+#1694=DIRECTION('center_axis',(0.866025403784424,0.,0.500000000000025));
+#1695=DIRECTION('ref_axis',(0.500000000000025,0.,-0.866025403784424));
+#1696=DIRECTION('center_axis',(-0.866025403784424,0.,-0.500000000000025));
+#1697=DIRECTION('ref_axis',(0.,1.,0.));
+#1698=DIRECTION('center_axis',(-0.866025403784424,0.,-0.500000000000025));
+#1699=DIRECTION('ref_axis',(0.,1.,0.));
+#1700=DIRECTION('center_axis',(-1.,0.,0.));
+#1701=DIRECTION('ref_axis',(0.,2.4671622769448E-16,1.));
+#1702=DIRECTION('',(0.,0.,-1.));
+#1703=DIRECTION('',(0.,1.,0.));
+#1704=DIRECTION('center_axis',(1.,0.,0.));
+#1705=DIRECTION('ref_axis',(0.,-5.86848675784281E-21,-1.));
+#1706=DIRECTION('',(0.,1.,0.));
+#1707=DIRECTION('center_axis',(1.,0.,0.));
+#1708=DIRECTION('ref_axis',(0.,5.86848675784281E-21,-1.));
+#1709=DIRECTION('center_axis',(-1.,0.,0.));
+#1710=DIRECTION('ref_axis',(4.57128594602323E-18,-3.00462916386943E-17,
+1.));
+#1711=DIRECTION('',(0.,1.,-2.27724530538218E-30));
+#1712=DIRECTION('',(0.,-1.,0.));
+#1713=DIRECTION('center_axis',(-0.500000016776559,-1.97215226305253E-30,
+-0.866025394098487));
+#1714=DIRECTION('ref_axis',(-2.88440758469984E-15,1.,1.665313569981E-15));
+#1715=DIRECTION('',(0.866025394098487,-1.97057596545677E-45,-0.500000016776559));
+#1716=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1717=DIRECTION('ref_axis',(0.476290876230105,0.304282871310231,0.824959959905425));
+#1718=DIRECTION('',(-0.866025394098488,0.,0.500000016776559));
+#1719=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1720=DIRECTION('ref_axis',(-0.50000001675636,-8.98853440072772E-6,-0.866025394063503));
+#1721=DIRECTION('',(0.866025394098488,0.,-0.500000016776559));
+#1722=DIRECTION('center_axis',(0.499999941816597,0.,0.866025437376639));
+#1723=DIRECTION('ref_axis',(0.866025437376639,0.,-0.499999941816597));
+#1724=DIRECTION('',(0.866025394098488,0.,-0.500000016776559));
+#1725=DIRECTION('center_axis',(-0.866025394098488,0.,0.500000016776559));
+#1726=DIRECTION('ref_axis',(-0.476290876230106,0.304282871310222,-0.824959959905428));
+#1727=DIRECTION('center_axis',(-0.99565633280751,0.,-0.0931046021435058));
+#1728=DIRECTION('ref_axis',(0.0931046021435057,-1.13202692410629E-16,-0.99565633280751));
+#1729=DIRECTION('',(-0.866025394098487,0.,0.500000016776559));
+#1730=DIRECTION('',(0.866025394098488,0.,-0.500000016776559));
+#1731=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1732=DIRECTION('ref_axis',(-0.50000001675636,-8.98853440072772E-6,-0.866025394063503));
+#1733=DIRECTION('',(0.866025394098488,0.,-0.500000016776559));
+#1734=DIRECTION('center_axis',(0.99565633280751,0.,0.0931046021435058));
+#1735=DIRECTION('ref_axis',(0.0931046021435058,3.31652492769719E-21,-0.99565633280751));
+#1736=DIRECTION('center_axis',(0.500000016776559,0.,0.866025394098487));
+#1737=DIRECTION('ref_axis',(0.,-1.,0.));
+#1738=DIRECTION('',(0.,1.,0.));
+#1739=DIRECTION('center_axis',(0.866025394098488,0.,-0.500000016776559));
+#1740=DIRECTION('ref_axis',(-0.50000001675636,8.98853440072772E-6,-0.866025394063503));
+#1741=DIRECTION('center_axis',(0.99565633280751,0.,0.0931046021435058));
+#1742=DIRECTION('ref_axis',(0.0931046021435058,-3.31652492769719E-21,-0.99565633280751));
+#1743=DIRECTION('',(0.866025394098488,0.,-0.500000016776559));
+#1744=DIRECTION('center_axis',(-0.866025394098487,0.,0.50000001677656));
+#1745=DIRECTION('ref_axis',(0.,1.,0.));
+#1746=DIRECTION('',(-0.866025394098487,0.,0.50000001677656));
+#1747=DIRECTION('center_axis',(-0.866025394098487,0.,0.50000001677656));
+#1748=DIRECTION('ref_axis',(0.,1.,0.));
+#1749=DIRECTION('',(-0.866025394098487,0.,0.50000001677656));
+#1750=DIRECTION('center_axis',(-0.866025403784423,0.,-0.500000000000027));
+#1751=DIRECTION('ref_axis',(0.,1.,0.));
+#1752=DIRECTION('center_axis',(-0.866025403784423,0.,-0.500000000000027));
+#1753=DIRECTION('ref_axis',(0.,1.,0.));
+#1754=DIRECTION('',(-0.866025403784423,0.,-0.500000000000027));
+#1755=DIRECTION('center_axis',(-0.866025403784423,0.,-0.500000000000027));
+#1756=DIRECTION('ref_axis',(0.,1.,0.));
+#1757=DIRECTION('center_axis',(-0.866025403784423,0.,-0.500000000000027));
+#1758=DIRECTION('ref_axis',(0.,1.,0.));
+#1759=DIRECTION('',(-0.866025403784423,0.,-0.500000000000027));
+#1760=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000026));
+#1761=DIRECTION('ref_axis',(-0.450427746924264,0.434119084126805,0.780163742811492));
+#1762=DIRECTION('center_axis',(-0.866025403784272,0.,-0.500000000000289));
+#1763=DIRECTION('ref_axis',(-0.450427746924264,0.434119084126805,0.780163742811492));
+#1764=DIRECTION('',(-0.866025403784423,0.,-0.500000000000026));
+#1765=DIRECTION('center_axis',(-0.866025403784423,0.,-0.500000000000027));
+#1766=DIRECTION('ref_axis',(-0.450427746924264,0.434119084126805,0.780163742811492));
+#1767=DIRECTION('',(0.866025403784271,0.,0.500000000000291));
+#1768=DIRECTION('center_axis',(0.866025403784272,0.,0.500000000000289));
+#1769=DIRECTION('ref_axis',(0.500000000000289,0.,-0.866025403784272));
+#1770=DIRECTION('',(0.,-1.,0.));
+#1771=DIRECTION('',(0.,1.,0.));
+#1772=DIRECTION('center_axis',(0.866025403784272,0.,0.500000000000289));
+#1773=DIRECTION('ref_axis',(0.500000000000026,0.,-0.866025403784423));
+#1774=DIRECTION('center_axis',(0.500000000000291,0.,-0.866025403784271));
+#1775=DIRECTION('ref_axis',(0.,-1.,0.));
+#1776=DIRECTION('',(0.,-1.,0.));
+#1777=DIRECTION('center_axis',(-0.866025403784423,0.,-0.500000000000026));
+#1778=DIRECTION('ref_axis',(0.450427746856788,0.434119084406735,-0.780163742694683));
+#1779=DIRECTION('center_axis',(-0.866025403784272,0.,-0.500000000000289));
+#1780=DIRECTION('ref_axis',(0.450427746856788,0.434119084406735,-0.780163742694683));
+#1781=DIRECTION('',(-0.866025403784271,5.53447207542788E-42,-0.500000000000291));
+#1782=DIRECTION('center_axis',(-0.866025403784423,0.,-0.500000000000027));
+#1783=DIRECTION('ref_axis',(0.450427746856788,0.434119084406735,-0.780163742694683));
+#1784=DIRECTION('',(0.866025403784423,0.,0.500000000000026));
+#1785=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000026));
+#1786=DIRECTION('ref_axis',(3.22976616253508E-15,-1.,-5.59411909007712E-15));
+#1787=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000027));
+#1788=DIRECTION('ref_axis',(3.22976616253508E-15,-1.,-5.59411909007712E-15));
+#1789=DIRECTION('',(-0.866025403784423,0.,-0.500000000000026));
+#1790=DIRECTION('center_axis',(0.866025403784272,0.,0.500000000000289));
+#1791=DIRECTION('ref_axis',(3.22976616253508E-15,-1.,-5.59411909007712E-15));
+#1792=DIRECTION('center_axis',(-0.500000000000291,-1.81438008200833E-29,
+0.866025403784271));
+#1793=DIRECTION('ref_axis',(-9.15259284339516E-15,1.,-5.28425194192131E-15));
+#1794=DIRECTION('',(-9.07190041004688E-30,1.,1.5712992431394E-29));
+#1795=DIRECTION('',(-9.07190041004212E-30,1.,1.57129924313968E-29));
+#1796=DIRECTION('center_axis',(0.866025403784272,0.,0.500000000000289));
+#1797=DIRECTION('ref_axis',(0.500000000000289,0.,-0.866025403784272));
+#1798=DIRECTION('',(0.,1.,0.));
+#1799=DIRECTION('center_axis',(0.866025403784272,0.,0.500000000000289));
+#1800=DIRECTION('ref_axis',(3.22976616253508E-15,1.,-5.59411909007712E-15));
+#1801=DIRECTION('',(-0.500000000000289,-6.38977280359804E-16,0.866025403784272));
+#1802=DIRECTION('center_axis',(0.866025403784272,0.,0.500000000000289));
+#1803=DIRECTION('ref_axis',(0.500000000000026,0.,-0.866025403784423));
+#1804=DIRECTION('',(0.,1.,0.));
+#1805=DIRECTION('',(0.500000000000289,0.,-0.866025403784272));
+#1806=DIRECTION('',(0.,1.,0.));
+#1807=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000026));
+#1808=DIRECTION('ref_axis',(0.500000000000026,0.,-0.866025403784423));
+#1809=DIRECTION('',(-0.866025403784423,0.,-0.500000000000026));
+#1810=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000027));
+#1811=DIRECTION('ref_axis',(0.500000000000026,0.,-0.866025403784423));
+#1812=DIRECTION('center_axis',(0.500000000000037,0.,-0.866025403784417));
+#1813=DIRECTION('ref_axis',(-0.866025403784417,0.,-0.500000000000037));
+#1814=DIRECTION('',(0.,1.,0.));
+#1815=DIRECTION('',(-0.866025403784423,0.,-0.500000000000026));
+#1816=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000027));
+#1817=DIRECTION('ref_axis',(0.500000000000027,0.,-0.866025403784423));
+#1818=DIRECTION('',(0.,1.,0.));
+#1819=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000027));
+#1820=DIRECTION('ref_axis',(0.500000000000026,0.,-0.866025403784423));
+#1821=DIRECTION('',(-0.500000000000027,-6.38977280359804E-16,0.866025403784423));
+#1822=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000027));
+#1823=DIRECTION('ref_axis',(3.22976616253508E-15,1.,-5.59411909007712E-15));
+#1824=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000026));
+#1825=DIRECTION('ref_axis',(0.500000000000026,0.,-0.866025403784423));
+#1826=DIRECTION('',(0.866025403784423,0.,0.500000000000026));
+#1827=DIRECTION('',(-0.866025403784423,0.,-0.500000000000026));
+#1828=DIRECTION('center_axis',(3.19488640179919E-16,-1.,-5.53370557232672E-16));
+#1829=DIRECTION('ref_axis',(0.500000000000027,6.38977280359804E-16,-0.866025403784423));
+#1830=DIRECTION('',(0.866025403784423,0.,0.500000000000026));
+#1831=DIRECTION('center_axis',(0.866025403784423,0.,0.500000000000026));
+#1832=DIRECTION('ref_axis',(3.22976616253508E-15,1.,-5.59411909007712E-15));
+#1833=DIRECTION('center_axis',(-0.499999941816589,0.,-0.866025437376644));
+#1834=DIRECTION('ref_axis',(-0.866025437376644,0.,0.499999941816589));
+#1835=DIRECTION('',(0.,1.,0.));
+#1836=DIRECTION('center_axis',(0.99565633280751,0.,0.0931046021435058));
+#1837=DIRECTION('ref_axis',(0.0931046021435058,0.,-0.99565633280751));
+#1838=DIRECTION('',(0.0931046021435058,0.,-0.99565633280751));
+#1839=DIRECTION('',(0.,1.,0.));
+#1840=DIRECTION('center_axis',(-0.500000000000017,0.,0.866025403784429));
+#1841=DIRECTION('ref_axis',(0.866025403784429,0.,0.500000000000017));
+#1842=DIRECTION('center_axis',(0.,1.,0.));
+#1843=DIRECTION('ref_axis',(0.,0.,1.));
+#1844=DIRECTION('center_axis',(0.,1.,0.));
+#1845=DIRECTION('ref_axis',(0.,0.,1.));
+#1846=DIRECTION('',(0.,1.,0.));
+#1847=DIRECTION('center_axis',(-5.67710822175113E-15,0.,1.));
+#1848=DIRECTION('ref_axis',(1.,0.,5.67710822175113E-15));
+#1849=DIRECTION('',(1.,0.,5.67710822175113E-15));
+#1850=DIRECTION('center_axis',(0.,0.,-1.));
+#1851=DIRECTION('ref_axis',(-1.,0.,0.));
+#1852=DIRECTION('',(-1.,0.,0.));
+#1853=DIRECTION('center_axis',(0.,1.,0.));
+#1854=DIRECTION('ref_axis',(1.,0.,0.));
+#1855=DIRECTION('center_axis',(0.99565633280751,0.,0.0931046021435058));
+#1856=DIRECTION('ref_axis',(0.0931046021435058,0.,-0.99565633280751));
+#1857=DIRECTION('',(-0.0931046021435058,0.,0.99565633280751));
+#1858=DIRECTION('',(0.,1.,0.));
+#1859=DIRECTION('',(0.0931046021435058,0.,-0.99565633280751));
+#1860=DIRECTION('',(0.,1.,0.));
+#1861=DIRECTION('center_axis',(-1.,0.,0.));
+#1862=DIRECTION('ref_axis',(0.,2.4671622769448E-16,1.));
+#1863=DIRECTION('',(0.,0.,1.));
+#1864=DIRECTION('',(0.,-1.,0.));
+#1865=DIRECTION('',(0.,0.,-1.));
+#1866=DIRECTION('center_axis',(0.,0.,1.));
+#1867=DIRECTION('ref_axis',(1.,0.,0.));
+#1868=DIRECTION('',(0.,-1.,0.));
+#1869=DIRECTION('',(0.906007180030929,0.423262317874394,0.));
+#1870=DIRECTION('center_axis',(0.,0.,-1.));
+#1871=DIRECTION('ref_axis',(1.,0.,0.));
+#1872=DIRECTION('',(-0.906007180030929,0.423262317874394,0.));
+#1873=DIRECTION('center_axis',(0.,1.,0.));
+#1874=DIRECTION('ref_axis',(1.,0.,0.));
+#1875=DIRECTION('',(-0.500000000000289,0.,0.866025403784272));
+#1876=DIRECTION('center_axis',(0.,-1.,0.));
+#1877=DIRECTION('ref_axis',(0.,0.,1.));
+#1878=DIRECTION('',(-1.,0.,-5.67710822175113E-15));
+#1879=DIRECTION('center_axis',(0.,1.,0.));
+#1880=DIRECTION('ref_axis',(-0.707106781186548,0.,0.707106781186548));
+#1881=DIRECTION('',(-1.54575763114686E-15,0.,-1.));
+#1882=DIRECTION('',(-1.54575763114686E-15,0.,-1.));
+#1883=DIRECTION('',(1.,0.,0.));
+#1884=DIRECTION('center_axis',(0.,1.,0.));
+#1885=DIRECTION('ref_axis',(-0.707106781186548,0.,0.707106781186548));
+#1886=DIRECTION('center_axis',(0.,-1.,0.));
+#1887=DIRECTION('ref_axis',(-0.707106781186548,0.,0.707106781186548));
+#1888=DIRECTION('',(0.,-1.,0.));
+#1889=DIRECTION('',(0.,1.,0.));
+#1890=DIRECTION('center_axis',(-1.,0.,1.54575763114686E-15));
+#1891=DIRECTION('ref_axis',(1.54575763114686E-15,0.,1.));
+#1892=DIRECTION('',(1.54575763114686E-15,0.,1.));
+#1893=DIRECTION('',(0.,1.,0.));
+#1894=DIRECTION('center_axis',(0.,-1.,0.));
+#1895=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547));
+#1896=DIRECTION('center_axis',(-0.423262317874394,-0.906007180030929,0.));
+#1897=DIRECTION('ref_axis',(0.906007180030929,-0.423262317874394,0.));
+#1898=DIRECTION('center_axis',(-0.423262317874394,0.906007180030929,0.));
+#1899=DIRECTION('ref_axis',(0.906007180030929,0.423262317874394,0.));
+#1900=DIRECTION('center_axis',(-0.423262317874394,-0.906007180030929,0.));
+#1901=DIRECTION('ref_axis',(0.906007180030929,-0.423262317874394,0.));
+#1902=DIRECTION('',(0.,0.,1.));
+#1903=DIRECTION('',(0.906007180030929,-0.423262317874394,0.));
+#1904=DIRECTION('center_axis',(0.,0.,1.));
+#1905=DIRECTION('ref_axis',(-1.,1.01064309961486E-15,0.));
+#1906=DIRECTION('',(0.,0.,1.));
+#1907=DIRECTION('center_axis',(0.,0.,-1.));
+#1908=DIRECTION('ref_axis',(1.,0.,0.));
+#1909=DIRECTION('center_axis',(-0.423262317874394,0.906007180030929,0.));
+#1910=DIRECTION('ref_axis',(-0.906007180030929,-0.423262317874394,0.));
+#1911=DIRECTION('',(1.54575763114686E-15,0.,1.));
+#1912=DIRECTION('',(0.906007180030929,0.423262317874394,0.));
+#1913=DIRECTION('center_axis',(0.866025403784272,0.,0.500000000000289));
+#1914=DIRECTION('ref_axis',(0.500000000000289,0.,-0.866025403784272));
+#1915=DIRECTION('',(0.500000000000289,0.,-0.866025403784272));
+#1916=DIRECTION('',(0.,1.,0.));
+#1917=DIRECTION('center_axis',(0.,1.,0.));
+#1918=DIRECTION('ref_axis',(0.,0.,1.));
+#1919=DIRECTION('center_axis',(0.,1.,0.));
+#1920=DIRECTION('ref_axis',(0.,0.,1.));
+#1921=DIRECTION('',(0.,1.,0.));
+#1922=DIRECTION('center_axis',(-5.67710822175113E-15,0.,1.));
+#1923=DIRECTION('ref_axis',(1.,0.,5.67710822175113E-15));
+#1924=DIRECTION('',(1.,0.,5.67710822175113E-15));
+#1925=DIRECTION('center_axis',(0.,0.,-1.));
+#1926=DIRECTION('ref_axis',(-1.,0.,0.));
+#1927=DIRECTION('',(-1.,0.,0.));
+#1928=DIRECTION('center_axis',(0.,1.,0.));
+#1929=DIRECTION('ref_axis',(1.,0.,0.));
+#1930=DIRECTION('',(0.,0.,1.));
+#1931=DIRECTION('',(1.,-4.33680868994202E-19,0.));
+#1932=CARTESIAN_POINT('',(0.,0.,0.));
+#1933=CARTESIAN_POINT('',(0.,0.,0.));
+#1934=CARTESIAN_POINT('Origin',(251.992995453794,0.,424.806977262947));
+#1935=CARTESIAN_POINT('',(251.992995453794,60.,427.806977262947));
+#1936=CARTESIAN_POINT('',(248.992995453794,60.,424.806977262947));
+#1937=CARTESIAN_POINT('Origin',(251.992995453794,60.,424.806977262947));
+#1938=CARTESIAN_POINT('',(248.992995453794,-60.,424.806977262947));
+#1939=CARTESIAN_POINT('',(248.992995453794,0.,424.806977262947));
+#1940=CARTESIAN_POINT('',(251.992995453794,-60.,427.806977262947));
+#1941=CARTESIAN_POINT('Origin',(251.992995453794,-60.,424.806977262947));
+#1942=CARTESIAN_POINT('',(251.992995453794,0.,427.806977262947));
+#1943=CARTESIAN_POINT('Origin',(264.540138744207,-60.,393.331517392522));
+#1944=CARTESIAN_POINT('',(248.992995453794,-60.,376.734039063363));
+#1945=CARTESIAN_POINT('',(248.992995453794,-60.,427.806977262947));
+#1946=CARTESIAN_POINT('',(248.992995453794,-60.,358.856057522096));
+#1947=CARTESIAN_POINT('',(248.992995453794,-60.,427.806977262947));
+#1948=CARTESIAN_POINT('',(278.82925527646,-60.,358.856057522096));
+#1949=CARTESIAN_POINT('',(248.992995453794,-60.,358.856057522096));
+#1950=CARTESIAN_POINT('',(278.82925527646,-60.,367.015675314107));
+#1951=CARTESIAN_POINT('',(278.82925527646,-60.,376.093787457309));
+#1952=CARTESIAN_POINT('',(258.30606377482,-60.,378.864745982306));
+#1953=CARTESIAN_POINT('',(257.511693877988,-60.,379.323375676597));
+#1954=CARTESIAN_POINT('',(268.306064110352,-60.,396.185253864276));
+#1955=CARTESIAN_POINT('',(264.717471240229,-60.,389.969628963616));
+#1956=CARTESIAN_POINT('',(277.519168492375,-60.,390.866065331275));
+#1957=CARTESIAN_POINT('',(267.511694213519,-60.,396.643883558566));
+#1958=CARTESIAN_POINT('',(276.268278746685,-60.,404.24302273474));
+#1959=CARTESIAN_POINT('',(277.708460232557,-60.,388.841788168585));
+#1960=CARTESIAN_POINT('',(275.043301271401,-60.,406.364745960074));
+#1961=CARTESIAN_POINT('',(266.930812532946,-60.,420.415988630898));
+#1962=CARTESIAN_POINT('',(264.217972930159,-60.,400.114739728187));
+#1963=CARTESIAN_POINT('',(268.282838565497,-60.,402.46159099697));
+#1964=CARTESIAN_POINT('',(254.217972930159,-60.,417.435247803875));
+#1965=CARTESIAN_POINT('',(263.226854372466,-60.,401.831407426436));
+#1966=CARTESIAN_POINT('',(265.043301271395,-60.,423.685254035759));
+#1967=CARTESIAN_POINT('',(258.282838565491,-60.,419.782099072656));
+#1968=CARTESIAN_POINT('',(263.240973525841,-60.,426.806977262947));
+#1969=CARTESIAN_POINT('',(266.930812532946,-60.,420.415988630898));
+#1970=CARTESIAN_POINT('',(261.508922718272,-60.,427.806977262947));
+#1971=CARTESIAN_POINT('Origin',(261.508922718272,-60.,425.806977262947));
+#1972=CARTESIAN_POINT('',(261.508922718272,-60.,427.806977262947));
+#1973=CARTESIAN_POINT('Origin',(248.992995453794,0.,358.856057522096));
+#1974=CARTESIAN_POINT('',(248.992995453794,60.,376.734039063363));
+#1975=CARTESIAN_POINT('',(248.992995453794,60.,427.806977262947));
+#1976=CARTESIAN_POINT('',(248.992995453794,40.,376.734039063363));
+#1977=CARTESIAN_POINT('',(248.992995453794,0.,376.734039063363));
+#1978=CARTESIAN_POINT('',(248.992995453794,40.,422.485174261342));
+#1979=CARTESIAN_POINT('',(248.992995453794,40.,376.732832092224));
+#1980=CARTESIAN_POINT('',(248.992995453794,-40.,422.485174261342));
+#1981=CARTESIAN_POINT('',(248.992995453794,0.,422.485174261342));
+#1982=CARTESIAN_POINT('',(248.992995453794,-40.,376.734039063363));
+#1983=CARTESIAN_POINT('',(248.992995453794,-40.,376.732832092224));
+#1984=CARTESIAN_POINT('',(248.992995453794,0.,376.734039063363));
+#1985=CARTESIAN_POINT('Origin',(248.415645197519,0.,367.734039063363));
+#1986=CARTESIAN_POINT('',(249.281670591617,-40.,367.234039046586));
+#1987=CARTESIAN_POINT('',(248.415645197519,-40.,366.734039063363));
+#1988=CARTESIAN_POINT('Origin',(248.415645197519,-40.,367.734039063363));
+#1989=CARTESIAN_POINT('',(249.281670591617,-1.32307888063906,367.234039046586));
+#1990=CARTESIAN_POINT('',(249.281670591617,0.,367.234039046586));
+#1991=CARTESIAN_POINT('',(248.415645197519,-1.32307888063906,366.734039063363));
+#1992=CARTESIAN_POINT('Origin',(248.415645197519,-1.32307888063906,367.734039063363));
+#1993=CARTESIAN_POINT('',(248.415645197519,0.,366.734039063363));
+#1994=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,-1.3230788806387,366.734039063363));
+#1995=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,-0.944953033972368,366.734039063363));
+#1996=CARTESIAN_POINT('Ctrl Pts',(248.47088513077,-0.0630490969783347,366.734039063363));
+#1997=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,0.818911085083607,366.734039063363));
+#1998=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,1.32307888063872,366.734039063363));
+#1999=CARTESIAN_POINT('Ctrl Pts',(248.59017811949,-1.32307888063871,366.734039063363));
+#2000=CARTESIAN_POINT('Ctrl Pts',(248.578331444868,-0.951422456826182,366.734149091449));
+#2001=CARTESIAN_POINT('Ctrl Pts',(248.607472331582,-0.0654648845822568,
+366.73429273911));
+#2002=CARTESIAN_POINT('Ctrl Pts',(248.574382553327,0.827536982220709,366.734185767478));
+#2003=CARTESIAN_POINT('Ctrl Pts',(248.59017811949,1.32307888063873,366.734039063363));
+#2004=CARTESIAN_POINT('Ctrl Pts',(248.938864360723,-1.32307888063872,366.827796868928));
+#2005=CARTESIAN_POINT('Ctrl Pts',(248.903512656486,-0.964341143518998,366.814758871865));
+#2006=CARTESIAN_POINT('Ctrl Pts',(248.880655639275,-0.0702905871728157,
+366.790553191584));
+#2007=CARTESIAN_POINT('Ctrl Pts',(248.891728755074,0.844761897808499,366.810412872844));
+#2008=CARTESIAN_POINT('Ctrl Pts',(248.938864360723,1.32307888063874,366.827796868928));
+#2009=CARTESIAN_POINT('Ctrl Pts',(249.194404127704,-1.32307888063874,367.082889104053));
+#2010=CARTESIAN_POINT('Ctrl Pts',(249.153999323748,-0.973823164398343,367.03790804447));
+#2011=CARTESIAN_POINT('Ctrl Pts',(249.108986635402,-0.074002843869098,366.950655368836));
+#2012=CARTESIAN_POINT('Ctrl Pts',(249.140531055762,0.857404592312362,367.022914357942));
+#2013=CARTESIAN_POINT('Ctrl Pts',(249.194404127704,1.32307888063875,367.082889104053));
+#2014=CARTESIAN_POINT('Ctrl Pts',(249.281670591617,-1.32307888063874,367.234039046586));
+#2015=CARTESIAN_POINT('Ctrl Pts',(249.246182875288,-0.977045040631429,367.17257252161));
+#2016=CARTESIAN_POINT('Ctrl Pts',(249.20300806546,-0.075360681053928,367.049952377366));
+#2017=CARTESIAN_POINT('Ctrl Pts',(249.234353636512,0.861700427289154,367.152083679951));
+#2018=CARTESIAN_POINT('Ctrl Pts',(249.281670591617,1.32307888063876,367.234039046586));
+#2019=CARTESIAN_POINT('',(249.281670591617,1.32307888063872,367.234039046586));
+#2020=CARTESIAN_POINT('',(248.415645197519,1.32307888063872,366.734039063363));
+#2021=CARTESIAN_POINT('Origin',(248.415645197519,1.32307888063872,367.734039063363));
+#2022=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,1.32307888063872,366.734039063363));
+#2023=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,0.818911085083607,366.734039063363));
+#2024=CARTESIAN_POINT('Ctrl Pts',(248.47088513077,-0.0630490969783347,366.734039063363));
+#2025=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,-0.944953033972368,366.734039063363));
+#2026=CARTESIAN_POINT('Ctrl Pts',(248.415645197519,-1.3230788806387,366.734039063363));
+#2027=CARTESIAN_POINT('',(249.221712821445,-2.2186712959341E-30,367.106130576642));
+#2028=CARTESIAN_POINT('Ctrl Pts',(249.281670591617,-1.32307888063874,367.234039046586));
+#2029=CARTESIAN_POINT('Ctrl Pts',(249.246182875288,-0.977045040631429,367.17257252161));
+#2030=CARTESIAN_POINT('Ctrl Pts',(249.224582439861,-0.525930725087935,367.11122544172));
+#2031=CARTESIAN_POINT('Ctrl Pts',(249.221634597306,-0.0659615421369417,
+367.106134075844));
+#2032=CARTESIAN_POINT('Ctrl Pts',(249.221605410865,-1.18707761863346E-6,
+367.106462015915));
+#2033=CARTESIAN_POINT('Ctrl Pts',(249.221605410865,-1.18707761863346E-6,
+367.106462015915));
+#2034=CARTESIAN_POINT('Ctrl Pts',(249.2214020882,0.45950105328331,367.108746557849));
+#2035=CARTESIAN_POINT('Ctrl Pts',(249.240293247031,0.919616417627765,367.162371386687));
+#2036=CARTESIAN_POINT('Ctrl Pts',(249.281670591617,1.32307888063876,367.234039046586));
+#2037=CARTESIAN_POINT('Origin',(248.415645197519,0.,367.734039063363));
+#2038=CARTESIAN_POINT('',(248.415645197519,40.,366.734039063363));
+#2039=CARTESIAN_POINT('',(249.281670591617,40.,367.234039046586));
+#2040=CARTESIAN_POINT('Origin',(248.415645197519,40.,367.734039063363));
+#2041=CARTESIAN_POINT('',(248.415645197519,0.,366.734039063363));
+#2042=CARTESIAN_POINT('',(249.281670591617,0.,367.234039046586));
+#2043=CARTESIAN_POINT('Origin',(194.996497726897,0.,366.734039063363));
+#2044=CARTESIAN_POINT('',(238.992995453794,40.,366.734039063363));
+#2045=CARTESIAN_POINT('',(226.018238294619,40.,366.734039063363));
+#2046=CARTESIAN_POINT('',(238.992995453794,55.3282675104192,366.734039063363));
+#2047=CARTESIAN_POINT('',(238.992995453794,0.,366.734039063363));
+#2048=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,366.734039063363));
+#2049=CARTESIAN_POINT('',(215.327148624352,44.2722169577647,366.734039063363));
+#2050=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,366.734039063363));
+#2051=CARTESIAN_POINT('Origin',(156.,0.,366.734039063363));
+#2052=CARTESIAN_POINT('',(238.992995453794,-55.3282675104192,366.734039063363));
+#2053=CARTESIAN_POINT('',(165.656183513397,-21.0672708079966,366.734039063363));
+#2054=CARTESIAN_POINT('',(238.992995453794,-40.,366.734039063363));
+#2055=CARTESIAN_POINT('',(238.992995453794,0.,366.734039063363));
+#2056=CARTESIAN_POINT('',(226.018238294619,-40.,366.734039063363));
+#2057=CARTESIAN_POINT('',(153.25,-3.36777869765523E-16,366.734039063363));
+#2058=CARTESIAN_POINT('Origin',(156.,0.,366.734039063363));
+#2059=CARTESIAN_POINT('Origin',(257.03997886234,40.,394.609606662353));
+#2060=CARTESIAN_POINT('',(265.086962270887,40.,394.609606038812));
+#2061=CARTESIAN_POINT('',(265.086962270887,40.,394.609606038812));
+#2062=CARTESIAN_POINT('',(248.992995453794,40.,422.485174261342));
+#2063=CARTESIAN_POINT('Origin',(238.992995453794,40.,376.734039063363));
+#2064=CARTESIAN_POINT('Origin',(238.992995453794,0.,376.734039063363));
+#2065=CARTESIAN_POINT('Origin',(238.992995453794,-55.3282675104192,376.734039063363));
+#2066=CARTESIAN_POINT('Origin',(238.992995453794,-40.,376.734039063363));
+#2067=CARTESIAN_POINT('Origin',(238.992995453794,0.,376.734039063363));
+#2068=CARTESIAN_POINT('Origin',(238.992995453794,55.3282675104192,376.734039063363));
+#2069=CARTESIAN_POINT('Origin',(149.651065231884,-13.5901077004639,358.856057522096));
+#2070=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,358.856057522096));
+#2071=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,358.856057522096));
+#2072=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,358.856057522096));
+#2073=CARTESIAN_POINT('Origin',(156.,0.,358.856057522096));
+#2074=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,358.856057522096));
+#2075=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,358.856057522096));
+#2076=CARTESIAN_POINT('Origin',(156.,0.,358.856057522096));
+#2077=CARTESIAN_POINT('Origin',(156.,0.,358.856057522096));
+#2078=CARTESIAN_POINT('',(153.25,3.36777869765523E-16,358.856057522096));
+#2079=CARTESIAN_POINT('',(153.25,-3.36777869765523E-16,358.856057522096));
+#2080=CARTESIAN_POINT('Origin',(156.,0.,358.856057522096));
+#2081=CARTESIAN_POINT('Origin',(248.992995453794,60.,358.856057522096));
+#2082=CARTESIAN_POINT('',(248.992995453794,60.,358.856057522096));
+#2083=CARTESIAN_POINT('',(248.992995453794,60.,427.806977262947));
+#2084=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,358.856057522096));
+#2085=CARTESIAN_POINT('Origin',(256.,0.,361.856057522096));
+#2086=CARTESIAN_POINT('',(258.75,3.3677786976552E-16,361.856057522096));
+#2087=CARTESIAN_POINT('Origin',(256.,0.,361.856057522096));
+#2088=CARTESIAN_POINT('',(258.75,3.3677786976552E-16,358.856057522096));
+#2089=CARTESIAN_POINT('',(258.75,-3.3677786976552E-16,361.856057522096));
+#2090=CARTESIAN_POINT('Origin',(256.,0.,358.856057522096));
+#2091=CARTESIAN_POINT('Ctrl Pts',(255.7417609056,-4.99332680385765,376.333786616018));
+#2092=CARTESIAN_POINT('Ctrl Pts',(256.513333156424,-5.03323008420443,377.937469352439));
+#2093=CARTESIAN_POINT('Ctrl Pts',(258.074375619869,-4.74878873302321,381.182035038636));
+#2094=CARTESIAN_POINT('Ctrl Pts',(259.980387189333,-3.32077446662241,385.143605515157));
+#2095=CARTESIAN_POINT('Ctrl Pts',(260.865672776814,-1.54543761876313,386.983636972909));
+#2096=CARTESIAN_POINT('Ctrl Pts',(261.044650364799,-4.14112626929024E-5,
+387.355634887234));
+#2097=CARTESIAN_POINT('Ctrl Pts',(260.943799658425,0.869023883406476,387.146020639709));
+#2098=CARTESIAN_POINT('Ctrl Pts',(260.794254876113,1.4291148808014,386.835197660449));
+#2099=CARTESIAN_POINT('Ctrl Pts',(260.673204138637,1.79613746238104,386.583598438582));
+#2100=CARTESIAN_POINT('Ctrl Pts',(260.405893013435,2.41823034220066,386.028002723104));
+#2101=CARTESIAN_POINT('Ctrl Pts',(259.661346435234,3.55785774966025,384.480491789881));
+#2102=CARTESIAN_POINT('Ctrl Pts',(258.075499518502,4.74959103516771,381.184371017973));
+#2103=CARTESIAN_POINT('Ctrl Pts',(256.513333156424,5.03323008420442,377.937469352439));
+#2104=CARTESIAN_POINT('Ctrl Pts',(255.7417609056,4.99332680385765,376.333786616018));
+#2105=CARTESIAN_POINT('Ctrl Pts',(255.867417650202,-4.99982537389044,376.261044618376));
+#2106=CARTESIAN_POINT('Ctrl Pts',(256.651221952206,-5.02085940514063,377.858800221315));
+#2107=CARTESIAN_POINT('Ctrl Pts',(258.225147088512,-4.68739218156033,381.08629310275));
+#2108=CARTESIAN_POINT('Ctrl Pts',(260.097071703111,-3.18147754796868,385.007472980735));
+#2109=CARTESIAN_POINT('Ctrl Pts',(260.891592479506,-1.41323969696599,386.763199767887));
+#2110=CARTESIAN_POINT('Ctrl Pts',(261.034448446201,-0.000139461585664461,
+387.096325669613));
+#2111=CARTESIAN_POINT('Ctrl Pts',(260.953694278585,0.79473806225767,386.908273460122));
+#2112=CARTESIAN_POINT('Ctrl Pts',(260.82424918746,1.32509279134386,386.617573536871));
+#2113=CARTESIAN_POINT('Ctrl Pts',(260.71782685947,1.67662145259577,386.380404870616));
+#2114=CARTESIAN_POINT('Ctrl Pts',(260.47743333856,2.28354040697289,385.850755144204));
+#2115=CARTESIAN_POINT('Ctrl Pts',(259.781960838314,3.43156647792371,384.348686528194));
+#2116=CARTESIAN_POINT('Ctrl Pts',(258.227716350475,4.68825462953961,381.090109918361));
+#2117=CARTESIAN_POINT('Ctrl Pts',(256.651221952207,5.02085940514062,377.858800221316));
+#2118=CARTESIAN_POINT('Ctrl Pts',(255.867417650202,4.99982537389044,376.261044618376));
+#2119=CARTESIAN_POINT('Ctrl Pts',(256.115352354941,-5.07715185480076,376.115590572616));
+#2120=CARTESIAN_POINT('Ctrl Pts',(256.933071336912,-5.07251087579148,377.701452293154));
+#2121=CARTESIAN_POINT('Ctrl Pts',(258.562233107105,-4.66454999620876,380.895201718292));
+#2122=CARTESIAN_POINT('Ctrl Pts',(260.444598471989,-3.00920417375347,384.73543956542));
+#2123=CARTESIAN_POINT('Ctrl Pts',(261.127561102943,-1.20963373193169,386.322021233177));
+#2124=CARTESIAN_POINT('Ctrl Pts',(261.216350489292,-0.000126954063229879,
+386.576909444593));
+#2125=CARTESIAN_POINT('Ctrl Pts',(261.165576736461,0.680205882169762,386.432243435508));
+#2126=CARTESIAN_POINT('Ctrl Pts',(261.063422519385,1.17031375829582,386.182033393225));
+#2127=CARTESIAN_POINT('Ctrl Pts',(260.976278353916,1.50264620251935,385.97389669567));
+#2128=CARTESIAN_POINT('Ctrl Pts',(260.769332156969,2.09687475161645,385.4964233027));
+#2129=CARTESIAN_POINT('Ctrl Pts',(260.124135870203,3.28389459190028,384.085626313149));
+#2130=CARTESIAN_POINT('Ctrl Pts',(258.567126928046,4.66591447680729,380.902171657959));
+#2131=CARTESIAN_POINT('Ctrl Pts',(256.933071336912,5.07251087579146,377.701452293154));
+#2132=CARTESIAN_POINT('Ctrl Pts',(256.115352354941,5.07715185480075,376.115590572616));
+#2133=CARTESIAN_POINT('Ctrl Pts',(256.383249303804,-5.34034540546535,375.953061563909));
+#2134=CARTESIAN_POINT('Ctrl Pts',(257.253460304932,-5.3364639641778,377.532139193631));
+#2135=CARTESIAN_POINT('Ctrl Pts',(258.99330675183,-4.90806728889744,380.707764440849));
+#2136=CARTESIAN_POINT('Ctrl Pts',(261.029127236175,-3.15374536419987,384.507946230697));
+#2137=CARTESIAN_POINT('Ctrl Pts',(261.782333120282,-1.24512682725279,386.025805698517));
+#2138=CARTESIAN_POINT('Ctrl Pts',(261.880037769087,-1.45239935737445E-5,
+386.251140977778));
+#2139=CARTESIAN_POINT('Ctrl Pts',(261.824144847753,0.699944191986256,386.122884767956));
+#2140=CARTESIAN_POINT('Ctrl Pts',(261.71158995534,1.21174332791278,385.88849833286));
+#2141=CARTESIAN_POINT('Ctrl Pts',(261.615667285941,1.56003603774186,385.691818988859));
+#2142=CARTESIAN_POINT('Ctrl Pts',(261.388290206314,2.18609162220861,385.235317559347));
+#2143=CARTESIAN_POINT('Ctrl Pts',(260.682430291605,3.4444195058301,383.86308716833));
+#2144=CARTESIAN_POINT('Ctrl Pts',(258.998581234609,4.90980979107183,380.715815704229));
+#2145=CARTESIAN_POINT('Ctrl Pts',(257.253460304932,5.33646396417778,377.532139193631));
+#2146=CARTESIAN_POINT('Ctrl Pts',(256.383249303804,5.34034540546534,375.953061563909));
+#2147=CARTESIAN_POINT('Ctrl Pts',(256.529178535907,-5.66516421175494,375.859110600333));
+#2148=CARTESIAN_POINT('Ctrl Pts',(257.437265918255,-5.68377078085385,377.444709250481));
+#2149=CARTESIAN_POINT('Ctrl Pts',(259.265178059482,-5.28949990301537,380.639957724634));
+#2150=CARTESIAN_POINT('Ctrl Pts',(261.458128516423,-3.53518846064911,384.489527418429));
+#2151=CARTESIAN_POINT('Ctrl Pts',(262.375691650135,-1.51144378777916,386.12058935153));
+#2152=CARTESIAN_POINT('Ctrl Pts',(262.530281950693,-1.11760689222114E-5,
+386.399542190093));
+#2153=CARTESIAN_POINT('Ctrl Pts',(262.442692493676,0.8496958675714,386.241560165922));
+#2154=CARTESIAN_POINT('Ctrl Pts',(262.296024516526,1.4339096305336,385.979743983854));
+#2155=CARTESIAN_POINT('Ctrl Pts',(262.174623063273,1.82447729787948,385.763464598305));
+#2156=CARTESIAN_POINT('Ctrl Pts',(261.897935899457,2.50785826872109,385.271966423349));
+#2157=CARTESIAN_POINT('Ctrl Pts',(261.087695658876,3.82597677432017,383.839669008563));
+#2158=CARTESIAN_POINT('Ctrl Pts',(259.268713968622,5.29098807157145,380.645856145226));
+#2159=CARTESIAN_POINT('Ctrl Pts',(257.437265918255,5.68377078085383,377.444709250481));
+#2160=CARTESIAN_POINT('Ctrl Pts',(256.529178535907,5.66516421175494,375.859110600333));
+#2161=CARTESIAN_POINT('Ctrl Pts',(256.557547342935,-5.88302479830772,375.8362268199));
+#2162=CARTESIAN_POINT('Ctrl Pts',(257.479355339684,-5.92112478662484,377.432806306784));
+#2163=CARTESIAN_POINT('Ctrl Pts',(259.341715209265,-5.56207667472333,380.658542664417));
+#2164=CARTESIAN_POINT('Ctrl Pts',(261.604937337858,-3.83468830372033,384.578400994367));
+#2165=CARTESIAN_POINT('Ctrl Pts',(262.624909691535,-1.73973856660145,386.345002298027));
+#2166=CARTESIAN_POINT('Ctrl Pts',(262.821155878583,-6.69628928351211E-6,
+386.684876196906));
+#2167=CARTESIAN_POINT('Ctrl Pts',(262.710416988065,0.978278232088543,386.493091769901));
+#2168=CARTESIAN_POINT('Ctrl Pts',(262.540806857951,1.6210111001872,386.199341344749));
+#2169=CARTESIAN_POINT('Ctrl Pts',(262.402658296277,2.04478047978143,385.960078712395));
+#2170=CARTESIAN_POINT('Ctrl Pts',(262.094853089763,2.77022376867054,385.426979614573));
+#2171=CARTESIAN_POINT('Ctrl Pts',(261.225016867402,4.12135766612489,383.920452921482));
+#2172=CARTESIAN_POINT('Ctrl Pts',(259.343762731749,5.56324225077042,380.662119441621));
+#2173=CARTESIAN_POINT('Ctrl Pts',(257.479355339685,5.92112478662483,377.432806306785));
+#2174=CARTESIAN_POINT('Ctrl Pts',(256.557547342935,5.88302479830773,375.8362268199));
+#2175=CARTESIAN_POINT('Ctrl Pts',(256.556138480818,-5.99199216462918,375.833786599241));
+#2176=CARTESIAN_POINT('Ctrl Pts',(257.482025181807,-6.03987610104531,377.437469335663));
+#2177=CARTESIAN_POINT('Ctrl Pts',(259.355276137941,-5.69854647962786,380.682035021859));
+#2178=CARTESIAN_POINT('Ctrl Pts',(261.642490021299,-3.9849293599469,384.643605498381));
+#2179=CARTESIAN_POINT('Ctrl Pts',(262.704832726275,-1.85452514251577,386.483636956132));
+#2180=CARTESIAN_POINT('Ctrl Pts',(262.919605831857,-4.96935152275366E-5,
+386.855634870457));
+#2181=CARTESIAN_POINT('Ctrl Pts',(262.798584984209,1.04282866008778,386.646020622933));
+#2182=CARTESIAN_POINT('Ctrl Pts',(262.619131245434,1.71493785696169,386.335197643673));
+#2183=CARTESIAN_POINT('Ctrl Pts',(262.473870360463,2.15536495485726,386.083598421806));
+#2184=CARTESIAN_POINT('Ctrl Pts',(262.15309701022,2.90187641064079,385.528002706327));
+#2185=CARTESIAN_POINT('Ctrl Pts',(261.259641116379,4.26942929959231,383.980491773105));
+#2186=CARTESIAN_POINT('Ctrl Pts',(259.3566248163,5.69950924220126,380.684371001197));
+#2187=CARTESIAN_POINT('Ctrl Pts',(257.482025181808,6.03987610104531,377.437469335663));
+#2188=CARTESIAN_POINT('Ctrl Pts',(256.556138480818,5.99199216462918,375.833786599242));
+#2189=CARTESIAN_POINT('',(255.7417609056,4.99332680385765,376.333786616018));
+#2190=CARTESIAN_POINT('',(255.7417609056,-4.99332680385765,376.333786616018));
+#2191=CARTESIAN_POINT('Origin',(256.,0.,376.870526470408));
+#2192=CARTESIAN_POINT('',(257.05591354666,5.97419116399447,376.699941968749));
+#2193=CARTESIAN_POINT('Ctrl Pts',(255.7417609056,4.99332680385765,376.333786616018));
+#2194=CARTESIAN_POINT('Ctrl Pts',(255.743549596256,4.9934193092901,376.334310508674));
+#2195=CARTESIAN_POINT('Ctrl Pts',(255.745338168499,4.99351418260244,376.334834398631));
+#2196=CARTESIAN_POINT('Ctrl Pts',(255.880268462537,5.00085057763516,376.374359103577));
+#2197=CARTESIAN_POINT('Ctrl Pts',(256.013974527423,5.02128012875499,376.413693698889));
+#2198=CARTESIAN_POINT('Ctrl Pts',(256.269763714597,5.08887687915408,376.488400776497));
+#2199=CARTESIAN_POINT('Ctrl Pts',(256.394563849756,5.13617919289937,376.5245699482));
+#2200=CARTESIAN_POINT('Ctrl Pts',(256.629257868685,5.26325547575535,376.591271881782));
+#2201=CARTESIAN_POINT('Ctrl Pts',(256.740975262992,5.3450755757852,376.622258545957));
+#2202=CARTESIAN_POINT('Ctrl Pts',(256.902041367778,5.52189503511114,376.665127563178));
+#2203=CARTESIAN_POINT('Ctrl Pts',(256.95949800065,5.60806432056523,376.679718455789));
+#2204=CARTESIAN_POINT('Ctrl Pts',(257.034432207875,5.78993537786268,376.697291578068));
+#2205=CARTESIAN_POINT('Ctrl Pts',(257.054069699463,5.88079501895925,376.701006514259));
+#2206=CARTESIAN_POINT('Ctrl Pts',(257.05591354666,5.97419116399447,376.699941968749));
+#2207=CARTESIAN_POINT('',(257.056138540873,5.99698732626838,376.6998120683));
+#2208=CARTESIAN_POINT('Ctrl Pts',(257.055944253756,5.97397426682588,376.699997604202));
+#2209=CARTESIAN_POINT('Ctrl Pts',(257.05609496808,5.98156704835923,376.699910059433));
+#2210=CARTESIAN_POINT('Ctrl Pts',(257.056170267214,5.98916569546194,376.699866047458));
+#2211=CARTESIAN_POINT('Ctrl Pts',(257.056169605282,5.99676877590108,376.699865873433));
+#2212=CARTESIAN_POINT('',(257.056138540873,-5.99698732626838,376.6998120683));
+#2213=CARTESIAN_POINT('Origin',(256.866025394098,0.,376.370526453631));
+#2214=CARTESIAN_POINT('',(257.05591354666,-5.97419116399446,376.699941968749));
+#2215=CARTESIAN_POINT('Ctrl Pts',(257.056113550371,-5.99672867640722,376.699768783483));
+#2216=CARTESIAN_POINT('Ctrl Pts',(257.056112282732,-5.98912687027788,376.699765523529));
+#2217=CARTESIAN_POINT('Ctrl Pts',(257.056035083073,-5.98152765226902,376.699806096146));
+#2218=CARTESIAN_POINT('Ctrl Pts',(257.055882385167,-5.97393245271352,376.69989025694));
+#2219=CARTESIAN_POINT('Ctrl Pts',(255.7417609056,-4.99332680385765,376.333786616018));
+#2220=CARTESIAN_POINT('Ctrl Pts',(255.743548834357,-4.9934192698871,376.33431028552));
+#2221=CARTESIAN_POINT('Ctrl Pts',(255.745336644801,-4.99351410177956,376.334833952325));
+#2222=CARTESIAN_POINT('Ctrl Pts',(255.881162629616,-5.00089904345216,376.374621027143));
+#2223=CARTESIAN_POINT('Ctrl Pts',(256.015781859315,-5.02155589670744,376.414225338546));
+#2224=CARTESIAN_POINT('Ctrl Pts',(256.273938123111,-5.09018308076501,376.489616171871));
+#2225=CARTESIAN_POINT('Ctrl Pts',(256.400236083131,-5.13846508958859,376.526208477064));
+#2226=CARTESIAN_POINT('Ctrl Pts',(256.634509570686,-5.26693270016856,376.59273639847));
+#2227=CARTESIAN_POINT('Ctrl Pts',(256.744652307926,-5.3484170831262,376.623257561771));
+#2228=CARTESIAN_POINT('Ctrl Pts',(256.903694464656,-5.52424962267778,376.665551753232));
+#2229=CARTESIAN_POINT('Ctrl Pts',(256.960493832369,-5.60998964023513,376.679962050924));
+#2230=CARTESIAN_POINT('Ctrl Pts',(257.034638999448,-5.7908866898167,376.697330878825));
+#2231=CARTESIAN_POINT('Ctrl Pts',(257.054079459638,-5.88128939979941,376.70100087922));
+#2232=CARTESIAN_POINT('Ctrl Pts',(257.05591354666,-5.97419116399446,376.699941968749));
+#2233=CARTESIAN_POINT('Ctrl Pts',(255.741760905599,4.99332680385764,376.333786616018));
+#2234=CARTESIAN_POINT('Ctrl Pts',(256.513333156424,5.03323008420444,375.799225762903));
+#2235=CARTESIAN_POINT('Ctrl Pts',(258.074683604551,4.74865518141755,374.71749060891));
+#2236=CARTESIAN_POINT('Ctrl Pts',(259.979616078413,3.32052008121597,373.397714881794));
+#2237=CARTESIAN_POINT('Ctrl Pts',(261.045035451251,1.19067354750014,372.659570802272));
+#2238=CARTESIAN_POINT('Ctrl Pts',(261.0436026774,-1.19018570923003,372.66056345696));
+#2239=CARTESIAN_POINT('Ctrl Pts',(259.980255451012,-3.32061023087489,373.397271911532));
+#2240=CARTESIAN_POINT('Ctrl Pts',(258.074593106907,-4.7487010241237,374.717553307507));
+#2241=CARTESIAN_POINT('Ctrl Pts',(256.513333156424,-5.03323008420442,375.799225762903));
+#2242=CARTESIAN_POINT('Ctrl Pts',(255.7417609056,-4.99332680385765,376.333786616018));
+#2243=CARTESIAN_POINT('Ctrl Pts',(255.815159105649,4.99712272698787,376.46125607183));
+#2244=CARTESIAN_POINT('Ctrl Pts',(256.591409538678,5.02586816486848,375.932816753404));
+#2245=CARTESIAN_POINT('Ctrl Pts',(258.152738426857,4.71427596559273,374.865756953733));
+#2246=CARTESIAN_POINT('Ctrl Pts',(260.022870742481,3.26192389128438,373.573816321594));
+#2247=CARTESIAN_POINT('Ctrl Pts',(261.042991895441,1.15891863241661,372.860055198753));
+#2248=CARTESIAN_POINT('Ctrl Pts',(261.041933414343,-1.15893974561131,372.860907114422));
+#2249=CARTESIAN_POINT('Ctrl Pts',(260.023614422509,-3.26188376733861,373.573320163831));
+#2250=CARTESIAN_POINT('Ctrl Pts',(258.152827692006,-4.71434425840911,374.86574524446));
+#2251=CARTESIAN_POINT('Ctrl Pts',(256.591409538678,-5.02586816486846,375.932816753404));
+#2252=CARTESIAN_POINT('Ctrl Pts',(255.81515910565,-4.99712272698788,376.46125607183));
+#2253=CARTESIAN_POINT('Ctrl Pts',(255.958326082522,5.07074081735605,376.715823017898));
+#2254=CARTESIAN_POINT('Ctrl Pts',(256.75380173892,5.08449214977965,376.199565401065));
+#2255=CARTESIAN_POINT('Ctrl Pts',(258.341555388867,4.73046598531865,375.161650184101));
+#2256=CARTESIAN_POINT('Ctrl Pts',(260.194405234316,3.22040956368272,373.925023450733));
+#2257=CARTESIAN_POINT('Ctrl Pts',(261.164342510768,1.12667117493705,373.259687448366));
+#2258=CARTESIAN_POINT('Ctrl Pts',(261.163809117832,-1.12751871425808,373.260247906337));
+#2259=CARTESIAN_POINT('Ctrl Pts',(260.195375930782,-3.22017015190622,373.924421274657));
+#2260=CARTESIAN_POINT('Ctrl Pts',(258.341954147889,-4.73055838749524,375.161491195588));
+#2261=CARTESIAN_POINT('Ctrl Pts',(256.753801738921,-5.08449214977961,376.199565401065));
+#2262=CARTESIAN_POINT('Ctrl Pts',(255.958326082522,-5.07074081735605,376.715823017898));
+#2263=CARTESIAN_POINT('Ctrl Pts',(256.149466984418,5.40533879364672,377.076860842082));
+#2264=CARTESIAN_POINT('Ctrl Pts',(257.001857692693,5.42062875249889,376.569544652849));
+#2265=CARTESIAN_POINT('Ctrl Pts',(258.705449033014,5.04378122481634,375.552578556019));
+#2266=CARTESIAN_POINT('Ctrl Pts',(260.697006858047,3.430821931133,374.352813958313));
+#2267=CARTESIAN_POINT('Ctrl Pts',(261.738347772958,1.1982732046032,373.717667553432));
+#2268=CARTESIAN_POINT('Ctrl Pts',(261.737813461832,-1.19930293871195,373.718094665474));
+#2269=CARTESIAN_POINT('Ctrl Pts',(260.698119369658,-3.43052967419645,374.352165735313));
+#2270=CARTESIAN_POINT('Ctrl Pts',(258.70591916456,-5.0438933504461,375.552342265991));
+#2271=CARTESIAN_POINT('Ctrl Pts',(257.001857692693,-5.42062875249885,376.569544652849));
+#2272=CARTESIAN_POINT('Ctrl Pts',(256.149466984419,-5.40533879364672,377.076860842082));
+#2273=CARTESIAN_POINT('Ctrl Pts',(256.198665271394,5.77150326572169,377.194874414444));
+#2274=CARTESIAN_POINT('Ctrl Pts',(257.0994887628,5.80698639422889,376.675026609206));
+#2275=CARTESIAN_POINT('Ctrl Pts',(258.914682087171,5.45174618650785,375.62719634195));
+#2276=CARTESIAN_POINT('Ctrl Pts',(261.09773732509,3.77524875406236,374.36783820256));
+#2277=CARTESIAN_POINT('Ctrl Pts',(262.291741985496,1.3413586583559,373.679217676899));
+#2278=CARTESIAN_POINT('Ctrl Pts',(262.290445355724,-1.3414204221787,373.679859470345));
+#2279=CARTESIAN_POINT('Ctrl Pts',(261.098644441418,-3.77518554137506,374.367312599294));
+#2280=CARTESIAN_POINT('Ctrl Pts',(258.914793904532,-5.45184009679682,375.627135075746));
+#2281=CARTESIAN_POINT('Ctrl Pts',(257.0994887628,-5.80698639422886,376.675026609206));
+#2282=CARTESIAN_POINT('Ctrl Pts',(256.198665271394,-5.7715032657217,377.194874414444));
+#2283=CARTESIAN_POINT('Ctrl Pts',(256.190113028536,5.99199216462917,377.199812053395));
+#2284=CARTESIAN_POINT('Ctrl Pts',(257.115999729525,6.03987610104534,376.66525120028));
+#2285=CARTESIAN_POINT('Ctrl Pts',(258.989620267278,5.69838621770107,375.583516046287));
+#2286=CARTESIAN_POINT('Ctrl Pts',(261.275539235913,3.98462409745917,374.26374031917));
+#2287=CARTESIAN_POINT('Ctrl Pts',(262.554042483318,1.42880825700016,373.525596239649));
+#2288=CARTESIAN_POINT('Ctrl Pts',(262.552323154696,-1.42822285107604,373.526588894337));
+#2289=CARTESIAN_POINT('Ctrl Pts',(261.276306483031,-3.98473227704986,374.263297348909));
+#2290=CARTESIAN_POINT('Ctrl Pts',(258.989511670105,-5.69844122894846,375.583578744884));
+#2291=CARTESIAN_POINT('Ctrl Pts',(257.115999729526,-6.03987610104531,376.665251200279));
+#2292=CARTESIAN_POINT('Ctrl Pts',(256.190113028536,-5.99199216462919,377.199812053395));
+#2293=CARTESIAN_POINT('Origin',(256.499999941817,0.,377.020898788353));
+#2294=CARTESIAN_POINT('Origin',(256.,0.,376.154873350977));
+#2295=CARTESIAN_POINT('Origin',(269.555988956852,0.,398.350187107204));
+#2296=CARTESIAN_POINT('',(257.056138733474,32.5001123553317,376.699812401895));
+#2297=CARTESIAN_POINT('',(257.056138540873,0.,376.6998120683));
+#2298=CARTESIAN_POINT('',(269.555989151698,32.5001123552543,398.350187444687));
+#2299=CARTESIAN_POINT('Origin',(263.306063942586,32.5,387.524999923291));
+#2300=CARTESIAN_POINT('',(269.555989151698,-32.5001123552543,398.350187444687));
+#2301=CARTESIAN_POINT('',(269.555988956852,0.,398.350187107204));
+#2302=CARTESIAN_POINT('',(268.398652179231,-39.7462705700859,396.345621096575));
+#2303=CARTESIAN_POINT('Origin',(263.306063942586,-32.5,387.524999923291));
+#2304=CARTESIAN_POINT('',(268.306064110352,-40.3259791722275,396.185253864276));
+#2305=CARTESIAN_POINT('Origin',(268.806064127128,-40.3259791722275,397.051279258374));
+#2306=CARTESIAN_POINT('',(268.306064110352,-60.,396.185253864276));
+#2307=CARTESIAN_POINT('',(258.30606377482,-40.3259791722277,378.864745982306));
+#2308=CARTESIAN_POINT('',(258.30606377482,-39.9997499962006,378.864745982306));
+#2309=CARTESIAN_POINT('',(258.213475705941,-39.746270570086,378.704378750007));
+#2310=CARTESIAN_POINT('Origin',(257.806063758044,-40.3259791722277,377.998720588208));
+#2311=CARTESIAN_POINT('',(257.056138733474,-32.5001123553317,376.699812401895));
+#2312=CARTESIAN_POINT('Origin',(263.306063942586,-32.5,387.524999923291));
+#2313=CARTESIAN_POINT('',(257.056138540873,0.,376.6998120683));
+#2314=CARTESIAN_POINT('',(263.306063898956,20.9,387.524999847721));
+#2315=CARTESIAN_POINT('Origin',(263.306063898956,22.5,387.524999847721));
+#2316=CARTESIAN_POINT('',(263.306063898956,-24.1,387.524999847721));
+#2317=CARTESIAN_POINT('Origin',(263.306063898956,-22.5,387.524999847721));
+#2318=CARTESIAN_POINT('Origin',(256.,0.,361.856057522096));
+#2319=CARTESIAN_POINT('',(251.,6.12323399573677E-16,361.856057522096));
+#2320=CARTESIAN_POINT('Origin',(256.,0.,361.856057522096));
+#2321=CARTESIAN_POINT('',(251.,6.12323399573677E-16,366.47822208992));
+#2322=CARTESIAN_POINT('',(251.,-6.12323399573677E-16,361.856057522096));
+#2323=CARTESIAN_POINT('Origin',(256.,0.,376.870526470408));
+#2324=CARTESIAN_POINT('Origin',(256.,0.,376.870526470408));
+#2325=CARTESIAN_POINT('Ctrl Pts',(251.,-6.12323399573677E-16,366.47822208992));
+#2326=CARTESIAN_POINT('Ctrl Pts',(251.,0.373999125427355,366.47822208992));
+#2327=CARTESIAN_POINT('Ctrl Pts',(251.084446019882,1.12175751240245,366.653739838388));
+#2328=CARTESIAN_POINT('Ctrl Pts',(251.580873802657,2.5432932114891,367.685545562692));
+#2329=CARTESIAN_POINT('Ctrl Pts',(252.775277887877,4.04212873411824,370.168067724073));
+#2330=CARTESIAN_POINT('Ctrl Pts',(254.849798865951,5.04118610751503,374.479878413644));
+#2331=CARTESIAN_POINT('Ctrl Pts',(256.893613615255,5.04022446108501,378.727867408064));
+#2332=CARTESIAN_POINT('Ctrl Pts',(259.008851286773,4.21200476506105,383.124306151961));
+#2333=CARTESIAN_POINT('Ctrl Pts',(260.425506890444,2.68703932705513,386.068769399096));
+#2334=CARTESIAN_POINT('Ctrl Pts',(261.170035771545,0.273754384320168,387.616243549588));
+#2335=CARTESIAN_POINT('Ctrl Pts',(260.821995239968,-2.0433073673717,386.89285492141));
+#2336=CARTESIAN_POINT('Ctrl Pts',(259.22273508573,-4.04243549853027,383.568855260125));
+#2337=CARTESIAN_POINT('Ctrl Pts',(257.151551947592,-5.0408644797469,379.263982140273));
+#2338=CARTESIAN_POINT('Ctrl Pts',(254.849331625765,-5.04089190949145,374.478907273197));
+#2339=CARTESIAN_POINT('Ctrl Pts',(252.775893651947,-4.04316196466543,370.169347565603));
+#2340=CARTESIAN_POINT('Ctrl Pts',(251.58081780432,-2.54327063814639,367.685429172341));
+#2341=CARTESIAN_POINT('Ctrl Pts',(251.084515141347,-1.1218809189715,366.653883504648));
+#2342=CARTESIAN_POINT('Ctrl Pts',(251.,-0.373999125427356,366.47822208992));
+#2343=CARTESIAN_POINT('Ctrl Pts',(251.,-6.12323399573677E-16,366.47822208992));
+#2344=CARTESIAN_POINT('Ctrl Pts',(251.,-6.65210625047366E-16,366.72755483836));
+#2345=CARTESIAN_POINT('Ctrl Pts',(251.,0.341697740145251,366.72755483836));
+#2346=CARTESIAN_POINT('Ctrl Pts',(251.068595540861,1.02624953300072,366.885969060859));
+#2347=CARTESIAN_POINT('Ctrl Pts',(251.502576401522,2.39657002020043,367.856452248789));
+#2348=CARTESIAN_POINT('Ctrl Pts',(252.636147722616,3.93459693481944,370.283791168948));
+#2349=CARTESIAN_POINT('Ctrl Pts',(254.701141923679,5.01169287874549,374.563429264649));
+#2350=CARTESIAN_POINT('Ctrl Pts',(256.776053443493,5.06485324720376,378.795435199156));
+#2351=CARTESIAN_POINT('Ctrl Pts',(258.943078588912,4.26602484555188,383.180948701116));
+#2352=CARTESIAN_POINT('Ctrl Pts',(260.405570921289,2.73161311971564,386.120531602059));
+#2353=CARTESIAN_POINT('Ctrl Pts',(261.175873627338,0.279334590914844,387.665685190598));
+#2354=CARTESIAN_POINT('Ctrl Pts',(260.815243600418,-2.0803077650404,386.94327124239));
+#2355=CARTESIAN_POINT('Ctrl Pts',(259.163903998897,-4.09655493799213,383.624793622655));
+#2356=CARTESIAN_POINT('Ctrl Pts',(257.037983355033,-5.07234521213802,379.329552614152));
+#2357=CARTESIAN_POINT('Ctrl Pts',(254.700476340966,-5.01142459442435,374.562449537718));
+#2358=CARTESIAN_POINT('Ctrl Pts',(252.636907479195,-3.93568386641632,370.285179139234));
+#2359=CARTESIAN_POINT('Ctrl Pts',(251.502495805547,-2.39655171067489,367.856337173346));
+#2360=CARTESIAN_POINT('Ctrl Pts',(251.068679570688,-1.02637994156218,366.886126006477));
+#2361=CARTESIAN_POINT('Ctrl Pts',(251.,-0.341697740145253,366.72755483836));
+#2362=CARTESIAN_POINT('Ctrl Pts',(251.,-5.59436174099987E-16,366.72755483836));
+#2363=CARTESIAN_POINT('Ctrl Pts',(250.804031631833,-5.06776413675727E-16,
+367.22519530642));
+#2364=CARTESIAN_POINT('Ctrl Pts',(250.804031631833,0.291767917725933,367.22519530642));
+#2365=CARTESIAN_POINT('Ctrl Pts',(250.848992122857,0.879128942859783,367.349470319464));
+#2366=CARTESIAN_POINT('Ctrl Pts',(251.19993308243,2.19219289658476,368.196788726939));
+#2367=CARTESIAN_POINT('Ctrl Pts',(252.281817993492,3.82834925349845,370.514127363501));
+#2368=CARTESIAN_POINT('Ctrl Pts',(254.391054326776,5.04004698986743,374.729739881956));
+#2369=CARTESIAN_POINT('Ctrl Pts',(256.554660409824,5.16834093548176,378.9299650794));
+#2370=CARTESIAN_POINT('Ctrl Pts',(258.832326878974,4.3956834105314,383.293748161381));
+#2371=CARTESIAN_POINT('Ctrl Pts',(260.378451133586,2.82622971665718,386.223677850014));
+#2372=CARTESIAN_POINT('Ctrl Pts',(261.19386920972,0.290219826380054,387.764269462248));
+#2373=CARTESIAN_POINT('Ctrl Pts',(260.811727591169,-2.15599180268736,387.043751488308));
+#2374=CARTESIAN_POINT('Ctrl Pts',(259.065841627407,-4.22357707833326,383.736250992154));
+#2375=CARTESIAN_POINT('Ctrl Pts',(256.827896908852,-5.18531414142387,379.460027705831));
+#2376=CARTESIAN_POINT('Ctrl Pts',(254.390340628395,-5.0398537288809,374.728515647248));
+#2377=CARTESIAN_POINT('Ctrl Pts',(252.282778495006,-3.82944881147982,370.51582956082));
+#2378=CARTESIAN_POINT('Ctrl Pts',(251.199850016916,-2.19218469859363,368.196646857936));
+#2379=CARTESIAN_POINT('Ctrl Pts',(250.849100304517,-0.879261982389226,367.349662616786));
+#2380=CARTESIAN_POINT('Ctrl Pts',(250.804031631833,-0.291767917725934,367.22519530642));
+#2381=CARTESIAN_POINT('Ctrl Pts',(250.804031631833,-4.77878350661213E-16,
+367.22519530642));
+#2382=CARTESIAN_POINT('Ctrl Pts',(250.142433096875,3.1698181134805E-16,
+367.543365844928));
+#2383=CARTESIAN_POINT('Ctrl Pts',(250.142433096875,0.300104940184482,367.543365844928));
+#2384=CARTESIAN_POINT('Ctrl Pts',(250.191896772851,0.904881952831211,367.654599546376));
+#2385=CARTESIAN_POINT('Ctrl Pts',(250.578875694551,2.28491941323631,368.45326134578));
+#2386=CARTESIAN_POINT('Ctrl Pts',(251.760365155268,4.02339069349919,370.72194410492));
+#2387=CARTESIAN_POINT('Ctrl Pts',(254.027358950045,5.30344442775796,374.904595944193));
+#2388=CARTESIAN_POINT('Ctrl Pts',(256.330854471347,5.43544944912578,379.086568309431));
+#2389=CARTESIAN_POINT('Ctrl Pts',(258.744125540339,4.61870174186178,383.436858822096));
+#2390=CARTESIAN_POINT('Ctrl Pts',(260.375266054846,2.96759161301349,386.360256034388));
+#2391=CARTESIAN_POINT('Ctrl Pts',(261.23440029313,0.304547602038355,387.897689360917));
+#2392=CARTESIAN_POINT('Ctrl Pts',(260.832101808048,-2.26327589727735,387.178535430023));
+#2393=CARTESIAN_POINT('Ctrl Pts',(258.990514415614,-4.4373269802842,383.878403749291));
+#2394=CARTESIAN_POINT('Ctrl Pts',(256.621666783736,-5.45290640948259,379.614349103247));
+#2395=CARTESIAN_POINT('Ctrl Pts',(254.026608918267,-5.30327567920895,374.903358112152));
+#2396=CARTESIAN_POINT('Ctrl Pts',(251.761413745436,-4.02447897336261,370.723725522564));
+#2397=CARTESIAN_POINT('Ctrl Pts',(250.578789361613,-2.28491418605836,368.453119421227));
+#2398=CARTESIAN_POINT('Ctrl Pts',(250.1920153241,-0.905013943812955,367.654801465009));
+#2399=CARTESIAN_POINT('Ctrl Pts',(250.142433096875,-0.300104940184482,367.543365844928));
+#2400=CARTESIAN_POINT('Ctrl Pts',(250.142433096875,-4.91412047529338E-16,
+367.543365844928));
+#2401=CARTESIAN_POINT('Ctrl Pts',(249.507333398065,1.20092597860246E-15,
+367.409504177829));
+#2402=CARTESIAN_POINT('Ctrl Pts',(249.507333398065,0.365016263497021,367.409504177829));
+#2403=CARTESIAN_POINT('Ctrl Pts',(249.582140324236,1.09768400554921,367.544172130056));
+#2404=CARTESIAN_POINT('Ctrl Pts',(250.076689707639,2.62926826383907,368.426059303399));
+#2405=CARTESIAN_POINT('Ctrl Pts',(251.403079837756,4.41214572062291,370.76611536594));
+#2406=CARTESIAN_POINT('Ctrl Pts',(253.812811049318,5.66906592288047,374.987021224854));
+#2407=CARTESIAN_POINT('Ctrl Pts',(256.21764927442,5.74415717531484,379.186473476864));
+#2408=CARTESIAN_POINT('Ctrl Pts',(258.718617226418,4.84348259987616,383.547857259715));
+#2409=CARTESIAN_POINT('Ctrl Pts',(260.399430608239,3.10163615445645,386.475728978919));
+#2410=CARTESIAN_POINT('Ctrl Pts',(261.283471089632,0.317228522584161,388.015225977249));
+#2411=CARTESIAN_POINT('Ctrl Pts',(260.869946911396,-2.36228628806114,387.295248134004));
+#2412=CARTESIAN_POINT('Ctrl Pts',(258.972451019236,-4.65101605151053,383.99001025034));
+#2413=CARTESIAN_POINT('Ctrl Pts',(256.521180269787,-5.75448154691069,379.7164767533));
+#2414=CARTESIAN_POINT('Ctrl Pts',(253.812158481043,-5.66882022234868,374.9858985677));
+#2415=CARTESIAN_POINT('Ctrl Pts',(251.403998336077,-4.41328897609342,370.767699968845));
+#2416=CARTESIAN_POINT('Ctrl Pts',(250.076613880715,-2.62925370770204,368.425928867035));
+#2417=CARTESIAN_POINT('Ctrl Pts',(249.582244180188,-1.09782168531388,367.544351346234));
+#2418=CARTESIAN_POINT('Ctrl Pts',(249.507333398065,-0.365016263497021,367.409504177829));
+#2419=CARTESIAN_POINT('Ctrl Pts',(249.507333398065,-5.97583401495759E-16,
+367.409504177829));
+#2420=CARTESIAN_POINT('Ctrl Pts',(249.227474389704,1.635057414089E-15,367.140168475494));
+#2421=CARTESIAN_POINT('Ctrl Pts',(249.227474389704,0.420771018195498,367.140168475494));
+#2422=CARTESIAN_POINT('Ctrl Pts',(249.320669722692,1.26302665394436,367.301611149973));
+#2423=CARTESIAN_POINT('Ctrl Pts',(249.886204115778,2.9106804187378,368.281099767702));
+#2424=CARTESIAN_POINT('Ctrl Pts',(251.289974058911,4.7042119757559,370.712504265958));
+#2425=CARTESIAN_POINT('Ctrl Pts',(253.759665973966,5.92257039557537,374.990081674231));
+#2426=CARTESIAN_POINT('Ctrl Pts',(256.201286887083,5.94688981055686,379.219059440092));
+#2427=CARTESIAN_POINT('Ctrl Pts',(258.731424122094,4.98411374757757,383.601361518891));
+#2428=CARTESIAN_POINT('Ctrl Pts',(260.427417131763,3.18351776895942,386.538927466989));
+#2429=CARTESIAN_POINT('Ctrl Pts',(261.318913735386,0.32474733290809,388.083064680735));
+#2430=CARTESIAN_POINT('Ctrl Pts',(260.902104300633,-2.42208141002767,387.361114948249));
+#2431=CARTESIAN_POINT('Ctrl Pts',(258.98749809192,-4.78429655152866,384.044915356812));
+#2432=CARTESIAN_POINT('Ctrl Pts',(256.509438344938,-5.95085392771719,379.752768728201));
+#2433=CARTESIAN_POINT('Ctrl Pts',(253.75908473832,-5.92226199873076,374.989021549627));
+#2434=CARTESIAN_POINT('Ctrl Pts',(251.29077322535,-4.70542079833749,370.713901728964));
+#2435=CARTESIAN_POINT('Ctrl Pts',(249.886135440344,-2.9106587603126,368.280973706019));
+#2436=CARTESIAN_POINT('Ctrl Pts',(249.320759834435,-1.26317154547454,367.3017680868));
+#2437=CARTESIAN_POINT('Ctrl Pts',(249.227474389704,-0.420771018195497,367.140168475494));
+#2438=CARTESIAN_POINT('Ctrl Pts',(249.227474389704,-6.88986398180265E-16,
+367.140168475494));
+#2439=CARTESIAN_POINT('Ctrl Pts',(249.133974605901,1.79536330635148E-15,
+366.978222106697));
+#2440=CARTESIAN_POINT('Ctrl Pts',(249.133974605901,0.448798950512834,366.978222106697));
+#2441=CARTESIAN_POINT('Ctrl Pts',(249.23530982976,1.34610901488294,367.153739855165));
+#2442=CARTESIAN_POINT('Ctrl Pts',(249.831023169089,3.05195185378693,368.185545579469));
+#2443=CARTESIAN_POINT('Ctrl Pts',(251.264308071353,4.85055448094188,370.668067740849));
+#2444=CARTESIAN_POINT('Ctrl Pts',(253.753733245043,6.04942332901805,374.979878430421));
+#2445=CARTESIAN_POINT('Ctrl Pts',(256.206310944207,6.04826935330201,379.22786742484));
+#2446=CARTESIAN_POINT('Ctrl Pts',(258.744596150029,5.05440571807326,383.624306168737));
+#2447=CARTESIAN_POINT('Ctrl Pts',(260.444582874434,3.22444719246615,386.568769415872));
+#2448=CARTESIAN_POINT('Ctrl Pts',(261.338017531755,0.328505261184203,388.116243566365));
+#2449=CARTESIAN_POINT('Ctrl Pts',(260.920368893863,-2.45196884084604,387.392854938186));
+#2450=CARTESIAN_POINT('Ctrl Pts',(259.001256708777,-4.85092259823632,384.068855276901));
+#2451=CARTESIAN_POINT('Ctrl Pts',(256.515836943012,-6.04903737569628,379.763982157049));
+#2452=CARTESIAN_POINT('Ctrl Pts',(253.753172556819,-6.04907029138975,374.978907289974));
+#2453=CARTESIAN_POINT('Ctrl Pts',(251.265046988238,-4.8517943575985,370.669347582379));
+#2454=CARTESIAN_POINT('Ctrl Pts',(249.830955971086,-3.05192476577568,368.185429189117));
+#2455=CARTESIAN_POINT('Ctrl Pts',(249.235392775518,-1.3462571027658,367.153883521425));
+#2456=CARTESIAN_POINT('Ctrl Pts',(249.133974605901,-0.448798950512833,366.978222106697));
+#2457=CARTESIAN_POINT('Ctrl Pts',(249.133974605901,-7.34788079488418E-16,
+366.978222106697));
+#2458=CARTESIAN_POINT('Origin',(255.133974605901,0.,377.370526487185));
+#2459=CARTESIAN_POINT('Ctrl Pts',(249.221828057704,1.6499128125064E-15,
+367.105992870474));
+#2460=CARTESIAN_POINT('Ctrl Pts',(249.306867202134,1.51306265994771E-15,
+367.211091241199));
+#2461=CARTESIAN_POINT('Ctrl Pts',(249.560065192708,1.12753283672089E-15,
+367.420618599633));
+#2462=CARTESIAN_POINT('Ctrl Pts',(250.142433096875,3.1698181134805E-16,
+367.543365844928));
+#2463=CARTESIAN_POINT('Ctrl Pts',(250.804031631833,-5.06776413675727E-16,
+367.22519530642));
+#2464=CARTESIAN_POINT('Ctrl Pts',(251.,-6.65210625047366E-16,366.72755483836));
+#2465=CARTESIAN_POINT('Ctrl Pts',(251.,-6.12323399573677E-16,366.47822208992));
+#2466=CARTESIAN_POINT('Origin',(265.086962270887,0.,394.609606038812));
+#2467=CARTESIAN_POINT('',(265.086962270887,-40.,394.609606038812));
+#2468=CARTESIAN_POINT('',(265.086962270887,-40.,394.609606038812));
+#2469=CARTESIAN_POINT('',(265.086962270887,0.,394.609606038812));
+#2470=CARTESIAN_POINT('',(261.574013110759,-24.1,388.524999881274));
+#2471=CARTESIAN_POINT('Origin',(261.574013110759,-22.5,388.524999881274));
+#2472=CARTESIAN_POINT('',(261.574013110759,20.9,388.524999881274));
+#2473=CARTESIAN_POINT('Origin',(261.574013110759,22.5,388.524999881274));
+#2474=CARTESIAN_POINT('Origin',(256.,0.,361.856057522096));
+#2475=CARTESIAN_POINT('Origin',(257.03997886234,-40.,394.609606662353));
+#2476=CARTESIAN_POINT('',(248.992995453794,-40.,422.485174261342));
+#2477=CARTESIAN_POINT('Origin',(248.992995453794,0.,422.485174261342));
+#2478=CARTESIAN_POINT('',(257.485922121384,23.750000000002,407.77499376812));
+#2479=CARTESIAN_POINT('Origin',(257.485922121384,25.350000000002,407.77499376812));
+#2480=CARTESIAN_POINT('',(257.485922121384,-26.2499999999977,407.77499376812));
+#2481=CARTESIAN_POINT('Origin',(257.485922121384,-24.6499999999977,407.77499376812));
+#2482=CARTESIAN_POINT('Origin',(278.82925527646,-60.,358.856057522096));
+#2483=CARTESIAN_POINT('',(278.82925527646,60.,376.856057522096));
+#2484=CARTESIAN_POINT('',(278.82925527646,60.,358.856057522096));
+#2485=CARTESIAN_POINT('',(278.82925527646,60.,376.093787457309));
+#2486=CARTESIAN_POINT('',(278.82925527646,44.9121645060649,376.856057522096));
+#2487=CARTESIAN_POINT('',(278.82925527646,-30.,376.856057522096));
+#2488=CARTESIAN_POINT('',(278.82925527646,32.5001123553317,364.129097142323));
+#2489=CARTESIAN_POINT('Origin',(278.82925527646,32.5,378.562680827045));
+#2490=CARTESIAN_POINT('',(278.82925527646,-32.5001123553317,364.129097142323));
+#2491=CARTESIAN_POINT('',(278.82925527646,-30.,364.12909921033));
+#2492=CARTESIAN_POINT('',(278.82925527646,-39.746270570086,366.801852332925));
+#2493=CARTESIAN_POINT('Origin',(278.82925527646,-32.5,378.562680827045));
+#2494=CARTESIAN_POINT('',(278.82925527646,-40.3259791722277,367.015675314107));
+#2495=CARTESIAN_POINT('Origin',(278.82925527646,-40.3259791722277,365.860974762813));
+#2496=CARTESIAN_POINT('',(278.82925527646,-60.,367.015675314107));
+#2497=CARTESIAN_POINT('',(278.82925527646,-30.,358.856057522096));
+#2498=CARTESIAN_POINT('Origin',(258.30606377482,-60.,378.864745982306));
+#2499=CARTESIAN_POINT('',(258.30606377482,-40.3259791722277,378.864745982306));
+#2500=CARTESIAN_POINT('Origin',(257.806063758044,-40.3259791722277,377.998720588208));
+#2501=CARTESIAN_POINT('',(258.213475705941,-39.746270570086,378.704378750007));
+#2502=CARTESIAN_POINT('Origin',(263.306063942586,-32.5,387.524999923291));
+#2503=CARTESIAN_POINT('',(257.056138733474,-32.5001123553317,376.699812401895));
+#2504=CARTESIAN_POINT('Origin',(257.056138540873,0.,376.6998120683));
+#2505=CARTESIAN_POINT('',(257.056138733474,32.5001123553317,376.699812401895));
+#2506=CARTESIAN_POINT('Origin',(268.806064127128,-40.3259791722275,397.051279258374));
+#2507=CARTESIAN_POINT('',(277.498032646063,-39.7462705700859,391.092091099561));
+#2508=CARTESIAN_POINT('',(277.519168492375,-40.3259791722275,390.866065331275));
+#2509=CARTESIAN_POINT('Origin',(277.405029342063,-40.3259791722275,392.086664154675));
+#2510=CARTESIAN_POINT('',(268.306064110352,-40.3259791722275,396.185253864276));
+#2511=CARTESIAN_POINT('',(268.398652179231,-39.7462705700859,396.345621096575));
+#2512=CARTESIAN_POINT('Origin',(263.306063942586,-32.5,387.524999923291));
+#2513=CARTESIAN_POINT('',(277.233837737603,-32.5001123552543,393.917379298504));
+#2514=CARTESIAN_POINT('',(269.555989151698,-32.5001123552543,398.350187444687));
+#2515=CARTESIAN_POINT('Origin',(278.660559995496,-32.5,378.660077097278));
+#2516=CARTESIAN_POINT('Origin',(268.306064110352,-39.9997499962006,396.185253864276));
+#2517=CARTESIAN_POINT('',(277.519168492375,-19.9998749981003,390.866065331275));
+#2518=CARTESIAN_POINT('Origin',(263.306063942586,32.5,387.524999923291));
+#2519=CARTESIAN_POINT('',(277.233837737603,32.5001123552543,393.917379298504));
+#2520=CARTESIAN_POINT('Origin',(278.660559995496,32.5,378.660077097278));
+#2521=CARTESIAN_POINT('',(269.555989151698,32.5001123552543,398.350187444687));
+#2522=CARTESIAN_POINT('Origin',(263.306063898956,22.5,387.524999847721));
+#2523=CARTESIAN_POINT('',(263.306063898956,20.9,387.524999847721));
+#2524=CARTESIAN_POINT('Origin',(263.306063898956,-22.5,387.524999847721));
+#2525=CARTESIAN_POINT('',(263.306063898956,-24.1,387.524999847721));
+#2526=CARTESIAN_POINT('Origin',(259.217972928953,25.350000000002,408.77499376812));
+#2527=CARTESIAN_POINT('',(259.217972928953,23.750000000002,408.77499376812));
+#2528=CARTESIAN_POINT('Origin',(259.217972928953,25.350000000002,408.77499376812));
+#2529=CARTESIAN_POINT('',(259.217972928953,23.750000000002,408.77499376812));
+#2530=CARTESIAN_POINT('Origin',(259.217972928953,-24.6499999999977,408.77499376812));
+#2531=CARTESIAN_POINT('',(259.217972928953,-26.2499999999977,408.77499376812));
+#2532=CARTESIAN_POINT('Origin',(259.217972928953,-24.6499999999977,408.77499376812));
+#2533=CARTESIAN_POINT('',(259.217972928953,-26.2499999999977,408.77499376812));
+#2534=CARTESIAN_POINT('Origin',(264.71797293016,-53.7839860711222,399.248714324402));
+#2535=CARTESIAN_POINT('',(275.043301271401,-53.7839860711222,406.364745960074));
+#2536=CARTESIAN_POINT('',(275.231760650604,-53.001828947282,406.038324740127));
+#2537=CARTESIAN_POINT('Origin',(275.543301271397,-53.7839860711222,405.498720556282));
+#2538=CARTESIAN_POINT('',(264.406432309363,-53.001828947282,399.788318508244));
+#2539=CARTESIAN_POINT('',(264.406432309363,-53.001828947282,399.788318508244));
+#2540=CARTESIAN_POINT('',(264.217972930159,-53.7839860711222,400.114739728187));
+#2541=CARTESIAN_POINT('Origin',(264.717972930159,-53.7839860711222,399.248714324402));
+#2542=CARTESIAN_POINT('',(264.217972930159,-53.7839860711222,400.114739728187));
+#2543=CARTESIAN_POINT('Origin',(263.240973525841,0.,426.806977262947));
+#2544=CARTESIAN_POINT('',(275.043301271401,-26.6383948779789,406.364745960074));
+#2545=CARTESIAN_POINT('',(276.268278746692,-48.7000000000019,404.243022734744));
+#2546=CARTESIAN_POINT('',(276.268278746685,0.,404.24302273474));
+#2547=CARTESIAN_POINT('Origin',(273.518301270194,-48.7000000000019,409.0061234437));
+#2548=CARTESIAN_POINT('Origin',(275.043301271401,-53.2767897559577,406.364745960074));
+#2549=CARTESIAN_POINT('',(264.217972930159,-54.9575923169682,400.114739728187));
+#2550=CARTESIAN_POINT('Origin',(253.717972930159,-53.7839860715503,418.30127320766));
+#2551=CARTESIAN_POINT('',(264.854841891953,-53.0018289473229,424.01167525612));
+#2552=CARTESIAN_POINT('',(265.043301271395,-53.7839860715503,423.685254035759));
+#2553=CARTESIAN_POINT('Origin',(264.543301271396,-53.7839860715503,424.55127943954));
+#2554=CARTESIAN_POINT('',(254.217972930159,-53.7839860715503,417.435247803875));
+#2555=CARTESIAN_POINT('',(254.217972930159,-53.7839860715503,417.435247803876));
+#2556=CARTESIAN_POINT('',(254.029513550713,-53.0018289473229,417.761669024239));
+#2557=CARTESIAN_POINT('Origin',(253.717972930159,-53.7839860715503,418.30127320766));
+#2558=CARTESIAN_POINT('',(254.029513550713,-53.0018289473229,417.761669024239));
+#2559=CARTESIAN_POINT('Origin',(255.742972928953,-48.7000000000018,414.793870324422));
+#2560=CARTESIAN_POINT('',(252.992995453794,-48.7000000000018,419.556971031067));
+#2561=CARTESIAN_POINT('Origin',(255.742972928953,-48.7000000000018,414.793870324422));
+#2562=CARTESIAN_POINT('',(263.818323795031,-48.7000000000018,425.806977262947));
+#2563=CARTESIAN_POINT('',(252.992995453794,-48.7000000000018,419.556971031067));
+#2564=CARTESIAN_POINT('Origin',(266.568301270194,-48.7000000000018,421.043876556304));
+#2565=CARTESIAN_POINT('Origin',(265.043301271395,-60.,423.685254035759));
+#2566=CARTESIAN_POINT('',(265.043301271395,-30.,423.685254035759));
+#2567=CARTESIAN_POINT('',(254.217972930159,-58.3191974389893,417.435247803875));
+#2568=CARTESIAN_POINT('Origin',(263.240973525841,0.,426.806977262947));
+#2569=CARTESIAN_POINT('',(263.818323795031,48.7000000000018,425.806977262947));
+#2570=CARTESIAN_POINT('',(263.818323795031,0.,425.806977262947));
+#2571=CARTESIAN_POINT('',(266.568301270192,54.1999549503196,421.043876556303));
+#2572=CARTESIAN_POINT('Origin',(266.568301270194,48.7000000000018,421.043876556304));
+#2573=CARTESIAN_POINT('',(273.518301270196,54.1999549503196,409.006123443701));
+#2574=CARTESIAN_POINT('',(268.305801270526,54.1999549503196,418.034438277576));
+#2575=CARTESIAN_POINT('',(276.268278746692,48.7000000000019,404.243022734744));
+#2576=CARTESIAN_POINT('Origin',(273.518301270194,48.7000000000019,409.0061234437));
+#2577=CARTESIAN_POINT('',(276.268278746685,60.,404.24302273474));
+#2578=CARTESIAN_POINT('',(276.268278746685,0.,404.24302273474));
+#2579=CARTESIAN_POINT('',(263.240973525841,60.,426.806977262947));
+#2580=CARTESIAN_POINT('',(263.818323795031,60.,425.806977262947));
+#2581=CARTESIAN_POINT('',(263.240973525841,0.,426.806977262947));
+#2582=CARTESIAN_POINT('Origin',(262.692972928953,-48.7000000000019,402.756117211818));
+#2583=CARTESIAN_POINT('',(265.442950405448,-48.7000000000019,397.99301650286));
+#2584=CARTESIAN_POINT('',(265.442950405448,-48.7000000000019,397.99301650286));
+#2585=CARTESIAN_POINT('Origin',(262.692972928953,-48.7000000000019,402.756117211818));
+#2586=CARTESIAN_POINT('Origin',(263.818323795031,0.,425.806977262947));
+#2587=CARTESIAN_POINT('',(252.992995453794,48.7000000000018,419.556971031067));
+#2588=CARTESIAN_POINT('',(252.992995453794,0.,419.556971031067));
+#2589=CARTESIAN_POINT('',(252.992995453794,48.7000000000018,419.556971031067));
+#2590=CARTESIAN_POINT('Origin',(252.992995453794,0.,419.556971031067));
+#2591=CARTESIAN_POINT('',(265.442950405448,48.7000000000019,397.99301650286));
+#2592=CARTESIAN_POINT('',(265.442950405448,0.,397.99301650286));
+#2593=CARTESIAN_POINT('',(262.692972928953,54.1999549503196,402.756117211818));
+#2594=CARTESIAN_POINT('Origin',(262.692972928953,48.7000000000019,402.756117211818));
+#2595=CARTESIAN_POINT('',(255.742972928953,54.1999549503196,414.793870324422));
+#2596=CARTESIAN_POINT('',(254.367984191373,54.1999549503196,417.175420677744));
+#2597=CARTESIAN_POINT('Origin',(255.742972928953,48.7000000000018,414.793870324422));
+#2598=CARTESIAN_POINT('Origin',(262.692972928953,48.7000000000019,402.756117211818));
+#2599=CARTESIAN_POINT('',(262.692972928953,54.1999549503196,402.756117211818));
+#2600=CARTESIAN_POINT('',(265.442950405448,48.7000000000019,397.99301650286));
+#2601=CARTESIAN_POINT('Origin',(255.742972928953,54.1999549503196,414.793870324422));
+#2602=CARTESIAN_POINT('',(255.742972928953,54.1999549503196,414.793870324422));
+#2603=CARTESIAN_POINT('Origin',(255.742972928953,48.7000000000018,414.793870324422));
+#2604=CARTESIAN_POINT('Origin',(277.233837694495,0.,393.917379759504));
+#2605=CARTESIAN_POINT('',(277.233837694495,0.,393.917379759504));
+#2606=CARTESIAN_POINT('Origin',(276.268278746685,0.,404.24302273474));
+#2607=CARTESIAN_POINT('',(277.233837694495,60.,393.917379759504));
+#2608=CARTESIAN_POINT('',(276.268278746685,0.,404.24302273474));
+#2609=CARTESIAN_POINT('Origin',(265.442950405448,0.,397.99301650286));
+#2610=CARTESIAN_POINT('Origin',(261.508922718272,0.,425.806977262947));
+#2611=CARTESIAN_POINT('',(261.508922718272,60.,427.806977262947));
+#2612=CARTESIAN_POINT('Origin',(261.508922718272,60.,425.806977262947));
+#2613=CARTESIAN_POINT('',(261.508922718272,0.,427.806977262947));
+#2614=CARTESIAN_POINT('Origin',(248.992995453794,0.,427.806977262947));
+#2615=CARTESIAN_POINT('',(261.508922718272,60.,427.806977262947));
+#2616=CARTESIAN_POINT('Origin',(280.08728203462,0.,358.856057522096));
+#2617=CARTESIAN_POINT('',(248.992995453794,60.,358.856057522096));
+#2618=CARTESIAN_POINT('Origin',(264.540138744207,60.,393.331517392522));
+#2619=CARTESIAN_POINT('Origin',(276.268278746685,0.,404.24302273474));
+#2620=CARTESIAN_POINT('',(278.82925527646,-60.,376.856057522096));
+#2621=CARTESIAN_POINT('',(276.268278746685,-60.,404.24302273474));
+#2622=CARTESIAN_POINT('',(277.708460232557,-60.,388.841788168585));
+#2623=CARTESIAN_POINT('',(278.82925527646,60.,376.856057522096));
+#2624=CARTESIAN_POINT('',(278.82925527646,-30.,376.856057522096));
+#2625=CARTESIAN_POINT('',(276.268278746685,60.,404.24302273474));
+#2626=CARTESIAN_POINT('',(277.233837694495,60.,393.917379759504));
+#2627=CARTESIAN_POINT('',(276.268278746685,0.,404.24302273474));
+#2628=CARTESIAN_POINT('Origin',(278.82925527646,-60.,358.856057522096));
+#2629=CARTESIAN_POINT('',(278.82925527646,-60.,358.856057522096));
+#2630=CARTESIAN_POINT('',(278.82925527646,-60.,376.093787457309));
+#2631=CARTESIAN_POINT('',(278.82925527646,60.,358.856057522096));
+#2632=CARTESIAN_POINT('',(278.82925527646,-30.,358.856057522096));
+#2633=CARTESIAN_POINT('',(278.82925527646,60.,376.093787457309));
+#2634=CARTESIAN_POINT('Origin',(194.996497726897,0.,366.734039063363));
+#2635=CARTESIAN_POINT('',(238.992995453794,55.3282675104192,366.734039063363));
+#2636=CARTESIAN_POINT('',(238.992995453794,-55.3282675104192,366.734039063363));
+#2637=CARTESIAN_POINT('',(238.992995453794,0.,366.734039063363));
+#2638=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,366.734039063363));
+#2639=CARTESIAN_POINT('',(215.327148624352,44.2722169577647,366.734039063363));
+#2640=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,366.734039063363));
+#2641=CARTESIAN_POINT('Origin',(156.,0.,366.734039063363));
+#2642=CARTESIAN_POINT('',(165.656183513397,-21.0672708079966,366.734039063363));
+#2643=CARTESIAN_POINT('Origin',(264.540138744207,-60.,393.331517392522));
+#2644=CARTESIAN_POINT('',(263.240973525841,-60.,426.806977262947));
+#2645=CARTESIAN_POINT('',(266.930812532946,-60.,420.415988630898));
+#2646=CARTESIAN_POINT('',(261.508922718272,-60.,427.806977262947));
+#2647=CARTESIAN_POINT('Origin',(261.508922718272,-60.,425.806977262947));
+#2648=CARTESIAN_POINT('',(251.992995453794,-60.,427.806977262947));
+#2649=CARTESIAN_POINT('',(261.508922718272,-60.,427.806977262947));
+#2650=CARTESIAN_POINT('',(248.992995453794,-60.,424.806977262947));
+#2651=CARTESIAN_POINT('Origin',(251.992995453794,-60.,424.806977262947));
+#2652=CARTESIAN_POINT('',(248.992995453794,-60.,376.734039063363));
+#2653=CARTESIAN_POINT('',(248.992995453794,-60.,427.806977262947));
+#2654=CARTESIAN_POINT('',(248.992995453794,-60.,358.856057522096));
+#2655=CARTESIAN_POINT('',(248.992995453794,-60.,427.806977262947));
+#2656=CARTESIAN_POINT('',(248.992995453794,-60.,358.856057522096));
+#2657=CARTESIAN_POINT('Origin',(251.992995453794,0.,424.806977262947));
+#2658=CARTESIAN_POINT('',(251.992995453794,60.,427.806977262947));
+#2659=CARTESIAN_POINT('',(248.992995453794,60.,424.806977262947));
+#2660=CARTESIAN_POINT('Origin',(251.992995453794,60.,424.806977262947));
+#2661=CARTESIAN_POINT('',(248.992995453794,0.,424.806977262947));
+#2662=CARTESIAN_POINT('',(251.992995453794,0.,427.806977262947));
+#2663=CARTESIAN_POINT('Origin',(248.992995453794,0.,358.856057522096));
+#2664=CARTESIAN_POINT('',(248.992995453794,60.,376.734039063363));
+#2665=CARTESIAN_POINT('',(248.992995453794,60.,427.806977262947));
+#2666=CARTESIAN_POINT('',(248.992995453794,0.,376.734039063363));
+#2667=CARTESIAN_POINT('Origin',(238.992995453794,0.,376.734039063363));
+#2668=CARTESIAN_POINT('Origin',(238.992995453794,-55.3282675104192,376.734039063363));
+#2669=CARTESIAN_POINT('Origin',(238.992995453794,55.3282675104192,376.734039063363));
+#2670=CARTESIAN_POINT('Origin',(149.651065231884,-13.5901077004639,358.856057522096));
+#2671=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,358.856057522096));
+#2672=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,358.856057522096));
+#2673=CARTESIAN_POINT('',(149.651065231884,-13.5901077004639,358.856057522096));
+#2674=CARTESIAN_POINT('Origin',(156.,0.,358.856057522096));
+#2675=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,358.856057522096));
+#2676=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,358.856057522096));
+#2677=CARTESIAN_POINT('Origin',(156.,0.,358.856057522096));
+#2678=CARTESIAN_POINT('Origin',(248.992995453794,60.,358.856057522096));
+#2679=CARTESIAN_POINT('',(248.992995453794,60.,358.856057522096));
+#2680=CARTESIAN_POINT('',(248.992995453794,60.,427.806977262947));
+#2681=CARTESIAN_POINT('',(149.651065231884,13.5901077004639,358.856057522096));
+#2682=CARTESIAN_POINT('Origin',(263.240973525841,0.,426.806977262947));
+#2683=CARTESIAN_POINT('',(263.240973525841,60.,426.806977262947));
+#2684=CARTESIAN_POINT('',(263.818323795031,60.,425.806977262947));
+#2685=CARTESIAN_POINT('',(263.240973525841,0.,426.806977262947));
+#2686=CARTESIAN_POINT('Origin',(261.508922718272,0.,425.806977262947));
+#2687=CARTESIAN_POINT('',(261.508922718272,60.,427.806977262947));
+#2688=CARTESIAN_POINT('Origin',(261.508922718272,60.,425.806977262947));
+#2689=CARTESIAN_POINT('',(261.508922718272,0.,427.806977262947));
+#2690=CARTESIAN_POINT('Origin',(248.992995453794,0.,427.806977262947));
+#2691=CARTESIAN_POINT('',(261.508922718272,60.,427.806977262947));
+#2692=CARTESIAN_POINT('Origin',(280.08728203462,0.,358.856057522096));
+#2693=CARTESIAN_POINT('',(248.992995453794,60.,358.856057522096));
+#2694=CARTESIAN_POINT('Origin',(264.540138744207,60.,393.331517392522));
+#2695=CARTESIAN_POINT('',(0.,0.,0.200000000000031));
+#2696=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#2702,
+'DISTANCE_ACCURACY_VALUE',
+'Maximum model space distance between geometric entities at asserted c
+onnectivities');
+#2697=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#2702,
+'DISTANCE_ACCURACY_VALUE',
+'Maximum model space distance between geometric entities at asserted c
+onnectivities');
+#2698=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#2702,
+'DISTANCE_ACCURACY_VALUE',
+'Maximum model space distance between geometric entities at asserted c
+onnectivities');
+#2699=(
+GEOMETRIC_REPRESENTATION_CONTEXT(3)
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2696))
+GLOBAL_UNIT_ASSIGNED_CONTEXT((#2702,#2704,#2705))
+REPRESENTATION_CONTEXT('','3D')
+);
+#2700=(
+GEOMETRIC_REPRESENTATION_CONTEXT(3)
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2697))
+GLOBAL_UNIT_ASSIGNED_CONTEXT((#2702,#2704,#2705))
+REPRESENTATION_CONTEXT('','3D')
+);
+#2701=(
+GEOMETRIC_REPRESENTATION_CONTEXT(3)
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2698))
+GLOBAL_UNIT_ASSIGNED_CONTEXT((#2702,#2704,#2705))
+REPRESENTATION_CONTEXT('','3D')
+);
+#2702=(
+LENGTH_UNIT()
+NAMED_UNIT(*)
+SI_UNIT(.MILLI.,.METRE.)
+);
+#2703=(
+LENGTH_UNIT()
+NAMED_UNIT(*)
+SI_UNIT($,.METRE.)
+);
+#2704=(
+NAMED_UNIT(*)
+PLANE_ANGLE_UNIT()
+SI_UNIT($,.RADIAN.)
+);
+#2705=(
+NAMED_UNIT(*)
+SI_UNIT($,.STERADIAN.)
+SOLID_ANGLE_UNIT()
+);
+#2706=SHAPE_DEFINITION_REPRESENTATION(#2708,#2711);
+#2707=SHAPE_DEFINITION_REPRESENTATION(#2709,#2712);
+#2708=PRODUCT_DEFINITION_SHAPE('',$,#2714);
+#2709=PRODUCT_DEFINITION_SHAPE('',$,#2715);
+#2710=PRODUCT_DEFINITION_SHAPE($,$,#14);
+#2711=SHAPE_REPRESENTATION('',(#1398,#1533),#2699);
+#2712=SHAPE_REPRESENTATION('',(#1399),#2700);
+#2713=PRODUCT_DEFINITION_CONTEXT('part definition',#2721,'design');
+#2714=PRODUCT_DEFINITION('FetchBaseCameraMount Mk.1',
+'FetchBaseCameraMount Mk.1 v25',#2716,#2713);
+#2715=PRODUCT_DEFINITION('\X2\30B330F330DD30FC30CD30F330C8\X0\1',
+'\X2\30B330F330DD30FC30CD30F330C8\X0\1',#2717,#2713);
+#2716=PRODUCT_DEFINITION_FORMATION('',$,#2723);
+#2717=PRODUCT_DEFINITION_FORMATION('',$,#2724);
+#2718=PRODUCT_RELATED_PRODUCT_CATEGORY('FetchBaseCameraMount Mk.1 v25',
+'FetchBaseCameraMount Mk.1 v25',(#2723));
+#2719=PRODUCT_RELATED_PRODUCT_CATEGORY('\X2\30B330F330DD30FC30CD30F330C8\X0\1',
+'\X2\30B330F330DD30FC30CD30F330C8\X0\1',(#2724));
+#2720=APPLICATION_PROTOCOL_DEFINITION('international standard',
+'automotive_design',2009,#2721);
+#2721=APPLICATION_CONTEXT(
+'Core Data for Automotive Mechanical Design Process');
+#2722=PRODUCT_CONTEXT('part definition',#2721,'mechanical');
+#2723=PRODUCT('FetchBaseCameraMount Mk.1',
+'FetchBaseCameraMount Mk.1 v25',$,(#2722));
+#2724=PRODUCT('\X2\30B330F330DD30FC30CD30F330C8\X0\1',
+'\X2\30B330F330DD30FC30CD30F330C8\X0\1',$,(#2722));
+#2725=PRESENTATION_STYLE_ASSIGNMENT((#2726));
+#2726=SURFACE_STYLE_USAGE(.BOTH.,#2727);
+#2727=SURFACE_SIDE_STYLE('',(#2728));
+#2728=SURFACE_STYLE_FILL_AREA(#2729);
+#2729=FILL_AREA_STYLE('\X2\92FC\X0\ - \X2\30B530C630F3\X0\',(#2730));
+#2730=FILL_AREA_STYLE_COLOUR('\X2\92FC\X0\ - \X2\30B530C630F3\X0\',#2731);
+#2731=COLOUR_RGB('\X2\92FC\X0\ - \X2\30B530C630F3\X0\',0.627450980392157,
+0.627450980392157,0.627450980392157);
+ENDSEC;
+END-ISO-10303-21;
diff --git a/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_collision.stl b/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_collision.stl
new file mode 100644
index 0000000000..b6669f3e56
Binary files /dev/null and b/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_collision.stl differ
diff --git a/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_main.stl b/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_main.stl
new file mode 100644
index 0000000000..6e232e3e9e
Binary files /dev/null and b/jsk_fetch_robot/jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_main.stl differ
diff --git a/jsk_fetch_robot/jsk_fetch_accessories/package.xml b/jsk_fetch_robot/jsk_fetch_accessories/package.xml
new file mode 100644
index 0000000000..19b42d5c25
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_accessories/package.xml
@@ -0,0 +1,13 @@
+<package>
+  <name>jsk_fetch_accessories</name>
+  <version>1.1.0</version>
+  <description>
+     jsk_fetch_accessories
+  </description>
+  <maintainer email="k-okada@jsk.t.u-tokyo.ac.jp">Kei Okada</maintainer>
+  <license>BSD</license>
+  <url></url>
+  <buildtool_depend>catkin</buildtool_depend>
+  <export>
+  </export>
+</package>
diff --git a/jsk_fetch_robot/jsk_fetch_startup/README.md b/jsk_fetch_robot/jsk_fetch_startup/README.md
index 5a673d6d87..21a7c40e2d 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/README.md
+++ b/jsk_fetch_robot/jsk_fetch_startup/README.md
@@ -24,9 +24,9 @@ sudo mv rockmongo-1.1.7 /var/www/html/rockmongo
 
 ### Teleoperation
 
-Below is a flow of commands from Joystick sent to base controller:
+For the JSK safe teleop system, please see [data flow diagram of safe_teleop.launch](https://github.com/jsk-ros-pkg/jsk_robot/tree/master/jsk_robot_common/jsk_robot_startup#launchsafe_teleoplaunch)
 
-![safe_teleop_system](https://user-images.githubusercontent.com/19769486/37566992-dab73142-2b03-11e8-94bc-4d1914c967b0.png)
+The numbers assigned to the joystick are as follows.
 
 ![joystick_numbered](https://user-images.githubusercontent.com/19769486/28101905-889e9cc2-6706-11e7-9981-5704cc29f2b3.png)
 ![joystick_numbered2](https://user-images.githubusercontent.com/19769486/28101906-88b5f20a-6706-11e7-987c-d94e64ac2cc1.png)
diff --git a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app
index 2b0a626bde..8d765a06ac 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app
+++ b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app
@@ -3,3 +3,87 @@ platform: fetch
 launch: jsk_fetch_startup/go_to_kitchen.xml
 interface: jsk_fetch_startup/go_to_kitchen.interface
 icon: jsk_fetch_startup/go_to_kitchen.png
+plugins:
+  - name: head_camera_video_recorder_plugin
+    type: app_recorder/video_recorder_plugin
+    launch_args:
+      video_path: /tmp
+      video_title: go_to_kitchen_head_camera.avi
+      video_topic_name: /head_camera/rgb/throttled/image_rect_color
+      video_fps: 5.0
+  - name: object_detection_video_recorder_plugin
+    type: app_recorder/video_recorder_plugin
+    launch_args:
+      video_path: /tmp
+      video_title: go_to_kitchen_object_detection.avi
+      video_topic_name: /edgetpu_object_detector/output/image
+      video_fps: 15.0
+  - name: rosbag_recorder_plugin
+    type: app_recorder/rosbag_recorder_plugin
+    launch_args:
+      rosbag_path: /tmp
+      rosbag_title: go_to_kitchen_rosbag.bag
+      compress: true
+      rosbag_topic_names:
+        - /rosout
+        - /tf
+        - /tf_static
+        - /joint_states
+        - /map
+        - /odom
+        - /odom_combined
+        - /cmd_vel
+        - /move_base/NavFnROS/plan
+        - /move_base/TrajectoryPlannerROS/global_plan
+        - /move_base/TrajectoryPlannerROS/local_plan
+        - /move_base/global_costmap/footprint
+        - /spots_marker_array
+        - /spots_pictogram
+        - /safe_teleop_base/local_costmap/costmap
+        - /move_base/local_costmap/costmap
+        - /move_base/global_costmap/costmap
+        - /particlecloud
+        - /base_scan/throttled
+        - /head_camera/rgb/throttled/camera_info
+        - /head_camera/depth_registered/throttled/camera_info
+        - /head_camera/rgb/throttled/image_rect_color/compressed
+        - /head_camera/depth_registered/throttled/image_rect/compressedDepth
+        - /audio
+  - name: gdrive_uploader_plugin
+    type: app_uploader/gdrive_uploader_plugin
+    plugin_args:
+      upload_file_paths:
+        - /tmp/go_to_kitchen_head_camera.avi
+        - /tmp/go_to_kitchen_object_detection.avi
+        - /tmp/go_to_kitchen_rosbag.bag
+      upload_file_titles:
+        - go_to_kitchen_head_camera.avi
+        - go_to_kitchen_object_detection.avi
+        - go_to_kitchen_rosbag.bag
+      upload_parents_path: fetch_morning_go_to_kitchen
+      upload_server_name: /gdrive_server
+  - name: speech_notifier_plugin
+    type: app_notifier/speech_notifier_plugin
+    plugin_args:
+      client_name: /sound_play
+  - name: mail_notifier_plugin
+    type: app_notifier/mail_notifier_plugin
+    plugin_args:
+      mail_title: Fetch kitchen patrol demo
+      use_timestamp_title: true
+    plugin_arg_yaml: /var/lib/robot/fetch_mail_notifier_plugin.yaml
+plugin_order:
+  start_plugin_order:
+    - head_camera_video_recorder_plugin
+    - object_detection_video_recorder_plugin
+    - rosbag_recorder_plugin
+    - gdrive_uploader_plugin
+    - speech_notifier_plugin
+    - mail_notifier_plugin
+  stop_plugin_order:
+    - head_camera_video_recorder_plugin
+    - object_detection_video_recorder_plugin
+    - rosbag_recorder_plugin
+    - gdrive_uploader_plugin
+    - speech_notifier_plugin
+    - mail_notifier_plugin
diff --git a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml
index e29c5a737e..bb418e8855 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml
+++ b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml
@@ -1,4 +1,4 @@
 <launch>
-  <node name="go_to_kitchen" pkg="roseus" type="roseus"
-        args="$(find jsk_fetch_startup)/euslisp/go-to-kitchen.l"/>
+  <node name="go_to_kitchen" pkg="roseus" type="roseus" required="true" output="screen"
+        args="$(find jsk_fetch_startup)/euslisp/go-to-kitchen.l" />
 </launch>
diff --git a/jsk_fetch_robot/jsk_fetch_startup/config/install_upstart.sh b/jsk_fetch_robot/jsk_fetch_startup/config/install_upstart.sh
index 0a9b311787..9bafe6c56b 100755
--- a/jsk_fetch_robot/jsk_fetch_startup/config/install_upstart.sh
+++ b/jsk_fetch_robot/jsk_fetch_startup/config/install_upstart.sh
@@ -5,8 +5,8 @@ jsk_fetch_startup=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`"/.. > /dev/null &&
 IFS=':' read -r -a prefix_paths <<< "$CMAKE_PREFIX_PATH"
 current_prefix_path="${prefix_paths[0]}"
 
-sudo bash -c "cat <<EOF > /etc/init/jsk-fetch-startup.conf
-description \"spawn jsk bringup nodes for fetch\"
+# jsk-fetch-startup
+sudo bash -c "echo \"description \\\"spawn jsk bringup nodes for fetch\\\"
 # use default log dir: yamaguchi & s-kitagawa (2019/04/18)
 # env ROS_LOG_DIR=/var/log/ros
 
@@ -16,23 +16,38 @@ stop on roscore_is_down
 respawn
 
 # add ROSCONSOLE_FORMAT: s-kitagawa (2019/10/03)
-env AUDIO_DEVICE=alsa_output.usb-1130_USB_AUDIO-00-AUDIO.analog-stereo
-env ROSCONSOLE_FORMAT='[${severity}] [${time}] [${node}:${logger}]: ${message}'
+env AUDIO_DEVICE=\\\"alsa_output.usb-1130_USB_AUDIO-00-AUDIO.analog-stereo\\\"
+env ROSCONSOLE_FORMAT=\\\"[\\\${severity}] [\\\${time}] [\\\${node}:\\\${logger}]: \\\${message}\\\"
 
 # enable usb speaker if available
 pre-start script
     # launch by fetch user: yamaguchi & s-kitagawa (2019/04/18)
-    # exec su ros -c 'pactl set-default-sink $AUDIO_DEVICE || true'
-    exec su fetch -c 'pactl set-default-sink $AUDIO_DEVICE || true'
+    # exec su ros -c \\\"pactl set-default-sink \\\$AUDIO_DEVICE || true\\\"
+    exec su fetch -c \\\"pactl set-default-sink \\\$AUDIO_DEVICE || true\\\"
 end script
 
 script
     # launch by fetch user: yamaguchi & s-kitagawa (2019/04/18)
-    # exec su ros -c \". ${current_prefix_path}/setup.bash && roslaunch ${jsk_fetch_startup}/launch/fetch_bringup.launch boot_sound:=true\"
-    exec su fetch -c \". ${current_prefix_path}/setup.bash && roslaunch ${jsk_fetch_startup}/launch/fetch_bringup.launch boot_sound:=true\"
-end script
-
-EOF"
+    # exec su ros -c \\\". ${current_prefix_path}/setup.bash && roslaunch ${jsk_fetch_startup}/launch/fetch_bringup.launch boot_sound:=true\\\"
+    exec su fetch -c \\\". ${current_prefix_path}/setup.bash && roslaunch ${jsk_fetch_startup}/launch/fetch_bringup.launch boot_sound:=true\\\"
+end script\" > /etc/init/jsk-fetch-startup.conf"
 echo "== cat /etc/init/jsk-fetch-startup.conf =="
 cat /etc/init/jsk-fetch-startup.conf
 echo "== usage: sudo service jsk-fetch-startup restart =="
+
+# vertical-touchscreen
+sudo bash -c "echo \"# See https://askubuntu.com/questions/507496/how-to-start-gui-application-with-upstart
+description \\\"Use vertical touchscreen\\\"
+
+start on runlevel [2345]
+stop on runlevel [016]
+
+script
+    sleep 30 # Wait for X programs to start
+    export DISPLAY=:0
+    exec su fetch -c \\\". ${current_prefix_path}/setup.bash && ${jsk_fetch_startup}/scripts/vertical-touchscreen.sh\\\"
+end script\" > /etc/init/vertical-touchscreen.conf"
+echo
+echo "== cat /etc/init/vertical-touchscreen.conf =="
+cat /etc/init/vertical-touchscreen.conf
+echo "== usage: sudo service vertical-touchscreen restart =="
diff --git a/jsk_fetch_robot/jsk_fetch_startup/config/jsk_startup.rviz b/jsk_fetch_robot/jsk_fetch_startup/config/jsk_startup.rviz
index ac9a4ebf87..66625cc9fa 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/config/jsk_startup.rviz
+++ b/jsk_fetch_robot/jsk_fetch_startup/config/jsk_startup.rviz
@@ -1,11 +1,11 @@
 Panels:
   - Class: rviz/Displays
-    Help Height: 75
+    Help Height: 78
     Name: Displays
     Property Tree Widget:
       Expanded: ~
-      Splitter Ratio: 0.625293
-    Tree Height: 725
+      Splitter Ratio: 0.4187380373477936
+    Tree Height: 755
   - Class: rviz/Selection
     Name: Selection
   - Class: rviz/Tool Properties
@@ -14,7 +14,7 @@ Panels:
       - /2D Nav Goal1
       - /Publish Point1
     Name: Tool Properties
-    Splitter Ratio: 0.588679
+    Splitter Ratio: 0.5886790156364441
   - Class: rviz/Views
     Expanded:
       - /Current View1
@@ -24,7 +24,11 @@ Panels:
     Experimental: false
     Name: Time
     SyncMode: 0
-    SyncSource: KinectPointCloud
+    SyncSource: BaseScan
+Preferences:
+  PromptSaveOnExit: true
+Toolbars:
+  toolButtonStyle: 2
 Visualization Manager:
   Class: ""
   Displays:
@@ -34,7 +38,7 @@ Visualization Manager:
       Color: 160; 160; 164
       Enabled: true
       Line Style:
-        Line Width: 0.03
+        Line Width: 0.029999999329447746
         Value: Lines
       Name: Grid
       Normal Cell Count: 0
@@ -201,7 +205,7 @@ Visualization Manager:
         {}
       Update Interval: 0
       Value: false
-    - Alpha: 0.7
+    - Alpha: 0.699999988079071
       Class: rviz/Map
       Color Scheme: map
       Draw Behind: false
@@ -209,17 +213,18 @@ Visualization Manager:
       Name: Map
       Topic: /map
       Unreliable: false
+      Use Timestamp: false
       Value: true
     - Alpha: 1
       Buffer Length: 1
       Class: rviz/Path
       Color: 255; 0; 127
       Enabled: true
-      Head Diameter: 0.3
-      Head Length: 0.2
-      Length: 0.3
+      Head Diameter: 0.30000001192092896
+      Head Length: 0.20000000298023224
+      Length: 0.30000001192092896
       Line Style: Billboards
-      Line Width: 0.05
+      Line Width: 0.05000000074505806
       Name: NavigationPath
       Offset:
         X: 0
@@ -227,9 +232,9 @@ Visualization Manager:
         Z: 0
       Pose Color: 255; 85; 255
       Pose Style: None
-      Radius: 0.03
-      Shaft Diameter: 0.1
-      Shaft Length: 0.1
+      Radius: 0.029999999329447746
+      Shaft Diameter: 0.10000000149011612
+      Shaft Length: 0.10000000149011612
       Topic: /move_base/NavfnROS/plan
       Unreliable: false
       Value: true
@@ -238,11 +243,11 @@ Visualization Manager:
       Class: rviz/Path
       Color: 255; 0; 0
       Enabled: true
-      Head Diameter: 0.3
-      Head Length: 0.2
-      Length: 0.3
+      Head Diameter: 0.30000001192092896
+      Head Length: 0.20000000298023224
+      Length: 0.30000001192092896
       Line Style: Billboards
-      Line Width: 0.03
+      Line Width: 0.029999999329447746
       Name: GlobalPath
       Offset:
         X: 0
@@ -250,9 +255,9 @@ Visualization Manager:
         Z: 0
       Pose Color: 255; 85; 255
       Pose Style: None
-      Radius: 0.03
-      Shaft Diameter: 0.1
-      Shaft Length: 0.1
+      Radius: 0.029999999329447746
+      Shaft Diameter: 0.10000000149011612
+      Shaft Length: 0.10000000149011612
       Topic: /move_base/TrajectoryPlannerROS/global_plan
       Unreliable: false
       Value: true
@@ -261,11 +266,11 @@ Visualization Manager:
       Class: rviz/Path
       Color: 25; 255; 0
       Enabled: true
-      Head Diameter: 0.3
-      Head Length: 0.2
-      Length: 0.3
+      Head Diameter: 0.30000001192092896
+      Head Length: 0.20000000298023224
+      Length: 0.30000001192092896
       Line Style: Lines
-      Line Width: 0.03
+      Line Width: 0.029999999329447746
       Name: LocalPath
       Offset:
         X: 0
@@ -273,9 +278,9 @@ Visualization Manager:
         Z: 0
       Pose Color: 255; 85; 255
       Pose Style: None
-      Radius: 0.03
-      Shaft Diameter: 0.1
-      Shaft Length: 0.1
+      Radius: 0.029999999329447746
+      Shaft Diameter: 0.10000000149011612
+      Shaft Length: 0.10000000149011612
       Topic: /move_base/TrajectoryPlannerROS/local_plan
       Unreliable: false
       Value: true
@@ -292,7 +297,9 @@ Visualization Manager:
       Marker Topic: /spots_marker_array
       Name: SpotLabel
       Namespaces:
-        text: true
+        pin_body: true
+        pin_head: true
+        pin_label: true
       Queue Size: 100
       Value: true
     - Class: jsk_rviz_plugin/PictogramArray
@@ -301,7 +308,7 @@ Visualization Manager:
       Topic: /spots_pictogram
       Unreliable: false
       Value: true
-    - Alpha: 0.3
+    - Alpha: 0.30000001192092896
       Class: rviz/Map
       Color Scheme: costmap
       Draw Behind: false
@@ -309,8 +316,9 @@ Visualization Manager:
       Name: SafeCostMap
       Topic: /safe_teleop_base/local_costmap/costmap
       Unreliable: false
+      Use Timestamp: false
       Value: false
-    - Alpha: 0.35
+    - Alpha: 0.3499999940395355
       Class: rviz/Map
       Color Scheme: costmap
       Draw Behind: false
@@ -318,8 +326,9 @@ Visualization Manager:
       Name: LocalCostMap
       Topic: /move_base/local_costmap/costmap
       Unreliable: false
+      Use Timestamp: false
       Value: true
-    - Alpha: 0.35
+    - Alpha: 0.3499999940395355
       Class: rviz/Map
       Color Scheme: costmap
       Draw Behind: false
@@ -327,12 +336,21 @@ Visualization Manager:
       Name: GlobalCostMap
       Topic: /move_base/global_costmap/costmap
       Unreliable: false
+      Use Timestamp: false
       Value: true
-    - Arrow Length: 0.2
+    - Alpha: 1
+      Arrow Length: 0.20000000298023224
+      Axes Length: 0.30000001192092896
+      Axes Radius: 0.009999999776482582
       Class: rviz/PoseArray
       Color: 255; 25; 0
       Enabled: false
+      Head Length: 0.07000000029802322
+      Head Radius: 0.029999999329447746
       Name: AMCLParticle
+      Shaft Length: 0.23000000417232513
+      Shaft Radius: 0.009999999776482582
+      Shape: Arrow (Flat)
       Topic: /particlecloud
       Unreliable: false
       Value: false
@@ -359,7 +377,7 @@ Visualization Manager:
       Queue Size: 10
       Selectable: true
       Size (Pixels): 3
-      Size (m): 0.07
+      Size (m): 0.07000000029802322
       Style: Spheres
       Topic: /base_scan/throttled
       Unreliable: false
@@ -384,12 +402,12 @@ Visualization Manager:
       Max Intensity: 4096
       Min Color: 0; 0; 0
       Min Intensity: 0
-      Name: KinectPointCloud
+      Name: XtionPointCloud
       Position Transformer: XYZ
       Queue Size: 10
       Selectable: true
       Size (Pixels): 4
-      Size (m): 0.008
+      Size (m): 0.00800000037997961
       Style: Points
       Topic: /head_camera/depth_registered/quater/throttled/points
       Unreliable: false
@@ -398,18 +416,21 @@ Visualization Manager:
       Value: true
     - Class: jsk_rviz_plugin/OverlayImage
       Enabled: true
-      Name: KinectRGB
+      Name: XtionRGB
       Topic: /head_camera/rgb/quater/image_rect_color
       Value: true
-      alpha: 0.8
+      alpha: 0.800000011920929
       height: 128
       keep aspect ratio: true
       left: 10
+      overwrite alpha value: false
       top: 10
+      transport hint: raw
       width: 320
   Enabled: true
   Global Options:
     Background Color: 48; 48; 48
+    Default Light: true
     Fixed Frame: map
     Frame Rate: 30
   Name: root
@@ -421,7 +442,10 @@ Visualization Manager:
     - Class: rviz/FocusCamera
     - Class: rviz/Measure
     - Class: rviz/SetInitialPose
+      Theta std deviation: 0.2617993950843811
       Topic: /initialpose
+      X std deviation: 0.5
+      Y std deviation: 0.5
     - Class: rviz/SetGoal
       Topic: /move_base_simple/goal
     - Class: rviz/PublishPoint
@@ -435,7 +459,7 @@ Visualization Manager:
       Class: rviz/Orbit
       Distance: 10
       Enable Stereo Rendering:
-        Stereo Eye Separation: 0.06
+        Stereo Eye Separation: 0.05999999865889549
         Stereo Focal Distance: 1
         Swap Stereo Eyes: false
         Value: false
@@ -443,20 +467,23 @@ Visualization Manager:
         X: 0
         Y: 0
         Z: 0
+      Focal Shape Fixed Size: true
+      Focal Shape Size: 0.05000000074505806
+      Invert Z Axis: false
       Name: Current View
-      Near Clip Distance: 0.01
-      Pitch: 1.0104
+      Near Clip Distance: 0.009999999776482582
+      Pitch: 0.7897970676422119
       Target Frame: base_link
       Value: Orbit (rviz)
-      Yaw: 0.200398
+      Yaw: 5.593582630157471
     Saved: ~
 Window Geometry:
   Displays:
     collapsed: false
-  Height: 1003
+  Height: 1052
   Hide Left Dock: false
-  Hide Right Dock: false
-  QMainWindow State: 000000ff00000000fd00000004000000000000016a00000360fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000002800000360000000d000fffffffb00000018004b0069006e00650063007400430061006d0065007200610000000373000000160000000000000000fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb00000018004e006100720072006f007700430061006d0065007200610000000244000001460000000000000000000000010000010f00000360fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000002800000360000000aa00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000780000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000065c0000003efc0100000002fb0000000800540069006d006501000000000000065c0000026a00fffffffb0000000800540069006d00650100000000000004500000000000000000000003d70000036000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+  Hide Right Dock: true
+  QMainWindow State: 000000ff00000000fd0000000400000000000001f80000037efc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f0070006500720074006900650073020000019b000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000037e000000c900fffffffb00000018004b0069006e00650063007400430061006d0065007200610000000373000000160000000000000000fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb00000018004e006100720072006f007700430061006d0065007200610000000244000001460000000000000000000000010000010f00000463fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000002800000463000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000780000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073d0000003efc0100000002fb0000000800540069006d006501000000000000073d000002eb00fffffffb0000000800540069006d006501000000000000045000000000000000000000053f0000037e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
   Selection:
     collapsed: false
   Time:
@@ -464,7 +491,7 @@ Window Geometry:
   Tool Properties:
     collapsed: false
   Views:
-    collapsed: false
-  Width: 1628
-  X: 208
-  Y: 17
+    collapsed: true
+  Width: 1853
+  X: 67
+  Y: 0
diff --git a/jsk_fetch_robot/jsk_fetch_startup/euslisp/auto-dock.l b/jsk_fetch_robot/jsk_fetch_startup/euslisp/auto-dock.l
index df7b44ee69..10ca08b546 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/euslisp/auto-dock.l
+++ b/jsk_fetch_robot/jsk_fetch_startup/euslisp/auto-dock.l
@@ -1,8 +1,10 @@
-;; go-dock.l
-;; Author: Yuki Furuta <furushchev@jsk.imi.i.u-tokyo.ac.jp>
+#!/usr/bin/env roseus
 
-(ros::roseus "fetch_go_dock")
+(require :fetch-interface "package://fetcheus/fetch-interface.l")
 (load "package://jsk_fetch_startup/euslisp/navigation-utils.l")
 
+(ros::roseus "fetch_go_dock")
+(fetch-init)
+(send *ri* :clear-costmap)
 (auto-dock)
 (exit)
diff --git a/jsk_fetch_robot/jsk_fetch_startup/euslisp/go-to-kitchen.l b/jsk_fetch_robot/jsk_fetch_startup/euslisp/go-to-kitchen.l
index c55912599f..171da03639 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/euslisp/go-to-kitchen.l
+++ b/jsk_fetch_robot/jsk_fetch_startup/euslisp/go-to-kitchen.l
@@ -1,19 +1,12 @@
-(ros::roseus "go_to_kitchen")
-(load "package://jsk_fetch_startup/euslisp/navigation-utils.l")
+#!/usr/bin/env roseus
 
-(defun go-to-kitchen ()
-  ;; go to kitchen
-  (send *ri* :speak "go to kitchen.")
-  (if (go-to-spot "/eng2/7f/room73B2-sink-front1" (make-coords :pos #f(100 -1000 0)))
-    (progn ;; succeeded to go to kitchen
-      (unix:sleep 1)
-      (send *ri* :speak "arrived at kitchen." :wait t)
-      (unix:sleep 1)
-      (send *ri* :speak "return to dock." :wait t)
-      (auto-dock))
-    (progn ;; failed to go to kitchen
-      (send *ri* :speak "I could not go to kitchen, so return to dock." :wait t)
-      (auto-dock))))
+(require :fetch-interface "package://fetcheus/fetch-interface.l")
+(load "package://jsk_fetch_startup/euslisp/navigation-utils.l")
 
+(defun main ()
+  (fetch-init)
+  (send *ri* :clear-costmap)
+  (go-to-kitchen :tweet t :n-dock-trial 3 :n-kitchen-trial 3))
 
-(go-to-kitchen)
+(ros::roseus "go_to_kitchen")
+(if (main) (unix::exit 0) (unix::exit 1))
diff --git a/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l b/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l
index 8104a814d6..2ebe8c80d0 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l
+++ b/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l
@@ -1,5 +1,4 @@
-;; go-dock.l
-;; Author: Yuki Furuta <furushchev@jsk.imi.i.u-tokyo.ac.jp>
+(load "package://jsk_robot_startup/lifelog/tweet_client.l")
 
 (ros::load-ros-manifest "fetch_auto_dock_msgs")
 (ros::load-ros-manifest "power_msgs")
@@ -9,8 +8,23 @@
 (defparameter *spots* nil)
 (defparameter *dock-spot* "/eng2/7f/room73B2-fetch-dock-front")
 (defparameter *is-charging* nil)
+(defparameter *tfl* (instance ros::transform-listener :init))
 
-(defun simple-dock ()
+
+(defun get-spot-coords (name)
+  (unless *spots*
+    (setq *spots* (one-shot-subscribe "/spots_marker_array" visualization_msgs::MarkerArray)))
+  (let ((spot-coords nil) (frame-id nil))
+    (dolist (x (send *spots* :markers))
+      (if (equal (send x :text) name)
+        (progn
+          (setq spot-coords (send x :pose))
+          (setq frame-id (send (send x :header) :frame_id)))))
+    (send (send spot-coords :position) :z 0)
+    (setq spot-coords (ros::tf-pose->coords spot-coords))
+    (cons spot-coords frame-id)))
+
+(defun simple-dock (&key (use-pose t))
   (unless *dock-action*
     (setq *dock-action*
           (instance ros::simple-action-client :init
@@ -18,13 +32,26 @@
   (unless (send *dock-action* :wait-for-server 5)
     (ros::ros-error "/dock action server is not started")
     (return-from dock nil))
-
-   (send *dock-action* :send-goal
-        (instance fetch_auto_dock_msgs::DockActionGoal :init))
-  (unless (send *dock-action* :wait-for-result :timeout 60)
-    (ros::ros-error "No result returned from /dock action server")
-    (return-from dock nil))
-  (send (send *dock-action* :get-result) :docked))
+  (let ((dock-action-goal (instance fetch_auto_dock_msgs::DockActionGoal :init)))
+    (when use-pose
+      (let* ((timestamp (ros::time-now))
+             (cret (get-spot-coords *dock-spot*))
+             (frame-to-dock (car cret))
+             (frame-id (cdr cret))
+             (lret (send *tfl* :wait-for-transform "base_link" frame-id timestamp 5))
+             (base-to-frame (send *tfl* :lookup-transform "base_link" frame-id timestamp))
+             (goal-pose (ros::coords->tf-pose (send frame-to-dock :transform base-to-frame :world)))
+             (pose-msg (instance geometry_msgs::PoseStamped :init)))
+        (send pose-msg :header :stamp timestamp)
+        (send pose-msg :header :frame_id "base_link")
+        (send pose-msg :pose goal-pose)
+        (send dock-action-goal :goal :dock_pose pose-msg)))
+    (send *dock-action* :send-goal dock-action-goal)
+    (unless (send *dock-action* :wait-for-result :timeout 60)
+      (send *dock-action* :cancel-all-goals)
+      (ros::ros-error "No result returned from /dock action server")
+      (return-from simple-dock nil))
+    (send (send *dock-action* :get-result) :docked)))
 
 (defun dock ()
   ;; look down
@@ -32,7 +59,7 @@
     (require :fetch-interface "package://fetcheus/fetch-interface.l")
     (fetch-init))
   (send *fetch* :angle-vector (send *ri* :state :potentio-vector))
-  (send *fetch* :head :look-at (float-vector 1500 0 500))
+  (send *fetch* :head :look-at (float-vector 800 0 500))
   (send *ri* :angle-vector (send *fetch* :angle-vector) 1000)
   (send *ri* :wait-interpolation)
   (simple-dock))
@@ -53,7 +80,7 @@
     (return-from undock nil))
   (send (send *undock-action* :get-result) :undocked))
 
-(defun go-to-spot (name &optional (relative-coords (make-coords)))
+(defun go-to-spot (name &optional (relative-coords (make-coords)) &key (undock-rotate nil))
   ;; undock if fetch is docking
   (unless (boundp '*ri*)
     (require :fetch-interface "package://fetcheus/fetch-interface.l")
@@ -67,23 +94,84 @@
         (ros::ros-warn "Skip undocking, so please make sure that Fetch is already undocked.")
         (return))
       (setq *is-charging* (send msg :is_charging))
-      (if *is-charging*
-        (progn (undock)))
+      (when *is-charging*
+        (undock)
+        ;; rotate after undock
+        (when undock-rotate (send *ri* :go-pos-unsafe 0 0 180)))
       (unless *is-charging* (return))
       (if (eq i 2) (progn (send *ri* :speak "Fail to undock") (ros::ros-error "Fail to undock")))))
   ;; go to spot
-  (unless *spots*
-    (setq *spots* (one-shot-subscribe "/spots_marker_array" visualization_msgs::MarkerArray)))
-  (let ((goal-pose nil) (frame-id nil))
-    (dolist (x (send *spots* :markers))
-      (if (equal (send x :text) name)
-        (progn
-          (setq goal-pose (send x :pose))
-          (setq frame-id (send (send x :header) :frame_id)))))
-    (send (send goal-pose :position) :z 0)
-    (setq goal-pose (send (ros::tf-pose->coords goal-pose) :transform relative-coords :world))
+  (let* ((ret (get-spot-coords name))
+         (goal-pose (car ret))
+         (frame-id (cdr ret)))
+    (when relative-coords
+      (setq goal-pose (send goal-pose :transform relative-coords :world)))
+    (send *ri* :clear-costmap)
     (send *ri* :move-to goal-pose :frame-id frame-id)))
 
-(defun auto-dock ()
-  (go-to-spot "/eng2/7f/room73B2-fetch-dock-front" (make-coords :pos #f(0 -1500 0)))
-  (dock))
+(defun auto-dock (&key (n-trial 1))
+  (let ((success nil))
+    (dotimes (i n-trial)
+      (when (go-to-spot *dock-spot* (make-coords :pos #f(0 -800 0)))
+        (ros::ros-info "arrived at the dock.")
+        (setq success (dock))
+        (when success (return-from auto-dock success))))
+    success))
+
+(defun go-to-kitchen (&key (tweet t) (n-dock-trial 1) (n-kitchen-trial 1))
+  ;; go to kitchen
+  (unless (boundp '*ri*)
+    (require :fetch-interface "package://fetcheus/fetch-interface.l")
+    (fetch-init))
+  (ros::ros-info "start going to the kitchen.")
+  (send *ri* :speak-jp "キッチンに向かいます。")
+  ;; stove
+  (let ((succcess-go-to-kitchen))
+    (dotimes (i n-kitchen-trial)
+      (setq success-go-to-kitchen
+            (go-to-spot "/eng2/7f/room73B2-sink-front0"
+                        (make-coords :pos #f(100 -500 0)) :undock-rotate t))
+      (when success-go-to-kitchen (return)))
+    (if success-go-to-kitchen
+      (progn ;; succeeded to go to kitchen
+        (unix:sleep 1)
+        (ros::ros-info "arrived at the kitchen stove.")
+        (send *ri* :speak-jp "キッチンのコンロの前につきました。" :wait t)
+        (unix:sleep 1)
+        ;; stove
+        (when tweet
+          (tweet-string "I took a photo at 73B2 Kitchen stove." :warning-time 3
+                        :with-image "/edgetpu_object_detector/output/image" :speak t))
+        (send *ri* :go-pos-unsafe 0 0 -45)
+        ;; sink
+        (when tweet
+          (tweet-string "I took a photo at 73B2 Kitchen sink." :warning-time 3
+                        :with-image "/edgetpu_object_detector/output/image" :speak t))
+        (send *ri* :go-pos-unsafe 0 0 -90)
+        (send *ri* :go-pos-unsafe 0 0 -90))
+      (progn ;; failed to go to kitchen
+        (ros::ros-error "failed going to the kitchen.")
+        (send *ri* :speak-jp "失敗しました。ドックに戻ります。" :wait t)
+        (ros::ros-info "start going back to the dock.")
+        (auto-dock :n-trial n-dock-trial)
+        (return-from go-to-kitchen nil))))
+  ;; sink
+  ;; (send *ri* :speak-jp "シンクに向かいます。")
+  ;; (if (go-to-spot "/eng2/7f/room73B2-sink-front1" (make-coords :pos #f(100 -200 0)))
+  ;;   (progn ;; succeeded to go to kitchen
+  ;;     (unix:sleep 1)
+  ;;     (ros::ros-info "arrived at the kitchen.")
+  ;;     (send *ri* :speak-jp "キッチンのシンクの前につきました。" :wait t)
+  ;;     (unix:sleep 1)
+  ;;     (when tweet
+  ;;       (tweet-string "I took a photo at 73B2 Kitchen sink." :warning-time 3
+  ;;                     :with-image "/edgetpu_object_detector/output/image" :speak t)))
+  ;;   (progn ;; failed to go to kitchen
+  ;;     (ros::ros-error "failed going to the kitchen.")
+  ;;     (send *ri* :speak-jp "失敗しました。ドックに戻ります。" :wait t)
+  ;;     (ros::ros-info "start going back to the dock.")
+  ;;     (auto-dock :n-trial n-dock-trial)
+  ;;     (return-from go-to-kitchen nil)))
+  (ros::ros-info "start going back to the dock.")
+  (send *ri* :speak-jp "ドックに戻ります。" :wait t)
+  (auto-dock :n-trial n-dock-trial))
diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch
index 30e29fd74f..9431f3c4ed 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch
+++ b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch
@@ -7,6 +7,8 @@
   <arg name="map_frame" default="eng2" />
   <arg name="map_file" default="$(find jsk_maps)/raw_maps/eng2-7f-0.05.yaml"/>
   <arg name="keepout_map_file" default="$(find jsk_maps)/raw_maps/eng2-7f-0.05_keepout.yaml" />
+  <arg name="use_keepout" default="true" />
+  <arg name="use_build_map" default="false" />
 
   <param name="robot/type" value="fetch" />
   <param name="robot/name" command='bash -c "hostname | xargs echo -n"' />
@@ -14,8 +16,6 @@
   <include file="$(find jsk_fetch_startup)/jsk_fetch.machine" />
 
   <!-- add jsk startups -->
-  <node pkg="jsk_fetch_startup" name="warning" type="warning.py" respawn="true" />
-
   <node pkg="jsk_fetch_startup" name="battery_warning" type="battery_warning.py"
         respawn="true" output="screen">
     <rosparam>
@@ -76,9 +76,16 @@
 
   <!-- app manager -->
   <include file="$(find jsk_robot_startup)/lifelog/app_manager.launch">
-    <arg name="use_applist" value="true" />
-    <arg name="applist" value="$(find jsk_fetch_startup)/apps"/>
+    <arg name="use_applist" value="false" /> <!-- use plugin -->
     <arg name="respawn" value="false" />
+    <arg name="basic" value="true" />
+    <arg name="basic_yaml" value="/var/lib/robot/roswww_basic_keys.yaml" />
+  </include>
+
+  <!-- rwt_image_view -->
+  <include file="$(find jsk_robot_startup)/lifelog/rwt_image_view.launch">
+    <arg name="launch_roswww" value="false" />
+    <arg name="launch_websocket" value="false" />
   </include>
 
   <!-- downsample / throttle sensor data -->
@@ -89,10 +96,16 @@
   <!-- include fetch moveit -->
   <include file="$(find fetch_moveit_config)/launch/move_group.launch"
            if="$(arg launch_moveit)" />
+  <!-- overwrite fetch.srdf -->
+  <!-- The semantic description that corresponds to the URDF -->
+  <param name="robot_description_semantic"
+         command="rosrun xacro xacro --inorder $(find jsk_fetch_startup)/launch/moveit/fetch.srdf.xacro" />
 
   <!-- teleop -->
   <include file="$(find jsk_fetch_startup)/launch/fetch_teleop.xml"
-           if="$(arg launch_teleop)" />
+           if="$(arg launch_teleop)" >
+      <arg name="odom_topic" value="/odom_combined" />
+  </include>
 
   <!-- speech recognition -->
   <node name="respeaker_transformer" pkg="tf" type="static_transform_publisher"
@@ -125,19 +138,29 @@
   <group if="$(arg launch_move_base)">
     <!-- jsk_maps -->
     <include file="$(find jsk_maps)/launch/start_map_$(arg map_frame).launch">
-      <arg name="launch_map_server" value="false" />
+      <arg name="launch_map_server" value="true" />
+      <arg name="keepout" value="$(arg use_keepout)" />
     </include>
 
     <!-- dock localization -->
     <node pkg="jsk_fetch_startup" type="correct_position.py" name="correct_position" respawn="true" />
 
     <!-- include fetch_navigation -->
-    <include file="$(find fetch_navigation)/launch/fetch_nav.launch" >
+    <include file="$(find fetch_navigation)/launch/fetch_nav.launch" unless="$(arg use_build_map)" >
       <arg name="map_file" value="$(arg map_file)" />
       <arg name="map_keepout_file" value="$(arg keepout_map_file)" />
-      <arg name="use_keepout" value="true" />
+      <arg name="use_keepout" value="$(arg use_keepout)" />
+      <arg name="use_map_topic" value="true" />
+      <arg name="launch_map_server" value="false" />
+      <arg name="odom_topic" value="/odom_combined" />
     </include>
 
+    <!-- slam for build a map -->
+    <node pkg="slam_karto" type="slam_karto" name="slam_karto"
+          output="screen" if="$(arg use_build_map)" >
+      <remap from="scam" to="base_scan"/>
+    </node>
+
     <!-- robot localization ukf -->
     <node pkg="robot_localization" type="ukf_localization_node" name="ukf_se" clear_params="true">
       <remap from="odometry/filtered" to="/odom_combined" />
@@ -160,19 +183,19 @@
         odom0_differential: true
         imu0: /imu_corrected
         imu0_config: [false, false, false,
-                      false, false, false,
+                      false, false, true,
                       false, false, false,
                       false, false, true,
-                      true, true, false]
+                      true, false, false]
         imu0_nodelay: true
         imu0_differential: true
-        imu0_remove_gravitational_acceleration: true
+        imu0_remove_gravitational_acceleration: false
       </rosparam>
     </node>
 
     <rosparam ns="amcl">
-      update_min_a: 0.01 <!-- update filter every 0.01[m] translation -->
-      update_min_d: 0.01 <!-- update filter every 0.01[rad] rotation -->
+      update_min_a: 0.05 <!-- update filter every 0.05 [m] translation -->
+      update_min_d: 0.1  <!-- update filter every 0.1 [rad] rotation -->
       odom_alpha1: 0.2  # rotation noise per rotation
       odom_alpha2: 0.2  # rotation noise per translation
       odom_alpha3: 0.2  # translation noise per translation
@@ -193,7 +216,7 @@
     </rosparam>
     <rosparam ns="move_base/local_costmap">
       inflater:
-        inflation_radius: 0.7 # 0.7
+        inflation_radius: 0.5 # 0.7
         cost_scaling_factor: 5.0 # 25.0 default 10, increasing factor decrease the cost value
       obstacles:
         min_obstacle_height: 0.05
@@ -204,33 +227,59 @@
     <rosparam ns="move_base">
       base_local_planner: base_local_planner/TrajectoryPlannerROS
       TrajectoryPlannerROS:
-        min_in_place_vel_theta: 1.0
-        escape_vel: -0.1 # -0.1
+        yaw_goal_tolerance: 0.2
+        xy_goal_tolerance: 0.17
+        max_vel_x: 0.5
+        min_vel_x: 0.1
+        min_in_place_vel_theta: 0.3
+        escape_vel: 0.0
+        sim_time: 1.5
+        sim_granularity: 0.025
+        angular_sim_granularity: 0.025
         vx_samples: 10
+        vth_samples: 40
         meter_scoring: true
-        pdist_scale: 5.0
-        gdist_scale: 3.2
-        occdist_scale: 0.1
+        pdist_scale: 32.0
+        gdist_scale: 20.0
+        occdist_scale: 0.02
         dwa: true
       recovery_behavior_enabled: true
       recovery_behaviors:
         - name: "conservative_reset"
           type: "clear_costmap_recovery/ClearCostmapRecovery"
-        - name: "rotate_recovery"
+        - name: "rotate_recovery0"
           type: "rotate_recovery/RotateRecovery"
-          frequency: 20.0
-          sim_granularity: 0.017
         - name: "aggressive_reset"
           type: "clear_costmap_recovery/ClearCostmapRecovery"
+        - name: "rotate_recovery1"
+          type: "rotate_recovery/RotateRecovery"
+        - name: "all_reset"
+          type: "clear_costmap_recovery/ClearCostmapRecovery"
+        - name: "rotate_recovery2"
+          type: "rotate_recovery/RotateRecovery"
+        - name: "move_slow_and_clear"
+          type: "move_slow_and_clear/MoveSlowAndClear"
       conservative_reset:
-        reset_distance: 1.0 # 3.0
+        reset_distance: 2.0 # 3.0
+      rotate_recovery0:
+        frequency: 20.0
+        sim_granularity: 0.017
       aggressive_reset:
-        reset_distance: 0.2 # 0.5
+        reset_distance: 1.0 # 0.5
+      rotate_recovery1:
+        frequency: 20.0
+        sim_granularity: 0.017
+      all_reset:
+        reset_distance: 0.0
+      rotate_recovery2:
+        frequency: 20.0
+        sim_granularity: 0.017
       move_slow_and_clear:
-        clearing_distance: 0.5
+        clearing_distance: 3.0
+        limited_trans_speed: 0.2
+        limited_rot_speed: 0.52
         limited_distance: 0.3
-        limited_rot_speed: 0.45
-        limited_trans_speed: 0.25
+      max_planning_retries: 2
     </rosparam>
   </group>
 
diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_teleop.xml b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_teleop.xml
index dbe9a8382e..416ab28fc4 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_teleop.xml
+++ b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_teleop.xml
@@ -3,6 +3,7 @@
   <arg name="enable_auto_dock" default="true" />
   <arg name="joy_device" default="/dev/ps3joy"/>
   <arg name="launch_fetch_bringup_teleop" default="false" />
+  <arg name="odom_topic" default="odom" />
 
   <group unless="$(arg launch_fetch_bringup_teleop)" >
     <!-- need to launch joy_node because of launch_teleop:=false is set at /etc/ros/indigo/robot.launch,
@@ -11,13 +12,6 @@
       <param name="autorepeat_rate" value="1"/>
       <param name="dev" value="$(arg joy_device)"/>
     </node>
-
-    <!-- need to launch cmd_vel_mux because of launch_teleop:=false is set at /etc/ros/indigo/robot.launch,
-         see https://github.com/fetchrobotics/fetch_robots/pull/40 -->
-    <node name="cmd_vel_mux" pkg="topic_tools" type="mux" respawn="true" output="screen"
-          args="base_controller/command /cmd_vel /teleop/cmd_vel">
-      <remap from="mux" to="cmd_vel_mux" />
-    </node>
   </group>
 
   <!-- copied for button mapping is changed to standardize with PR2 joy.
@@ -27,13 +21,49 @@
        joystick_teleop need to publish /teleop/cmd_vel/unsafe ,
        see https://github.com/jsk-ros-pkg/jsk_robot/blob/master/jsk_fetch_robot/jsk_fetch_startup/README.md -->
   <node name="teleop" pkg="fetch_teleop" type="joystick_teleop" respawn="true">
-    <remap from="teleop/cmd_vel" to="/teleop/cmd_vel/unsafe" />
+    <remap from="teleop/cmd_vel" to="/joy_vel" />
+    <remap from="/odom" to="$(arg odom_topic)" />
     <param name="arm/button_arm_linear" value="4"/>
     <param name="arm/button_arm_angular" value="6"/>
     <param name="head/button_deadman" value="11"/>
     <param name="base/use_mux" value="false" />
   </node>
 
+  <!-- Mux cmd_vel topics -->
+  <include file="$(find jsk_robot_startup)/launch/safe_teleop.launch" >
+    <arg name="odom_topic" value="/odom_teleop"/>
+    <arg name="joy_topic" value="/joy_vel"/>
+    <arg name="navigation_topic" value="/navigation/cmd_vel"/>
+    <arg name="input_topic" value="/input_vel"/>
+    <arg name="base_trajectory_action" value="false"/>
+  </include>
+  <!-- Relay topic names according to system diagram -->
+  <node name="relay_odom"
+        pkg="topic_tools" type="relay"
+        args="/odom_combined /odom_teleop" />
+  <node name="relay_navigation_cmd_vel"
+        pkg="topic_tools" type="relay"
+        args="/cmd_vel /navigation/cmd_vel" />
+  <group ns="safe_teleop_base">
+    <rosparam file="$(find fetch_navigation)/config/costmap_common.yaml" command="load" ns="local_costmap" />
+    <rosparam file="$(find fetch_navigation)/config/fetch/costmap_common.yaml" command="load" ns="local_costmap" />
+    <rosparam file="$(find fetch_navigation)/config/costmap_local.yaml" command="load" ns="local_costmap" />
+    <rosparam file="$(find fetch_navigation)/config/fetch/costmap_local.yaml" command="load" ns="local_costmap" />
+    <rosparam ns="local_costmap">
+      inflater:
+        inflation_radius: 1.0 # 0.7
+        cost_scaling_factor: 3.0 # 25.0 default 10, increasing factor decrease the cost value
+      obstacles:
+        min_obstacle_height: 0.05
+      # default 5 (http://wiki.ros.org/navigation/Tutorials/Navigation%20Tuning%20Guide)
+      update_frequency: 10.0
+      footprint_padding: 0.05
+    </rosparam>
+  </group>
+
+  <!-- Do not publish /base_controller/command if fetch is docking -->
+  <node pkg="jsk_fetch_startup" name="warning" type="warning.py" respawn="true" />
+
   <!-- copied for button mapping is changed to standardize with PR2 joy. -->
   <node name="controller_reset" pkg="fetch_bringup" type="controller_reset.py">
     <param name="reset_button" value="7" />
@@ -45,49 +75,6 @@
     <param name="tuck_button" value="5"/>
   </node>
 
-  <!-- safe teleop -->
-  <node name="unsafe_vel_mux" pkg="topic_tools" type="mux" respawn="true"
-	args="/teleop/cmd_vel /teleop/cmd_vel/safe /teleop/cmd_vel/unsafe">
-    <remap from="mux" to="unsafe_vel_mux" />
-  </node>
-
-  <!-- m.button[10]: L1 -->
-  <!-- m.button[9] : R2 -->
-  <!-- safe teleop with L1 -->
-  <node name="cmd_vel_mux_selector" pkg="jsk_robot_startup" type="mux_selector.py"
-	respawn="true"
-	args="/joy 'm.buttons[10]==1' /teleop/cmd_vel /cmd_vel 'True' /cmd_vel">
-    <remap from="mux" to="cmd_vel_mux" />
-    <param name="default_select" value="/cmd_vel" />
-  </node>
-
-  <!-- unsafe teleop with L1 and R2 -->
-  <node name="unsafe_vel_mux_selector" pkg="jsk_robot_startup" type="mux_selector.py"
-	respawn="true"
-	args="/joy 'm.buttons[10]==1 and m.buttons[9]==1' /teleop/cmd_vel/unsafe /joy 'm.buttons[10]==1 and m.buttons[9]==0' /teleop/cmd_vel/safe">
-    <remap from="mux" to="unsafe_vel_mux" />
-    <param name="default_select" value="/teleop/cmd_vel/safe" />
-  </node>
-
-  <node name="safe_teleop_base" pkg="safe_teleop_base" type="safe_teleop_base">
-    <remap from="base_velocity" to="/teleop/cmd_vel/unsafe" />
-    <remap from="~safe_vel"     to="/teleop/cmd_vel/safe" />
-    <rosparam file="$(find fetch_navigation)/config/costmap_common.yaml" command="load" ns="local_costmap" />
-    <rosparam file="$(find fetch_navigation)/config/fetch/costmap_common.yaml" command="load" ns="local_costmap" />
-    <rosparam file="$(find fetch_navigation)/config/costmap_local.yaml" command="load" ns="local_costmap" />
-    <rosparam file="$(find fetch_navigation)/config/fetch/costmap_local.yaml" command="load" ns="local_costmap" />
-  </node>
-  <rosparam ns="safe_teleop_base/local_costmap">
-    inflater:
-      inflation_radius: 1.0 # 0.7
-      cost_scaling_factor: 3.0 # 25.0 default 10, increasing factor decrease the cost value
-    obstacles:
-      min_obstacle_height: 0.05
-    # default 5 (http://wiki.ros.org/navigation/Tutorials/Navigation%20Tuning%20Guide)
-    update_frequency: 10.0
-    footprint_padding: 0.05
-  </rosparam>
-
   <node name="safe_tilt_head" pkg="jsk_fetch_startup" type="safe_tilt_head.py" />
 
   <!-- audible warning on unsafe teleop -->
diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch
index d8faf71fb8..198a504b64 100644
--- a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch
+++ b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch
@@ -1,11 +1,10 @@
 <launch>
-
   <include file="$(find jsk_fetch_startup)/jsk_fetch.machine" />
 
   <include file="$(find jsk_robot_startup)/lifelog/tweet.launch">
     <arg name="robot_name" value="fetch15"/>
 
-    <arg name="image_topics" default="/head_camera/rgb/image_rect_color"/>
+    <arg name="image_topics" default="/head_camera/rgb/image_rect_color /edgetpu_object_detector/output/image /edgetpu_human_pose_estimator/output/image"/>
     <arg name="machine" value="localhost"/>
     <arg name="output" value="screen"/>
     <arg name="motor_subscribe" value="true"/>
diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/moveit/fetch.srdf.xacro b/jsk_fetch_robot/jsk_fetch_startup/launch/moveit/fetch.srdf.xacro
new file mode 100644
index 0000000000..49c05d4fbc
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_startup/launch/moveit/fetch.srdf.xacro
@@ -0,0 +1,7 @@
+<?xml version="1.0" ?>
+<robot name="baxter" xmlns:xacro="http://www.ros.org/wiki/xacro">
+    <!-- VIRTUAL JOINT: virtual joint from map to base_link -->
+    <!-- this is necessary to add collision objects based on map frame -->
+    <virtual_joint name="world_joint" type="planar" parent_frame="map" child_link="base_link" />
+    <xacro:include filename="$(find fetch_moveit_config)/config/fetch.srdf" />
+</robot>
diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_play.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_play.launch
new file mode 100644
index 0000000000..81a523cd17
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_play.launch
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<launch>
+  <arg name="rosbag" />
+  <arg name="manager" default="rosbag_play_nodelet_manager" />
+  <arg name="launch_nodelet_manager" default="true" />
+  <arg name="loop" default="true" />
+  <arg name="gui" default="false" />
+  <arg name="loop_flag" value="--loop" if="$(arg loop)" />
+  <arg name="loop_flag" value="" unless="$(arg loop)" />
+
+  <arg name="RGB_CAMERA_INFO" value="/head_camera/rgb/throttled/camera_info" />
+  <arg name="RGB_IMAGE" value="/head_camera/rgb/throttled/image_rect_color" />
+  <arg name="QUAT_RGB_CAMERA_INFO" value="/head_camera/rgb/quater/throttled/camera_info" />
+  <arg name="QUAT_RGB_IMAGE" value="/head_camera/rgb/quater/throttled/image_rect_color" />
+  <arg name="DEPTH_CAMERA_INFO" value="/head_camera/depth_registered/throttled/camera_info" />
+  <arg name="DEPTH_IMAGE" value="/head_camera/depth_registered/throttled/image_rect" />
+
+  <param name="use_sim_time" value="true" />
+  <param name="robot_description" textfile="$(find fetch_description)/robots/fetch.urdf" />
+
+  <node pkg="nodelet" type="nodelet" name="$(arg manager)" args="manager" output="screen" />
+
+  <!-- decompress -->
+  <node name="rgb_decompress" pkg="image_transport" type="republish"
+        args="compressed in:=$(arg RGB_IMAGE) out:=$(arg RGB_IMAGE)" />
+  <node name="depth_decompress" pkg="image_transport" type="republish"
+        args="compressedDepth in:=$(arg DEPTH_IMAGE) out:=$(arg DEPTH_IMAGE)" />
+  <node pkg="nodelet" type="nodelet" name="point_cloud_xyzrgb"
+        args="load depth_image_proc/point_cloud_xyzrgb $(arg manager)" output="screen" >
+    <remap from="rgb/camera_info" to="$(arg RGB_CAMERA_INFO)" />
+    <remap from="rgb/image_rect_color" to="$(arg RGB_IMAGE)" />
+    <remap from="depth_registered/image_rect" to="$(arg DEPTH_IMAGE)" />
+    <remap from="depth_registered/points" to="/head_camera/depth_registered/throttled/points" />
+    <rosparam>
+      queue_size: 100
+    </rosparam>
+  </node>
+  <node name="resize_rgb" pkg="nodelet" type="nodelet"
+        args="load image_proc/resize $(arg manager)" output="screen">
+    <remap from="image" to="$(arg RGB_IMAGE)" />
+    <remap from="camera_info" to="$(arg RGB_CAMERA_INFO)" />
+    <remap from="~image" to="$(arg QUAT_RGB_IMAGE)" />
+    <remap from="~camera_info" to="$(arg QUAT_RGB_CAMERA_INFO)" />
+    <rosparam>
+      scale_width: 0.25
+      scale_height: 0.25
+    </rosparam>
+  </node>
+  <node name="resize_cloud" pkg="nodelet" type="nodelet"
+        args="load jsk_pcl/ResizePointsPublisher $(arg manager)" output="screen">
+    <remap from="~input" to="/head_camera/depth_registered/throttled/points" />
+    <remap from="~output" to="/head_camera/depth_registered/quater/throttled/points" />
+    <rosparam>
+      step_x: 4
+      step_y: 4
+    </rosparam>
+  </node>
+
+  <!-- relay -->
+  <node name="rgb_image_relay" pkg="topic_tools" type="relay"
+        args="$(arg RGB_IMAGE) /head_camera/rgb/image_rect_color" />
+  <node name="rgb_info_relay" pkg="topic_tools" type="relay"
+        args="$(arg RGB_CAMERA_INFO) /head_camera/rgb/camera_info" />
+  <node name="quat_rgb_image_relay" pkg="topic_tools" type="relay"
+        args="$(arg QUAT_RGB_IMAGE) /head_camera/rgb/quater/image_rect_color" />
+  <node name="quat_rgb_info_relay" pkg="topic_tools" type="relay"
+        args="$(arg QUAT_RGB_CAMERA_INFO) /head_camera/rgb/quater/camera_info" />
+  <node name="depth_image_relay" pkg="topic_tools" type="relay"
+        args="$(arg DEPTH_IMAGE) /head_camera/depth_registered/image_rect" />
+  <node name="depth_info_relay" pkg="topic_tools" type="relay"
+        args="$(arg DEPTH_CAMERA_INFO) /head_camera/depth_registered/camera_info" />
+  <node name="points_relay" pkg="topic_tools" type="relay"
+        args="/head_camera/depth_registered/throttled/points /head_camera/depth_registered/points" />
+  <node name="quat_points_relay" pkg="topic_tools" type="relay"
+        args="/head_camera/depth_registered/quater/throttled/points /head_camera/depth_registered/quater/points" />
+
+  <!-- latched topic republisher -->
+  <node pkg="jsk_fetch_startup" type="latched_topic_republisher.py" name="latched_topic_republisher_tf_static"
+        output="screen" >
+    <param name="~file" value="$(arg rosbag)" />
+    <param name="~topicname" value="/tf_static" />
+  </node>
+  <node pkg="jsk_fetch_startup" type="latched_topic_republisher.py" name="latched_topic_republisher_map"
+        output="screen" >
+      <param name="~file" value="$(arg rosbag)" />
+      <param name="~topicname" value="/map" />
+  </node>
+
+  <!-- rosbag player -->
+  <node pkg="rosbag" type="play" name="rosbag_play"
+        args="$(arg rosbag) $(arg loop_flag) --clock" output="screen" />
+
+  <node pkg="rviz" type="rviz" name="$(anon rviz)" if="$(arg gui)"
+        args="-d $(find jsk_fetch_startup)/config/jsk_startup.rviz" />
+</launch>
diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_record.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_record.launch
new file mode 100644
index 0000000000..6cd4dc63b7
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_record.launch
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<launch>
+  <arg name="rosbag" doc="rosbag file path" />
+  <arg name="compress" default="false" doc="whether compress rosbag or not." />
+
+  <arg if="$(arg compress)" name="compress_flag" value="--bz2" />
+  <arg unless="$(arg compress)" name="compress_flag" value="" />
+
+  <node name="rosbag_record" pkg="rosbag" type="record"
+      args="-q $(arg compress_flag) -O $(arg rosbag) -b 0 
+          /rosout
+          /tf
+          /tf_static
+          /joint_states
+          /map
+          /odom
+          /odom_combined
+          /cmd_vel
+          /move_base/NavFnROS/plan
+          /move_base/TrajectoryPlannerROS/global_plan
+          /move_base/TrajectoryPlannerROS/local_plan
+          /move_base/global_costmap/footprint
+          /spots_marker_array
+          /spots_pictogram
+          /safe_teleop_base/local_costmap/costmap
+          /move_base/local_costmap/costmap
+          /move_base/global_costmap/costmap
+          /particlecloud
+          /base_scan/throttled
+          /head_camera/rgb/throttled/camera_info
+          /head_camera/depth_registered/throttled/camera_info
+          /head_camera/rgb/throttled/image_rect_color/compressed
+          /head_camera/depth_registered/throttled/image_rect/compressedDepth"
+      output="screen" />
+
+</launch>
diff --git a/jsk_fetch_robot/jsk_fetch_startup/robots/jsk_fetch.urdf.xacro b/jsk_fetch_robot/jsk_fetch_startup/robots/jsk_fetch.urdf.xacro
new file mode 100644
index 0000000000..0a3c4cc0f1
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_startup/robots/jsk_fetch.urdf.xacro
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<robot name="fetch" xmlns:xacro="http://www.ros.org/wiki/xacro">
+  <xacro:include filename="/etc/ros/indigo/calibrated_latest.urdf" />
+  <link name="base_camera_mount">
+    <inertial>
+      <origin rpy="0 0.523598775 0" xyz="0 0 0" />
+      <mass value="0.17" />
+      <inertia ixx="0.024" ixy="0.01" ixz="0.034" iyy="0.034" iyz="0.024" izz="0.01" />
+    </inertial>
+    <visual>
+      <origin rpy="0 0 0" xyz="0 0 0" />
+      <geometry>
+        <mesh filename="package://jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_main.stl" scale="0.001 0.001 0.001" />
+      </geometry>
+      <material name="">
+        <color rgba="0.356 0.361 0.376 1" />
+      </material>
+    </visual>
+    <collision>
+      <origin rpy="0 0 0" xyz="0 0 0" />
+      <geometry>
+        <mesh filename="package://jsk_fetch_accessories/base_camera_mount_mk1/fetch_base_camera_mount_mk1_collision.stl" scale="0.001 0.001 0.001" />
+      </geometry>
+    </collision>
+  </link>
+  <joint name="base_camera_mount_joint" type="fixed">
+    <origin rpy="0 0 0" xyz="0 0 0" />
+    <parent link="base_link" />
+    <child link="base_camera_mount" />
+    <axis xyz="0 0 1" />
+  </joint>
+</robot>
diff --git a/jsk_fetch_robot/jsk_fetch_startup/scripts/latched_topic_republisher.py b/jsk_fetch_robot/jsk_fetch_startup/scripts/latched_topic_republisher.py
new file mode 100755
index 0000000000..6bb60226a1
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_startup/scripts/latched_topic_republisher.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+
+import rosbag
+import rospy
+
+
+class LatchedTopicRepublisher(object):
+    def __init__(self):
+        self.topicname = rospy.get_param('~topicname', 'tf_static')
+        self.bagfilename = rospy.get_param("~file")
+        try:
+            with rosbag.Bag(self.bagfilename, 'r') as inputbag:
+                topic, msg, t = inputbag.read_messages(self.topicname).next()
+            packagename, typename = msg._type.split('/')
+            exec('from {}.msg import {}'.format(packagename, typename))
+
+            self.publisher = rospy.Publisher(
+                self.topicname, eval(typename), latch=True, queue_size=10)
+            list_messages = []
+            with rosbag.Bag(self.bagfilename, 'r') as inputbag:
+                for topic, msg, t in inputbag.read_messages(self.topicname):
+                    list_messages.append(msg)
+            for message in list_messages:
+                self.publisher.publish(message)
+            rospy.loginfo('Republishing topic: {}'.format(self.topicname))
+        except StopIteration:
+            rospy.logwarn('Fail to republish topic: {}'.format(self.topicname))
+            rospy.logwarn('There is no topic {} in {}'.format(
+                self.topicname, self.bagfilename))
+
+
+if __name__ == '__main__':
+    rospy.init_node('latched_topic_republisher')
+    app = LatchedTopicRepublisher()
+    rospy.spin()
diff --git a/jsk_fetch_robot/jsk_fetch_startup/scripts/odom_corrector.py b/jsk_fetch_robot/jsk_fetch_startup/scripts/odom_corrector.py
index d6f37c8f38..f442537ead 100755
--- a/jsk_fetch_robot/jsk_fetch_startup/scripts/odom_corrector.py
+++ b/jsk_fetch_robot/jsk_fetch_startup/scripts/odom_corrector.py
@@ -17,7 +17,7 @@ def __init__(self):
                            0, 0, 0, 0, 0, 0,
                            0, 0, 0, 0, 0, 0,
                            0, 0, 0, 0, 0, 0,
-                           0, 0, 0, 0, 0, 1e-3]
+                           0, 0, 0, 0, 0, 1e-2]
 
     def _cb(self, msg):
         msg.pose.covariance = self.covariance
diff --git a/jsk_fetch_robot/jsk_fetch_startup/scripts/vertical-touchscreen.sh b/jsk_fetch_robot/jsk_fetch_startup/scripts/vertical-touchscreen.sh
new file mode 100755
index 0000000000..1ea8578308
--- /dev/null
+++ b/jsk_fetch_robot/jsk_fetch_startup/scripts/vertical-touchscreen.sh
@@ -0,0 +1,22 @@
+# Set monitor orientation to vertical.
+# monitor port (fetch has only one external HDMI port)
+# You can list up monitor names by 'xrandr'
+MONITOR="HDMI2"
+xrandr --output $MONITOR --rotate right # right rotation
+# xrandr --output $MONITOR --rotate normal # reset to normal
+
+# Set touchpad orientation to vertical.
+# See https://stackoverflow.com/questions/18755967/how-to-make-a-program-that-finds-ids-of-xinput-devices-and-sets-xinput-some-set/18756948#18756948
+# You can list up input devices by 'xinput --list'
+SEARCH="ILITEK" # touchpad name
+ids=$(xinput --list | awk -v search="$SEARCH" \
+    '$0 ~ search {match($0, /id=[0-9]+/);\
+                  if (RSTART) \
+                    print substr($0, RSTART+3, RLENGTH-3)\
+                 }'\
+     )
+for i in $ids
+do
+    xinput set-prop $i 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1 # right rotation
+    # xinput set-prop $i 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1 # reset to normal
+done
diff --git a/jsk_fetch_robot/jsk_fetch_startup/scripts/warning.py b/jsk_fetch_robot/jsk_fetch_startup/scripts/warning.py
index 196823dc37..81e97c478e 100755
--- a/jsk_fetch_robot/jsk_fetch_startup/scripts/warning.py
+++ b/jsk_fetch_robot/jsk_fetch_startup/scripts/warning.py
@@ -89,10 +89,12 @@ def __init__(self):
         self.base_breaker = rospy.ServiceProxy('base_breaker', BreakerCommand)
         #
         self.battery_sub = rospy.Subscriber("battery_state", BatteryState, self.battery_callback, queue_size = 1)
-        self.cmd_vel_sub = rospy.Subscriber("base_controller/command", Twist, self.cmd_vel_callback, queue_size = 1)
+        self.cmd_vel_sub = rospy.Subscriber("base_controller/command_unchecked", Twist, self.cmd_vel_callback, queue_size = 1)
         self.robot_state_sub = rospy.Subscriber("robot_state", RobotState, self.robot_state_callback, queue_size = 1)
         self.diagnostics_status_sub = rospy.Subscriber("diagnostics", DiagnosticArray, self.diagnostics_status_callback, queue_size = 1)
         self.undock_sub = rospy.Subscriber("/undock/status", GoalStatusArray, self.undock_status_callback)
+        #
+        self.cmd_vel_pub = rospy.Publisher("base_controller/command", Twist, queue_size=1)
 
     def undock_status_callback(self, msg):
         for status in msg.status_list:
@@ -131,6 +133,8 @@ def cmd_vel_callback(self, msg):
             sound.play(4) # play builtin sound Boom!
             time.sleep(5)
             self.base_breaker(BreakerCommandRequest(enable=True))
+        else:
+            self.cmd_vel_pub.publish(msg)
         ##
         self.twist_msgs = msg
 
diff --git a/jsk_pr2_robot/README.md b/jsk_pr2_robot/README.md
index 996b45d1da..22bbf8ffa9 100644
--- a/jsk_pr2_robot/README.md
+++ b/jsk_pr2_robot/README.md
@@ -1,6 +1,10 @@
 jsk_pr2_robot
 =============
 
+## Teleoperation
+
+For the JSK safe teleop system, please see [data flow diagram of safe_teleop.launch](https://github.com/jsk-ros-pkg/jsk_robot/tree/master/jsk_robot_common/jsk_robot_startup#launchsafe_teleoplaunch)
+
 ![teleop_command](images/pr2_teleop_command.png)
 
 
diff --git a/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_left_hand_anne.stl b/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_left_hand_anne.stl
new file mode 100644
index 0000000000..2f2b03cee9
Binary files /dev/null and b/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_left_hand_anne.stl differ
diff --git a/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_right_hand_anne.shapr b/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_right_hand_anne.shapr
new file mode 100644
index 0000000000..c8c3716e5a
Binary files /dev/null and b/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_right_hand_anne.shapr differ
diff --git a/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_right_hand_anne.stl b/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_right_hand_anne.stl
new file mode 100644
index 0000000000..3662667dcb
Binary files /dev/null and b/jsk_pr2_robot/jsk_pr2_accessories/pr2_fingertips/pr2_fingertip_right_hand_anne.stl differ
diff --git a/jsk_pr2_robot/jsk_pr2_startup/jsk_pr2_move_base/safe_teleop.xml b/jsk_pr2_robot/jsk_pr2_startup/jsk_pr2_move_base/safe_teleop.xml
index 4a0b06075b..ea0ffcb11f 100644
--- a/jsk_pr2_robot/jsk_pr2_startup/jsk_pr2_move_base/safe_teleop.xml
+++ b/jsk_pr2_robot/jsk_pr2_startup/jsk_pr2_move_base/safe_teleop.xml
@@ -19,39 +19,31 @@
     <remap from="odom" to="/base_odometry/odom"/>
   </node>
 
-  <node pkg="topic_tools" type="mux" name="unsafe_vel_mux" respawn="true"
-	args="/navigation/unsafe_vel /input_vel /navigation/cmd_vel /teleop/joy_vel" machine="c2">
-    <remap from="mux" to="vel_type_mux" />
-  </node>
-  <!-- args is (topic, condition, select)* -->
-  <node pkg="jsk_robot_startup" type="mux_selector.py" machine="c2"
-	name="vel_type_selector" respawn="true" output="screen"
-	args="/joy 'm.buttons[10]==1' /teleop/joy_vel /navigation/cmd_vel 'True' /navigation/cmd_vel">
-    <remap from="mux" to="vel_type_mux" />
-    <param name="default_select" value="/input_vel"/>
-  </node>
-
-  <node pkg="safe_teleop_base" type="safe_teleop_base" respawn="true"
-        name="safe_teleop_base" machine="c2" clear_params="true">
-    <remap from="/odom" to="/base_odometry/odom"/>
-    <remap from="base_velocity" to="/navigation/unsafe_vel"/>
-    <remap from="~safe_vel" to="/navigation/safe_vel"/>
+  <!-- Mux cmd_vel topics -->
+  <include file="$(find jsk_robot_startup)/launch/safe_teleop.launch">
+    <arg name="machine" value="c2" />
+    <arg name="odom_topic" value="/odom_teleop" />
+    <arg name="teleop_topic" value="/teleop/cmd_vel/unsafe" />
+    <arg name="navigation_topic" value="/navigation/cmd_vel" />
+    <arg name="input_topic" value="/input_vel/unsafe" />
+  </include>
+  <!-- Relay topic names according to system diagram -->
+  <node name="relay_odom"
+        pkg="topic_tools" type="relay"
+        args="/base_odometry/odom /odom_teleop" />
+  <node name="relay_teleop_cmd_vel"
+        pkg="topic_tools" type="relay"
+        args="/teleop/joy_vel /teleop/cmd_vel/unsafe" />
+  <group ns="safe_teleop_base">
     <rosparam file="$(find jsk_pr2_startup)/jsk_pr2_move_base/costmap_common_params.yaml" command="load" ns="local_costmap" />
     <rosparam file="$(find jsk_pr2_startup)/jsk_pr2_move_base/local_costmap_params.yaml" command="load" ns="local_costmap" />
     <rosparam file="$(find jsk_pr2_startup)/jsk_pr2_move_base/safe_teleop_pr2_params.yaml" command="load" ns="local_costmap"/>
-  </node>
-
-  <!-- switch base velocity, safe or not -->
-  <node pkg="topic_tools" type="mux" name="cmd_vel_mux" respawn="true" machine="c2"
-	args="base_controller/command_unchecked /navigation/unsafe_vel /navigation/safe_vel">
-    <remap from="mux" to="cmd_vel_mux" />
-  </node>
-  <node pkg="jsk_robot_startup" type="mux_selector.py" machine="c2"
-	name="cmd_vel_selector" respawn="true" output="screen"
-	args="/joy 'm.buttons[9]==0 and m.buttons[10]==1' /navigation/safe_vel /input_vel 'True' /navigation/safe_vel">
-    <remap from="mux" to="cmd_vel_mux" />
-    <param name="default_select" value="/navigation/unsafe_vel"/>
-  </node>
+  </group>
+  <group ns="safe_input_vel">
+    <rosparam file="$(find jsk_pr2_startup)/jsk_pr2_move_base/costmap_common_params.yaml" command="load" ns="local_costmap" />
+    <rosparam file="$(find jsk_pr2_startup)/jsk_pr2_move_base/local_costmap_params.yaml" command="load" ns="local_costmap" />
+    <rosparam file="$(find jsk_pr2_startup)/jsk_pr2_move_base/safe_teleop_pr2_params.yaml" command="load" ns="local_costmap"/>
+  </group>
 
   <!-- check cable and filter baser_controller/command -->
   <node pkg="roseus" type="roseus" name="cable_warning" respawn="true"
diff --git a/jsk_robot_common/jsk_robot_startup/README.md b/jsk_robot_common/jsk_robot_startup/README.md
index 7affbb03c5..8d25ba2284 100644
--- a/jsk_robot_common/jsk_robot_startup/README.md
+++ b/jsk_robot_common/jsk_robot_startup/README.md
@@ -72,3 +72,49 @@ This script sets initial pose with relative pose from specified TF frame by publ
 ### Subscribing Topics
 
 * `/amcl_pose` (`geometry_msgs/PoseWithcovariancestamped`)
+
+
+## util/mux_selector.py
+
+This node check and select mux input topic on condition of the specified topic.
+This node takes three arguments for one topic.
+The first one is the topic to be monitored.
+When a message from this topic is received, it is assigned as a variable `m`.
+If a condition specified as the second argument,
+this node calls a service to select the topic specified as the third argument.
+
+### Usage
+
+```
+rosrun jsk_robot_startup mux_selector.py /joy1 'm.buttons[9]==1' /cmd_vel1 /joy2 'm.buttons[9]==1' /cmd_vel2
+```
+
+### Parameters
+
+* `~patient` (Double, default: 0.5)
+
+  Indicates the allowable range of the difference between the received topic time and the current time.
+
+* `~frequency` (Double, default: 20.0)
+
+  Frequency of processing loop.
+
+* `~default_select` (String, default: `None`)
+
+  Default topic name.
+
+* `~wait` (Bool, default: `False`)
+
+  If wait is `True`, this node waits for the topic to be received.
+
+### Subscribing Topics
+
+The topic specified in the argument is subscribed.
+
+
+## launch/safe_teleop.launch
+
+This launch file provides a set of nodes for safe teleoperation common to mobile robots. Robot-specific nodes such as `/joy`, `/teleop` or `/cable_warning` must be included in the teleop launch file for each robot, such as [safe_teleop.xml for PR2](https://github.com/jsk-ros-pkg/jsk_robot/blob/master/jsk_pr2_robot/jsk_pr2_startup/jsk_pr2_move_base/safe_teleop.xml) or [safe_teleop.xml for fetch](https://github.com/jsk-ros-pkg/jsk_robot/blob/master/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_teleop.xml).
+
+![JSK teleop_base system](https://user-images.githubusercontent.com/19769486/88371623-608d0380-cdcf-11ea-859e-f3eccac120b3.png)
+
diff --git a/jsk_robot_common/jsk_robot_startup/launch/safe_teleop.launch b/jsk_robot_common/jsk_robot_startup/launch/safe_teleop.launch
new file mode 100644
index 0000000000..fa1094a6f6
--- /dev/null
+++ b/jsk_robot_common/jsk_robot_startup/launch/safe_teleop.launch
@@ -0,0 +1,83 @@
+<launch>
+  <machine name="localhost" address="localhost" />
+
+  <arg name="machine" default="localhost" />
+  <arg name="odom_topic" default="/odom_teleop" />
+  <arg name="joy_topic" default="/joy_vel" />
+  <arg name="navigation_topic" default="/navigation/cmd_vel" />
+  <arg name="input_topic" default="/input_vel" />
+  <arg name="base_trajectory_action" default="true" />
+
+  <!-- input mux: ($(arg joy_topic) & $(arg input_topic)) -> /teleop/cmd_vel/unsafe -->
+  <node name="input_vel_mux" pkg="topic_tools" type="mux"
+        respawn="true" machine="$(arg machine)"
+	args="/teleop/cmd_vel/unsafe $(arg input_topic) $(arg joy_topic)">
+    <remap from="mux" to="input_vel_mux" />
+  </node>
+  <!-- input mux selector with PS3 L1 button -->
+  <node name="input_vel_selector" pkg="jsk_robot_startup" type="mux_selector.py"
+	respawn="true" machine="$(arg machine)"
+	args="/joy 'm.buttons[10]==1' $(arg joy_topic) /joy 'm.buttons[10]==0' $(arg input_topic)">
+    <remap from="mux" to="input_vel_mux" />
+    <param name="default_select" value="$(arg input_topic)" />
+    <param name="wait" value="true" />
+  </node>
+
+  <!-- /teleop/cmd_vel/unsafe -> /teleop/cmd_vel/safe -->
+  <node name="safe_teleop_base" pkg="safe_teleop_base" type="safe_teleop_base"
+        machine="$(arg machine)" >
+    <remap from="/odom" to="$(arg odom_topic)"/>
+    <remap from="base_velocity" to="/teleop/cmd_vel/unsafe" />
+    <remap from="~safe_vel"     to="/teleop/cmd_vel/safe" />
+  </node>
+
+  <!-- unsafe mux: (/teleop/cmd_vel/unsafe & /teleop/cmd_vel/safe) -> /teleop/cmd_vel -->
+  <node name="unsafe_vel_mux" pkg="topic_tools" type="mux"
+        respawn="true" machine="$(arg machine)"
+	args="/teleop/cmd_vel /teleop/cmd_vel/safe /teleop/cmd_vel/unsafe">
+    <remap from="mux" to="unsafe_vel_mux" />
+  </node>
+  <!-- unsafe mux selector with PS3 R2 button -->
+  <node name="unsafe_vel_selector" pkg="jsk_robot_startup" type="mux_selector.py"
+	respawn="true" machine="$(arg machine)"
+	args="/joy 'm.buttons[9]==1' /teleop/cmd_vel/unsafe /joy 'm.buttons[9]==0' /teleop/cmd_vel/safe">
+    <remap from="mux" to="unsafe_vel_mux" />
+    <param name="default_select" value="/teleop/cmd_vel/safe" />
+    <param name="wait" value="true" />
+  </node>
+
+  <group if="$(arg base_trajectory_action)">
+    <!-- vel type mux: (/teleop/cmd_vel & $(arg navigation_topic) & /base_controller/cmd_vel) -> /base_controller/command_unchecked -->
+    <node pkg="topic_tools" type="mux" name="vel_type_mux"
+          respawn="true" machine="$(arg machine)"
+          args="/base_controller/command_unchecked /teleop/cmd_vel $(arg navigation_topic) /base_controller/cmd_vel">
+      <remap from="mux" to="vel_type_mux" />
+    </node>
+    <!-- vel type mux with PS3 L1 button -->
+    <node pkg="jsk_robot_startup" type="mux_selector.py" name="vel_type_selector"
+          respawn="true" output="screen" machine="$(arg machine)"
+          args="/joy 'm.buttons[10]==1' /teleop/cmd_vel $(arg navigation_topic) 'True' $(arg navigation_topic) /base_controller/cmd_vel 'True' /base_controller/cmd_vel">
+      <remap from="mux" to="vel_type_mux" />
+      <param name="default_select" value="/teleop/cmd_vel"/>
+      <param name="wait" value="true" />
+    </node>
+  </group>
+
+  <group unless="$(arg base_trajectory_action)">
+    <!-- vel type mux: (/teleop/cmd_vel & $(arg navigation_topic)) -> /base_controller/command_unchecked -->
+    <node pkg="topic_tools" type="mux" name="vel_type_mux"
+          respawn="true" machine="$(arg machine)"
+          args="/base_controller/command_unchecked /teleop/cmd_vel $(arg navigation_topic)">
+      <remap from="mux" to="vel_type_mux" />
+    </node>
+    <!-- vel type mux -->
+    <node pkg="jsk_robot_startup" type="mux_selector.py" name="vel_type_selector"
+          respawn="true" output="screen" machine="$(arg machine)"
+          args="/teleop/cmd_vel 'True' /teleop/cmd_vel  $(arg navigation_topic) 'True' $(arg navigation_topic)">
+      <remap from="mux" to="vel_type_mux" />
+      <param name="default_select" value="/teleop/cmd_vel"/>
+      <param name="wait" value="true" />
+    </node>
+  </group>
+
+</launch>
diff --git a/jsk_robot_common/jsk_robot_startup/lifelog/app_manager.launch b/jsk_robot_common/jsk_robot_startup/lifelog/app_manager.launch
index ed1cc38888..79733ff2a6 100644
--- a/jsk_robot_common/jsk_robot_startup/lifelog/app_manager.launch
+++ b/jsk_robot_common/jsk_robot_startup/lifelog/app_manager.launch
@@ -11,6 +11,12 @@
        doc="launch roswww server if true"/>
   <arg name="roswww_port" default="8000"
        doc="port number for roswww server"/>
+  <arg name="basic" default="false"
+       doc="enable basic authentication" />
+  <arg name="basic_yaml" default="/var/lib/robot/roswww_basic_keys.yaml"
+       doc="basic yaml file path" />
+  <arg name="basic_flag" value="--basic $(arg basic) --basic-yaml $(arg basic_yaml)" if="$(arg basic)" />
+  <arg name="basic_flag" value="" unless="$(arg basic)" />
 
   <arg name="remote" default="false"
        doc="set true with valid 'machine' argument"/>
@@ -43,7 +49,7 @@
   <node if="$(arg launch_roswww)"
         name="roswww" pkg="roswww" type="webserver.py"
         output="screen" machine="$(arg machine)" respawn="$(arg respawn)"
-        args="--name roswww --webpath www --cached true
+        args="--name roswww --webpath www --cached true $(arg basic_flag)
               --port $(arg roswww_port) --start_port $(arg roswww_port) --end_port $(arg roswww_port)"/>
 
   <!--
diff --git a/jsk_robot_common/jsk_robot_startup/lifelog/rwt_image_view.launch b/jsk_robot_common/jsk_robot_startup/lifelog/rwt_image_view.launch
new file mode 100644
index 0000000000..841d870d7c
--- /dev/null
+++ b/jsk_robot_common/jsk_robot_startup/lifelog/rwt_image_view.launch
@@ -0,0 +1,30 @@
+<launch>
+  <arg name="launch_roswww" default="false"
+       doc="launch roswww server if true"/>
+  <arg name="launch_websocket" default="false"
+       doc="launch rosbridge_websocket if true"/>
+  <arg name="websocket_port" default="9090"
+       doc="port number for rosbridge_websocket server"/>
+  <arg name="roswww_port" default="8000"
+       doc="port number for roswww server"/>
+
+  <include file="$(find roswww)/launch/roswww.launch" if="$(arg launch_roswww)">
+    <arg name="port" value="$(arg roswww_port)" />
+  </include>
+  <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch"
+           if="$(arg launch_websocket)">
+    <arg name="port" value="$(arg websocket_port)" />
+  </include>
+  <node pkg="web_video_server" type="web_video_server"
+        name="web_video_server"
+        output="screen"
+        clear_params="true">
+   <param name="port" value="8080" />
+   <param name="address" value="0.0.0.0" />
+  </node>
+  <node pkg="rwt_image_view" type="rosbag_record_server.py"
+        name="rosbag_record_server"
+        output="screen"
+        clear_params="true">
+  </node>
+</launch>
diff --git a/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch b/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch
index f647b7fbfc..b22b0d066c 100644
--- a/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch
+++ b/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch
@@ -33,6 +33,7 @@
     <remap from="mux" to="tweet_image_mux" />
     <param name="lazy" value="true" />
   </node>
+  <!--
   <node name="tweet_image_saver" pkg="image_view" type="image_saver"
         machine="$(arg machine)">
     <remap from="image" to="/tweet_image" />
@@ -40,6 +41,7 @@
     <param name="filename_format" value="/tmp/tweet_image.jpg" />
     <param name="image_transport" value="raw" />
   </node>
+  -->
   <node name="active_user" pkg="roseus"
         type="roseus" args="$(find jsk_robot_startup)/lifelog/active_user.l"
         machine="$(arg machine)"
diff --git a/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client.l b/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client.l
index cfd528b611..e0ced3da45 100755
--- a/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client.l
+++ b/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client.l
@@ -1,7 +1,9 @@
 #!/usr/bin/env roseus
 
-(ros::load-ros-manifest "roseus")
-(ros::load-ros-manifest "topic_tools")
+(ros::roseus-add-srvs "topic_tools")
+(ros::roseus-add-msgs "std_msgs")
+(ros::roseus-add-msgs "sensor_msgs")
+
 (load "package://pr2eus/speak.l")
 
 (ros::roseus "tweet_client")
@@ -33,7 +35,7 @@
   (setq *waking-target-second* *waking-tweet-second*)))
 
 (defun tweet-string (twit-str &key (warning-time) (with-image) (image-wait 30) (speak t))
-  (let (prev-image-topic (save-wait 0))
+  (let (prev-image-topic img)
   (when warning-time
     (unless (numberp warning-time)
       (setq warning-time 3))
@@ -73,18 +75,18 @@
         (setq prev-image-topic (send (one-shot-subscribe "/tweet_image_mux/selected" std_msgs::String) :data)))
 
       ;; retrieve image
-      (call-empty-service "/tweet_image_saver/save" :wait t)
-      (ros::service-call "/tweet_image_mux/select" (instance topic_tools::muxselectrequest :init :topic prev-image-topic))
-
-      (ros::ros-info "tweeting ~A" twit-str)
-      ;; waiting for 10 seconds for image saver
-      (while (and (not (probe-file "/tmp/tweet_image.jpg")) (< save-wait 10))
-        (incf save-wait 1)
-        (unix:sleep 1))
-      (ros::publish "/tweet"
-                    (instance std_msgs::String :init
-                              :data (format nil "~A ~A"
-                                            twit-str (format nil "/tmp/tweet_image.jpg")))))
+      ;; (call-empty-service "/tweet_image_saver/save" :wait t)
+      (setq img (one-shot-subscribe "/tweet_image" sensor_msgs::Image :timeout 1000))
+      (if img
+        (progn
+          (write-image-file "/tmp/tweet_image.jpg" (ros::sensor_msgs/Image->image img))
+          (ros::ros-info "tweeting ~A" twit-str)
+          (ros::publish "/tweet"
+                        (instance std_msgs::String :init
+                                  :data (format nil "~A ~A"
+                                                twit-str (format nil "/tmp/tweet_image.jpg")))))
+        (ros::ros-error "fail saving image and tweeting"))
+      (ros::service-call "/tweet_image_mux/select" (instance topic_tools::muxselectrequest :init :topic prev-image-topic)))
     (t
       (ros::publish "/tweet" (instance std_msgs::String :init :data twit-str))))
   (when speak (speak-jp "ついーとしました" :wait t))))
diff --git a/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client_tablet.l b/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client_tablet.l
index ff5b640c83..a9ae5b1e54 100755
--- a/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client_tablet.l
+++ b/jsk_robot_common/jsk_robot_startup/lifelog/tweet_client_tablet.l
@@ -1,6 +1,7 @@
 #!/usr/bin/env roseus
 
 (ros::roseus "twitter_client_tablet")
+(ros::roseus-add-msgs "roseus")
 
 (load "package://jsk_robot_startup/lifelog/tweet_client.l")
 
diff --git a/jsk_robot_common/jsk_robot_startup/lifelog/unsafe_warning.l b/jsk_robot_common/jsk_robot_startup/lifelog/unsafe_warning.l
index 7716fa7b50..a5db2e8875 100755
--- a/jsk_robot_common/jsk_robot_startup/lifelog/unsafe_warning.l
+++ b/jsk_robot_common/jsk_robot_startup/lifelog/unsafe_warning.l
@@ -1,29 +1,17 @@
 #!/usr/bin/env roseus
 
-(ros::roseus-add-msgs "std_msgs")
-(ros::roseus-add-msgs "sound_play")
-(ros::roseus-add-msgs "sensor_msgs")
+(require :speak "package://pr2eus/speak.l")
 
-(defun play_sound (sound)
-  (let ((msg (instance sound_play::SoundRequest :init)))
-    (cond
-     ((numberp sound)
-      (send msg :sound sound))
-     (t
-      (send msg :sound sound_play::SoundRequest::*play_file*)
-      (send msg :arg sound)))
-    (send msg :command sound_play::SoundRequest::*play_once*)
-    (ros::publish "/robotsound" msg)))
+(ros::roseus-add-msgs "sensor_msgs")
 
 (defun joy-cb (msg)
   (when (and
 	 (eq 1 (elt (send msg :buttons) 9))
 	 (eq 1 (elt (send msg :buttons) 10)))
-    (play_sound 2) ;; kan kan
+    (play-sound 2 :topic-name "/robotsound" :wait nil) ;; kan kan
     (unix::sleep 2)
     ))
 
 (ros::roseus "unsafe_warning")
 (ros::subscribe "/joy" sensor_msgs::joy #'joy-cb)
-(ros::advertise "/robotsound" sound_play::SoundRequest 10)
 (ros::spin)
diff --git a/jsk_robot_common/jsk_robot_startup/util/mux_selector.py b/jsk_robot_common/jsk_robot_startup/util/mux_selector.py
index 6639f91542..d14e0857db 100755
--- a/jsk_robot_common/jsk_robot_startup/util/mux_selector.py
+++ b/jsk_robot_common/jsk_robot_startup/util/mux_selector.py
@@ -46,13 +46,23 @@ def gen_callback(expr, select, index):
     return (lambda m: callback(m, expr, select, index))
 
 
-def add_trigger(topic, expr, select, index):
+def add_trigger(topic, expr, select, index, wait=False):
     topic_type, _, _ = rostopic.get_topic_type(topic)
     topic_class, _, _ = rostopic.get_topic_class(topic)
 
-    if(topic_type is None):
-        rospy.loginfo('%s is not published yet', topic)
-        return None
+    if topic_type is None:
+        if wait is False:
+            rospy.loginfo('%s is not published yet', topic)
+            return None
+        elif wait is True:
+            rate = rospy.Rate(1)
+            while not rospy.is_shutdown() and topic_type is None:
+                topic_type, _, _ = rostopic.get_topic_type(topic)
+                topic_class, _, _ = rostopic.get_topic_class(topic)
+                rospy.loginfo('waiting topic %s' % topic)
+                rate.sleep()
+        else:
+            raise ValueError('wait should be bool')
 
     if(topic_class is None):
         rospy.loginfo('%s is not builded yet', topic_type)
@@ -69,14 +79,15 @@ def add_trigger(topic, expr, select, index):
     return sub
 
 
-def update_trigger(conditions):
+def update_trigger(conditions, wait=False):
     # setting triggers
     global subs
     for index in range(len(conditions)):
         if subs[index] is not None:
             continue
         cond = conditions[index]
-        subs[index] = add_trigger(cond[0],cond[1],cond[2],index)
+        subs[index] = add_trigger(cond[0],cond[1],cond[2],index,
+                                  wait=wait)
 
 
 if __name__ == "__main__":
@@ -101,6 +112,7 @@ def update_trigger(conditions):
     deadtime = rospy.get_param('~patient', 0.5)
     freq = rospy.get_param('~frequency', 20.0)
     default_select = rospy.get_param('~default_select', None)
+    wait = rospy.get_param('~wait', False)
 
     mux_name_ = rospy.resolve_name('mux')
     rospy.wait_for_service(mux_name_+'/select')
@@ -113,7 +125,7 @@ def update_trigger(conditions):
     # loop
     try:
         before = default_select
-        update_trigger(conditions)
+        update_trigger(conditions, wait=wait)
         looprate = rospy.Rate(freq)
         while not rospy.is_shutdown():
             lockobj.acquire()