← Commit history

Add prototype library assets with source provenance and explicit mounting/motion limits

John Lauer ·9d0431132a ·6d ago ·parent bcdae08
12 files changed +5002−2
LICENSEadded+9
@@ -0,0 +1,9 @@+MIT License++Copyright (c) 2026 Adom Industries Inc.++Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
README.md+10−2
@@ -1,3 +1,11 @@-# JST GHR-04V-S four-position off-board cable housing+# JST GHR-04V-S -Four-position GH off-board cable housing; physical mating and crimp qualification pending.+Four-position GH 1.25 mm off-board cable housing. [Manufacturer drawing](https://www.jst-mfg.com/product/pdf/eng/eGH.pdf), pages 2–3.++The empty keyed housing is 6.25 × 4.15 × 5.70 mm, with four contact positions spanning 3.75 mm. It mates with BM04B-GHS-TBT and uses four separately ordered SSHL-002T-P0.2 contacts. The authored STEP preserves the external drawing envelope; socket passages and latch are illustrative. No precise mating geometry or retention is qualified. Its footprint is a mechanical template with zero electrical pads, not a solder footprint.++GH contacts accept AWG30–26 with 0.76–1.00 mm insulation diameter. The family catalog rating is 1 A with AWG26, 50 V and −40 to105°C including current heating; verify the actual harness conductor and crimp process. SSHL-003 contacts are not a substitute. The pin numbers describe contact positions, not project signals. Check polarity from the mating face before assembly.++[Symbol](ghr-04v-s.kicad_sym) · [Footprint or mechanical template](ghr-04v-s.kicad_mod) · [STEP](ghr-04v-s.step) · [Provenance](provenance.json)++Native parser and rendered geometry checks are design evidence, not physical fit, pull-test or repeated-mating qualification.
THIRD_PARTY.mdadded+1
@@ -0,0 +1 @@+Original documentation, harness symbols and original off-board geometry are MIT licensed. Manufacturer documents are linked, not included or relicensed. Manufacturer names and marks remain their owners property. 
footprint.htmladded+210
@@ -0,0 +1,210 @@+<!doctype html><html><head><meta charset="utf-8">+<title>GHR-04V-S_MECHANICAL_ONLY - adom-footprint</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+/* ── adom-footprint shared viewer core (CSS) ───────────────────────────────+   Included VERBATIM by both the live app (app.html) and the static embed+   (embed.html) so the canvas, zoom toolbar and layer-panel rows look identical+   and cannot drift. Self-contained literal colours (no dependency on either+   file's CSS vars). Class prefix: av- */++.av-vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:radial-gradient(circle at 50% 42%,#121a26 0%,#0d1117 72%)}+.av-vp.grab{cursor:grabbing}+/* DIRECT child only — the zoom-toolbar button icons (.av-tools svg) also live+   inside .av-vp; without '>' they'd inherit position:absolute and stack at 0,0. */+.av-vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}++/* zoom toolbar */+/* Grouped translucent toolbar (matches adom-symbol's .tools): one container, borderless+   buttons that highlight on hover — instead of individually-boxed buttons. */+.av-tools{position:absolute;left:10px;top:10px;display:flex;gap:3px;padding:3px;z-index:5;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #222b38;border-radius:9px}+.av-tools button{width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:#cfd8e2;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease}+.av-tools button svg{width:16px;height:16px;display:block}+.av-tools button:hover{background:#222b38;color:#37c8a6}+.av-tools button:focus,.av-tools button:focus-visible{outline:none}+.av-panhint{position:absolute;right:10px;bottom:9px;color:#8b949e;font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}++/* layer panel rows */+.av-lrow{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;cursor:pointer}+.av-lrow:hover{background:#161c27}+.av-lrow .sw{width:13px;height:13px;border-radius:3px;border:1px solid rgba(255,255,255,.15);flex:0 0 13px}+.av-lrow .sw.ring{background:transparent!important}+.av-lrow .ln{flex:1;font-size:13px}+.av-lrow .meta{font-size:10px;color:#8b949e}+.av-lrow .chk{width:16px;height:16px;border-radius:4px;border:1.5px solid #3a4757;display:grid;place-items:center;color:#0b0f17;font-size:11px}+.av-lrow.on .chk{background:#37c8a6;border-color:#37c8a6}+.av-lrow.off .ln,.av-lrow.off .sw{opacity:.4}+.av-lrow.special{background:linear-gradient(100deg,rgba(55,200,166,.10),transparent);border:1px solid rgba(55,200,166,.25);margin-top:4px}+.av-lrow.special .ln{color:#7ef0d2;font-weight:600}++:root{--bg:#0d1117;--panel:#11161f;--border:#222b38;--text:#e6edf3;--muted:#8b949e;--accent:#37c8a6}+*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}+body{background:var(--bg);color:var(--text);font-family:'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+header{display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}+header .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}+header .b{font-weight:700;font-size:14px}header .b span{color:var(--muted);font-weight:400}+header .nm{margin-left:auto;font-weight:600;font-size:13px;color:#cfd8e2}+main{flex:1;display:flex;min-height:0}+.vpwrap{flex:1;position:relative;min-width:0}+aside{flex:0 0 248px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}+.layers{padding:6px}+.note{font-size:11px;color:var(--muted);line-height:1.45;padding:8px 11px}+.note b{color:#7ef0d2}+</style></head>+<body>+  <header><span class="dot"></span><span class="b">adom-footprint <span>· interactive</span></span><span class="nm">GHR-04V-S_MECHANICAL_ONLY</span></header>+  <main>+    <div class="vpwrap">+      <div class="av-vp" id="vp">+        <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4.125 -3.075 8.250 6.150" preserveAspectRatio="xMidYMid meet"><g class="adom-layer-courtyard"></g><g class="adom-layer-fab"><rect x="-3.125" y="-2.075" width="6.250" height="4.150" fill="none" stroke="#6e7681" stroke-width="0.1"/></g><g class="adom-layer-copper"></g><g class="adom-layer-heatsink"></g><g class="adom-layer-drill"></g><g class="adom-layer-silk"></g><g class="adom-layer-padnum"></g><g class="adom-layer-paste-apertures"></g><g class="adom-layer-paste-dots"></g></svg>+      </div>+    </div>+    <aside>+      <div class="ah">Layers</div>+      <div class="layers" id="layers"></div>+      <div class="note">The <b>solder paste jet</b> layer shows the 300µm paste-dispensing dots that travel with the footprint. Off by default — toggle it on.</div>+    </aside>+  </main>+<script>/* ── adom-footprint shared viewer core (window.AV) ─────────────────────────+   Single source of truth for the layer list, toggle behaviour, defaults,+   pan/zoom and toolbar icons. Included VERBATIM by both app.html (live) and+   embed.html (static) so the two viewers cannot drift. Pure client-side; works+   on any SVG that carries the <g class="adom-layer-*"> groups. */+(function(){+  var ICON_ZIN='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg>';+  var ICON_ZOUT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg>';+  // Zoom-to-FIT = a magnifier with a small square inside (fit content to view).+  // Deliberately NOT the four-corner expand/"fullscreen" glyph.+  var ICON_FIT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5"/><rect x="7.6" y="7.6" width="5.8" height="5.8" rx="1.2"/></svg>';++  // The canonical layer list. Every layer is a <g class="adom-layer-*"> in the+  // self-rendered SVG, so toggling is group-based (robust) — never colour-match.+  // `kind:'group'` on every entry: all layers are toggled by their <g> group+  // (robust), never by colour-match. (app.html still reads def.kind.)+  var LAYER_DEFS=[+    {key:'copper',    name:'Copper',           kind:'group', sel:'.adom-layer-copper',          sw:'#C83434'},+    // Auto-generated thermal-via array under the exposed pad — only present (and+    // listed) when the footprint has an exposed thermal pad.+    {key:'heatsink',  name:'Heatsink vias',    kind:'group', sel:'.adom-layer-heatsink',        sw:'#e8a13a'},+    {key:'padnum',    name:'Pad numbers',      kind:'group', sel:'.adom-layer-padnum',          sw:'#ffffff', ring:true},+    {key:'silk',      name:'Silkscreen',       kind:'group', sel:'.adom-layer-silk',            sw:'#00cccc'},+    {key:'fab',       name:'Fab (F.Fab)',      kind:'group', sel:'.adom-layer-fab',             sw:'#6e7681', ring:true},+    {key:'courtyard', name:'Courtyard',        kind:'group', sel:'.adom-layer-courtyard',       sw:'#FF26E2', ring:true},+    {key:'drill',     name:'Drill',            kind:'group', sel:'.adom-layer-drill',           sw:'#888888', ring:true},+    {key:'paste-ap',  name:'Paste apertures',  kind:'group', sel:'.adom-layer-paste-apertures', sw:'#8aa0b8', ring:true},+    // Generic name — the 300µm solder-paste dispensing dots. Off by default.+    {key:'paste-dots',name:'Solder paste jet', kind:'group', sel:'.adom-layer-paste-dots',      sw:'#37c8a6', special:true},+  ];++  // True only if the group actually holds drawn geometry (not an empty <g>) — so+  // layers with nothing in THIS footprint aren't listed as dead, dim rows.+  function groupHasGeo(svg,def){+    if(!svg) return false; var n=0,g=svg.querySelectorAll(def.sel);+    for(var i=0;i<g.length;i++){ n+=g[i].querySelectorAll('path,rect,circle,line,polygon,polyline,text').length; }+    return n>0;+  }+  function layerPresent(svg,def){ return groupHasGeo(svg,def); }+  function applyLayer(svg,def,on){+    if(!svg) return; var g=svg.querySelectorAll(def.sel);+    for(var i=0;i<g.length;i++) g[i].style.display=on?'':'none';+  }++  // Build layer rows into a container. opts:+  //   svg, container, state {key:bool}, meta {pasteDots,pasteApertures},+  //   onToggle(key,on). Missing state key -> special OFF, others ON. Skips empty+  //   non-special groups. Returns the keys actually shown.+  function buildLayers(opts){+    var svg=opts.svg, box=opts.container, state=opts.state||{}, meta=opts.meta||{}, shown=[];+    box.innerHTML='';+    LAYER_DEFS.forEach(function(def){+      if(!def.special && !groupHasGeo(svg,def)) return;+      var on = def.special ? (state[def.key]===true) : (state[def.key]!==false);+      var m = def.key==='paste-dots' ? ((meta.pasteDots||0)+' @ 300µm')+            : def.key==='paste-ap'   ? ((meta.pasteApertures||0)+' openings') : '';+      var row=document.createElement('div');+      row.className='av-lrow '+(on?'on':'off')+(def.special?' special':'');+      row.innerHTML='<span class="sw'+(def.ring?' ring':'')+'" style="'+(def.ring?('border-color:'+def.sw):('background:'+def.sw))+'"></span>'+        +'<span class="ln">'+def.name+'</span>'+(m?'<span class="meta">'+m+'</span>':'')+        +'<span class="chk">'+(on?'✓':'')+'</span>';+      row.onclick=function(){+        var nv=!row.classList.contains('on');+        row.classList.toggle('on',nv); row.classList.toggle('off',!nv);+        row.querySelector('.chk').textContent=nv?'✓':'';+        state[def.key]=nv; applyLayer(svg,def,nv);+        if(opts.onToggle) opts.onToggle(def.key,nv);+      };+      box.appendChild(row); applyLayer(svg,def,on); shown.push(def.key);+    });+    return shown;+  }++  // Wire pan + zoom on a viewport element (the box that contains the <svg>).+  // Returns a controller {fit, zoomIn, zoomOut, apply}.+  function initViewport(vp){+    var svg=vp.querySelector('svg');+    if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+    var s=1,tx=0,ty=0;+    function apply(){ var el=vp.querySelector('svg'); if(el) el.style.transform='translate('+tx+'px,'+ty+'px) scale('+s+')'; }+    function zoomAt(cx,cy,f){ tx=cx-(cx-tx)*f; ty=cy-(cy-ty)*f; s*=f; apply(); }+    function fit(){ s=1;tx=0;ty=0;apply(); }+    // Smooth, delta-PROPORTIONAL zoom (matches adom-symbol). A fixed per-event+    // factor makes the trackpad leap — one gentle two-finger nudge fires a burst+    // of tiny wheel events and a fixed 1.12× compounds. Instead derive the factor+    // from how much actually scrolled (exp → smooth + reversible), normalise+    // device units, and clamp one event so a chunky mouse notch can't jump.+    var ZOOM_K=0.0022; // sensitivity: lower = gentler+    vp.addEventListener('wheel',function(e){+      e.preventDefault();+      var d=e.deltaY;+      if(e.deltaMode===1) d*=16; else if(e.deltaMode===2) d*=vp.clientHeight;+      d=Math.max(-50,Math.min(50,d));+      var r=vp.getBoundingClientRect();+      zoomAt(e.clientX-r.left,e.clientY-r.top,Math.exp(-d*ZOOM_K));+    },{passive:false});+    var drag=false,lx=0,ly=0;+    vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.av-tools'))return; drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+    vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+    vp.addEventListener('pointerup',function(){ drag=false;vp.classList.remove('grab'); });+    fit();+    return {+      fit:fit,+      zoomIn:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1.2); },+      zoomOut:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1/1.2); },+      apply:apply+    };+  }++  // Inject the standard zoom toolbar (+ / − / fit) + pan hint into a viewport,+  // wired to a controller from initViewport. Idempotent.+  function addToolbar(vp,ctl){+    if(vp.querySelector('.av-tools')) return;+    var t=document.createElement('div'); t.className='av-tools';+    t.innerHTML='<button data-z="in" title="Zoom in">'+ICON_ZIN+'</button>'+      +'<button data-z="out" title="Zoom out">'+ICON_ZOUT+'</button>'+      +'<button data-z="fit" title="Zoom to fit">'+ICON_FIT+'</button>';+    vp.appendChild(t);+    t.querySelector('[data-z="in"]').onclick=ctl.zoomIn;+    t.querySelector('[data-z="out"]').onclick=ctl.zoomOut;+    t.querySelector('[data-z="fit"]').onclick=ctl.fit;+    var h=document.createElement('div'); h.className='av-panhint'; h.textContent='drag to pan · scroll to zoom'; vp.appendChild(h);+  }++  window.AV={+    LAYER_DEFS:LAYER_DEFS, groupHasGeo:groupHasGeo, layerPresent:layerPresent,+    applyLayer:applyLayer, buildLayers:buildLayers, initViewport:initViewport,+    addToolbar:addToolbar, ICON_FIT:ICON_FIT, ICON_ZIN:ICON_ZIN, ICON_ZOUT:ICON_ZOUT+  };+})();+</script>+<script>+var META={"pasteApertures":0,"pasteDots":0};+(function(){+  var vp=document.getElementById('vp');+  var svg=vp.querySelector('svg');+  var ctl=AV.initViewport(vp);+  AV.addToolbar(vp,ctl);+  AV.buildLayers({ svg:svg, container:document.getElementById('layers'), state:{}, meta:META });+})();+</script>+</body></html>
ghr-04v-s.glbadded
⋯ 1 unchanged line ⋯
ghr-04v-s.kicad_modadded+4
@@ -0,0 +1,4 @@+(footprint "GHR-04V-S_MECHANICAL_ONLY" (version 20240108) (generator "adom") (layer "F.Cu") (attr board_only exclude_from_pos_files exclude_from_bom)+(descr "Off-board envelope; zero copper pads; not a PCB solder footprint")+(fp_rect (start -3.125 -2.075) (end 3.125 2.075) (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))+(model "${KIPRJMOD}/ghr-04v-s.step" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0))))
ghr-04v-s.kicad_symadded+165
@@ -0,0 +1,165 @@+(kicad_symbol_lib+	(version 20231120)+	(generator "adom")+	(symbol "GHR-04V-S"+		(in_bom yes)+		(on_board no)+		(property "Reference" "J"+			(at 0 5.08 0)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "Value" "GHR-04V-S"+			(at 0 -5.08 0)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(symbol "GHR-04V-S_0_1"+			(rectangle+				(start 0 3.81)+				(end 2.54 -3.81)+				(stroke+					(width 0)+					(type default)+				)+				(fill+					(type background)+				)+			)+		)+		(symbol "GHR-04V-S_1_1"+			(pin passive line+				(at -2.54 3.81 0)+				(length 2.54)+				(name "1"+					(effects+						(font+							(size 1 1)+						)+					)+				)+				(number "1"+					(effects+						(font+							(size 1 1)+						)+					)+				)+			)+			(pin passive line+				(at -2.54 1.27 0)+				(length 2.54)+				(name "2"+					(effects+						(font+							(size 1 1)+						)+					)+				)+				(number "2"+					(effects+						(font+							(size 1 1)+						)+					)+				)+			)+			(pin passive line+				(at -2.54 -1.27 0)+				(length 2.54)+				(name "3"+					(effects+						(font+							(size 1 1)+						)+					)+				)+				(number "3"+					(effects+						(font+							(size 1 1)+						)+					)+				)+			)+			(pin passive line+				(at -2.54 -3.81 0)+				(length 2.54)+				(name "4"+					(effects+						(font+							(size 1 1)+						)+					)+				)+				(number "4"+					(effects+						(font+							(size 1 1)+						)+					)+				)+			)+		)+		(property "MPN" "GHR-04V-S"+			(at 0 -8.0 0)+			(effects+				(font+					(size 1.27 1.27)+				)+				(hide yes)+			)+		)+		(property "Manufacturer" "JST"+			(at 0 -10.54 0)+			(effects+				(font+					(size 1.27 1.27)+				)+				(hide yes)+			)+		)+		(property "Datasheet" "https://www.jst-mfg.com/product/pdf/eng/eGH.pdf"+			(at 0 -13.08 0)+			(effects+				(font+					(size 1.27 1.27)+				)+				(hide yes)+			)+		)+		(property "Description" "Four-position JST GH off-board housing"+			(at 0 -15.620000000000001 0)+			(effects+				(font+					(size 1.27 1.27)+				)+				(hide yes)+			)+		)+		(property "Mouser" "306-GHR-04V-S"+			(at 0 -18.16 0)+			(effects+				(font+					(size 1.27 1.27)+				)+				(hide yes)+			)+		)+		(property "Adom Wiki" "https://wiki.adom.inc/adom/ghr-04v-s"+			(at 0 -20.7 0)+			(effects+				(font+					(size 1.27 1.27)+				)+				(hide yes)+			)+		)+	)+)
ghr-04v-s.stepadded+2543
@@ -0,0 +1,2543 @@+ISO-10303-21;+HEADER;+FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');+FILE_NAME('Open CASCADE Shape Model','2026-10-13T19:57:45',('Author'),(+    'Open CASCADE'),'Open CASCADE STEP processor 7.9','Open CASCADE 7.9'+  ,'Unknown');+FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));+ENDSEC;+DATA;+#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',+  'automotive_design',2000,#2);+#2 = APPLICATION_CONTEXT(+  'core data for automotive mechanical design processes');+#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);+#4 = PRODUCT_DEFINITION_SHAPE('','',#5);+#5 = PRODUCT_DEFINITION('design','',#6,#9);+#6 = PRODUCT_DEFINITION_FORMATION('','',#7);+#7 = PRODUCT('GHR_04V_S_NOMINAL','GHR_04V_S_NOMINAL','',(#8));+#8 = PRODUCT_CONTEXT('',#2,'mechanical');+#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#10 = SHAPE_REPRESENTATION('',(#11,#15),#19);+#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);+#12 = CARTESIAN_POINT('',(0.,0.,0.));+#13 = DIRECTION('',(0.,0.,1.));+#14 = DIRECTION('',(1.,0.,-0.));+#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);+#16 = CARTESIAN_POINT('',(0.,-0.575,0.));+#17 = DIRECTION('',(0.,0.,1.));+#18 = DIRECTION('',(1.,0.,-0.));+#19 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#23)) GLOBAL_UNIT_ASSIGNED_CONTEXT(+(#20,#21,#22)) REPRESENTATION_CONTEXT('Context #1',+  '3D Context with UNIT and UNCERTAINTY') );+#20 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#21 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#22 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#23 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#20,+  'distance_accuracy_value','confusion accuracy');+#24 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));+#25 = SHAPE_DEFINITION_REPRESENTATION(#26,#32);+#26 = PRODUCT_DEFINITION_SHAPE('','',#27);+#27 = PRODUCT_DEFINITION('design','',#28,#31);+#28 = PRODUCT_DEFINITION_FORMATION('','',#29);+#29 = PRODUCT('GHR_04V_S_NOMINAL','GHR_04V_S_NOMINAL','',(#30));+#30 = PRODUCT_CONTEXT('',#2,'mechanical');+#31 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#32 = SHAPE_REPRESENTATION('',(#11,#33,#37),#41);+#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36);+#34 = CARTESIAN_POINT('',(0.,0.,0.));+#35 = DIRECTION('',(0.,0.,1.));+#36 = DIRECTION('',(1.,0.,-0.));+#37 = AXIS2_PLACEMENT_3D('',#38,#39,#40);+#38 = CARTESIAN_POINT('',(0.,0.,0.));+#39 = DIRECTION('',(0.,0.,1.));+#40 = DIRECTION('',(1.,0.,-0.));+#41 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#45)) GLOBAL_UNIT_ASSIGNED_CONTEXT(+(#42,#43,#44)) REPRESENTATION_CONTEXT('Context #1',+  '3D Context with UNIT and UNCERTAINTY') );+#42 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#43 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#44 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#45 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#42,+  'distance_accuracy_value','confusion accuracy');+#46 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#47,#49);+#47 = ( REPRESENTATION_RELATIONSHIP('','',#32,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#48) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#48 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);+#49 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#50);+#50 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('3','GHR_04V_S_NOMINAL','',#5,#27,$+  );+#51 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#29));+#52 = SHAPE_DEFINITION_REPRESENTATION(#53,#59);+#53 = PRODUCT_DEFINITION_SHAPE('','',#54);+#54 = PRODUCT_DEFINITION('design','',#55,#58);+#55 = PRODUCT_DEFINITION_FORMATION('','',#56);+#56 = PRODUCT('Housing_Nominal','Housing_Nominal','',(#57));+#57 = PRODUCT_CONTEXT('',#2,'mechanical');+#58 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#59 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#60),#1590);+#60 = MANIFOLD_SOLID_BREP('',#61);+#61 = CLOSED_SHELL('',(#62,#182,#258,#731,#780,#1151,#1158,#1205,#1232,+    #1259,#1266,#1313,#1340,#1367,#1374,#1421,#1448,#1475,#1482,#1529,+    #1556,#1583));+#62 = ADVANCED_FACE('',(#63),#77,.F.);+#63 = FACE_BOUND('',#64,.F.);+#64 = EDGE_LOOP('',(#65,#100,#128,#156));+#65 = ORIENTED_EDGE('',*,*,#66,.F.);+#66 = EDGE_CURVE('',#67,#69,#71,.T.);+#67 = VERTEX_POINT('',#68);+#68 = CARTESIAN_POINT('',(-3.125,-1.5,0.));+#69 = VERTEX_POINT('',#70);+#70 = CARTESIAN_POINT('',(-3.125,-1.5,5.7));+#71 = SURFACE_CURVE('',#72,(#76,#88),.PCURVE_S1.);+#72 = LINE('',#73,#74);+#73 = CARTESIAN_POINT('',(-3.125,-1.5,0.));+#74 = VECTOR('',#75,1.);+#75 = DIRECTION('',(0.,0.,1.));+#76 = PCURVE('',#77,#82);+#77 = PLANE('',#78);+#78 = AXIS2_PLACEMENT_3D('',#79,#80,#81);+#79 = CARTESIAN_POINT('',(-3.125,-1.5,0.));+#80 = DIRECTION('',(1.,0.,0.));+#81 = DIRECTION('',(0.,0.,1.));+#82 = DEFINITIONAL_REPRESENTATION('',(#83),#87);+#83 = LINE('',#84,#85);+#84 = CARTESIAN_POINT('',(0.,0.));+#85 = VECTOR('',#86,1.);+#86 = DIRECTION('',(1.,0.));+#87 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#88 = PCURVE('',#89,#94);+#89 = PLANE('',#90);+#90 = AXIS2_PLACEMENT_3D('',#91,#92,#93);+#91 = CARTESIAN_POINT('',(-3.125,-1.5,0.));+#92 = DIRECTION('',(0.,1.,0.));+#93 = DIRECTION('',(0.,0.,1.));+#94 = DEFINITIONAL_REPRESENTATION('',(#95),#99);+#95 = LINE('',#96,#97);+#96 = CARTESIAN_POINT('',(0.,0.));+#97 = VECTOR('',#98,1.);+#98 = DIRECTION('',(1.,0.));+#99 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#100 = ORIENTED_EDGE('',*,*,#101,.T.);+#101 = EDGE_CURVE('',#67,#102,#104,.T.);+#102 = VERTEX_POINT('',#103);+#103 = CARTESIAN_POINT('',(-3.125,1.5,0.));+#104 = SURFACE_CURVE('',#105,(#109,#116),.PCURVE_S1.);+#105 = LINE('',#106,#107);+#106 = CARTESIAN_POINT('',(-3.125,-1.5,0.));+#107 = VECTOR('',#108,1.);+#108 = DIRECTION('',(0.,1.,0.));+#109 = PCURVE('',#77,#110);+#110 = DEFINITIONAL_REPRESENTATION('',(#111),#115);+#111 = LINE('',#112,#113);+#112 = CARTESIAN_POINT('',(0.,0.));+#113 = VECTOR('',#114,1.);+#114 = DIRECTION('',(0.,-1.));+#115 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#116 = PCURVE('',#117,#122);+#117 = PLANE('',#118);+#118 = AXIS2_PLACEMENT_3D('',#119,#120,#121);+#119 = CARTESIAN_POINT('',(-3.125,-1.5,0.));+#120 = DIRECTION('',(0.,0.,1.));+#121 = DIRECTION('',(1.,0.,0.));+#122 = DEFINITIONAL_REPRESENTATION('',(#123),#127);+#123 = LINE('',#124,#125);+#124 = CARTESIAN_POINT('',(0.,0.));+#125 = VECTOR('',#126,1.);+#126 = DIRECTION('',(0.,1.));+#127 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#128 = ORIENTED_EDGE('',*,*,#129,.T.);+#129 = EDGE_CURVE('',#102,#130,#132,.T.);+#130 = VERTEX_POINT('',#131);+#131 = CARTESIAN_POINT('',(-3.125,1.5,5.7));+#132 = SURFACE_CURVE('',#133,(#137,#144),.PCURVE_S1.);+#133 = LINE('',#134,#135);+#134 = CARTESIAN_POINT('',(-3.125,1.5,0.));+#135 = VECTOR('',#136,1.);+#136 = DIRECTION('',(0.,0.,1.));+#137 = PCURVE('',#77,#138);+#138 = DEFINITIONAL_REPRESENTATION('',(#139),#143);+#139 = LINE('',#140,#141);+#140 = CARTESIAN_POINT('',(0.,-3.));+#141 = VECTOR('',#142,1.);+#142 = DIRECTION('',(1.,0.));+#143 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#144 = PCURVE('',#145,#150);+#145 = PLANE('',#146);+#146 = AXIS2_PLACEMENT_3D('',#147,#148,#149);+#147 = CARTESIAN_POINT('',(-3.125,1.5,0.));+#148 = DIRECTION('',(0.,1.,0.));+#149 = DIRECTION('',(0.,0.,1.));+#150 = DEFINITIONAL_REPRESENTATION('',(#151),#155);+#151 = LINE('',#152,#153);+#152 = CARTESIAN_POINT('',(0.,0.));+#153 = VECTOR('',#154,1.);+#154 = DIRECTION('',(1.,0.));+#155 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#156 = ORIENTED_EDGE('',*,*,#157,.F.);+#157 = EDGE_CURVE('',#69,#130,#158,.T.);+#158 = SURFACE_CURVE('',#159,(#163,#170),.PCURVE_S1.);+#159 = LINE('',#160,#161);+#160 = CARTESIAN_POINT('',(-3.125,-1.5,5.7));+#161 = VECTOR('',#162,1.);+#162 = DIRECTION('',(0.,1.,0.));+#163 = PCURVE('',#77,#164);+#164 = DEFINITIONAL_REPRESENTATION('',(#165),#169);+#165 = LINE('',#166,#167);+#166 = CARTESIAN_POINT('',(5.7,0.));+#167 = VECTOR('',#168,1.);+#168 = DIRECTION('',(0.,-1.));+#169 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#170 = PCURVE('',#171,#176);+#171 = PLANE('',#172);+#172 = AXIS2_PLACEMENT_3D('',#173,#174,#175);+#173 = CARTESIAN_POINT('',(-3.125,-1.5,5.7));+#174 = DIRECTION('',(0.,0.,1.));+#175 = DIRECTION('',(1.,0.,0.));+#176 = DEFINITIONAL_REPRESENTATION('',(#177),#181);+#177 = LINE('',#178,#179);+#178 = CARTESIAN_POINT('',(0.,0.));+#179 = VECTOR('',#180,1.);+#180 = DIRECTION('',(0.,1.));+#181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#182 = ADVANCED_FACE('',(#183),#89,.F.);+#183 = FACE_BOUND('',#184,.F.);+#184 = EDGE_LOOP('',(#185,#208,#209,#232));+#185 = ORIENTED_EDGE('',*,*,#186,.F.);+#186 = EDGE_CURVE('',#67,#187,#189,.T.);+#187 = VERTEX_POINT('',#188);+#188 = CARTESIAN_POINT('',(3.125,-1.5,0.));+#189 = SURFACE_CURVE('',#190,(#194,#201),.PCURVE_S1.);+#190 = LINE('',#191,#192);+#191 = CARTESIAN_POINT('',(-3.125,-1.5,0.));+#192 = VECTOR('',#193,1.);+#193 = DIRECTION('',(1.,0.,0.));+#194 = PCURVE('',#89,#195);+#195 = DEFINITIONAL_REPRESENTATION('',(#196),#200);+#196 = LINE('',#197,#198);+#197 = CARTESIAN_POINT('',(0.,0.));+#198 = VECTOR('',#199,1.);+#199 = DIRECTION('',(0.,1.));+#200 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#201 = PCURVE('',#117,#202);+#202 = DEFINITIONAL_REPRESENTATION('',(#203),#207);+#203 = LINE('',#204,#205);+#204 = CARTESIAN_POINT('',(0.,0.));+#205 = VECTOR('',#206,1.);+#206 = DIRECTION('',(1.,0.));+#207 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#208 = ORIENTED_EDGE('',*,*,#66,.T.);+#209 = ORIENTED_EDGE('',*,*,#210,.T.);+#210 = EDGE_CURVE('',#69,#211,#213,.T.);+#211 = VERTEX_POINT('',#212);+#212 = CARTESIAN_POINT('',(3.125,-1.5,5.7));+#213 = SURFACE_CURVE('',#214,(#218,#225),.PCURVE_S1.);+#214 = LINE('',#215,#216);+#215 = CARTESIAN_POINT('',(-3.125,-1.5,5.7));+#216 = VECTOR('',#217,1.);+#217 = DIRECTION('',(1.,0.,0.));+#218 = PCURVE('',#89,#219);+#219 = DEFINITIONAL_REPRESENTATION('',(#220),#224);+#220 = LINE('',#221,#222);+#221 = CARTESIAN_POINT('',(5.7,0.));+#222 = VECTOR('',#223,1.);+#223 = DIRECTION('',(0.,1.));+#224 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#225 = PCURVE('',#171,#226);+#226 = DEFINITIONAL_REPRESENTATION('',(#227),#231);+#227 = LINE('',#228,#229);+#228 = CARTESIAN_POINT('',(0.,0.));+#229 = VECTOR('',#230,1.);+#230 = DIRECTION('',(1.,0.));+#231 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#232 = ORIENTED_EDGE('',*,*,#233,.F.);+#233 = EDGE_CURVE('',#187,#211,#234,.T.);+#234 = SURFACE_CURVE('',#235,(#239,#246),.PCURVE_S1.);+#235 = LINE('',#236,#237);+#236 = CARTESIAN_POINT('',(3.125,-1.5,0.));+#237 = VECTOR('',#238,1.);+#238 = DIRECTION('',(0.,0.,1.));+#239 = PCURVE('',#89,#240);+#240 = DEFINITIONAL_REPRESENTATION('',(#241),#245);+#241 = LINE('',#242,#243);+#242 = CARTESIAN_POINT('',(0.,6.25));+#243 = VECTOR('',#244,1.);+#244 = DIRECTION('',(1.,0.));+#245 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#246 = PCURVE('',#247,#252);+#247 = PLANE('',#248);+#248 = AXIS2_PLACEMENT_3D('',#249,#250,#251);+#249 = CARTESIAN_POINT('',(3.125,-1.5,0.));+#250 = DIRECTION('',(1.,0.,0.));+#251 = DIRECTION('',(0.,0.,1.));+#252 = DEFINITIONAL_REPRESENTATION('',(#253),#257);+#253 = LINE('',#254,#255);+#254 = CARTESIAN_POINT('',(0.,0.));+#255 = VECTOR('',#256,1.);+#256 = DIRECTION('',(1.,0.));+#257 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#258 = ADVANCED_FACE('',(#259,#307,#413,#519,#625),#171,.T.);+#259 = FACE_BOUND('',#260,.T.);+#260 = EDGE_LOOP('',(#261,#262,#263,#286));+#261 = ORIENTED_EDGE('',*,*,#157,.F.);+#262 = ORIENTED_EDGE('',*,*,#210,.T.);+#263 = ORIENTED_EDGE('',*,*,#264,.T.);+#264 = EDGE_CURVE('',#211,#265,#267,.T.);+#265 = VERTEX_POINT('',#266);+#266 = CARTESIAN_POINT('',(3.125,1.5,5.7));+#267 = SURFACE_CURVE('',#268,(#272,#279),.PCURVE_S1.);+#268 = LINE('',#269,#270);+#269 = CARTESIAN_POINT('',(3.125,-1.5,5.7));+#270 = VECTOR('',#271,1.);+#271 = DIRECTION('',(0.,1.,0.));+#272 = PCURVE('',#171,#273);+#273 = DEFINITIONAL_REPRESENTATION('',(#274),#278);+#274 = LINE('',#275,#276);+#275 = CARTESIAN_POINT('',(6.25,0.));+#276 = VECTOR('',#277,1.);+#277 = DIRECTION('',(0.,1.));+#278 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#279 = PCURVE('',#247,#280);+#280 = DEFINITIONAL_REPRESENTATION('',(#281),#285);+#281 = LINE('',#282,#283);+#282 = CARTESIAN_POINT('',(5.7,0.));+#283 = VECTOR('',#284,1.);+#284 = DIRECTION('',(0.,-1.));+#285 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#286 = ORIENTED_EDGE('',*,*,#287,.F.);+#287 = EDGE_CURVE('',#130,#265,#288,.T.);+#288 = SURFACE_CURVE('',#289,(#293,#300),.PCURVE_S1.);+#289 = LINE('',#290,#291);+#290 = CARTESIAN_POINT('',(-3.125,1.5,5.7));+#291 = VECTOR('',#292,1.);+#292 = DIRECTION('',(1.,0.,0.));+#293 = PCURVE('',#171,#294);+#294 = DEFINITIONAL_REPRESENTATION('',(#295),#299);+#295 = LINE('',#296,#297);+#296 = CARTESIAN_POINT('',(0.,3.));+#297 = VECTOR('',#298,1.);+#298 = DIRECTION('',(1.,0.));+#299 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#300 = PCURVE('',#145,#301);+#301 = DEFINITIONAL_REPRESENTATION('',(#302),#306);+#302 = LINE('',#303,#304);+#303 = CARTESIAN_POINT('',(5.7,0.));+#304 = VECTOR('',#305,1.);+#305 = DIRECTION('',(0.,1.));+#306 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#307 = FACE_BOUND('',#308,.T.);+#308 = EDGE_LOOP('',(#309,#337,#363,#389));+#309 = ORIENTED_EDGE('',*,*,#310,.T.);+#310 = EDGE_CURVE('',#311,#313,#315,.T.);+#311 = VERTEX_POINT('',#312);+#312 = CARTESIAN_POINT('',(-1.45,-0.7,5.7));+#313 = VERTEX_POINT('',#314);+#314 = CARTESIAN_POINT('',(-2.3,-0.7,5.7));+#315 = SURFACE_CURVE('',#316,(#320,#326),.PCURVE_S1.);+#316 = LINE('',#317,#318);+#317 = CARTESIAN_POINT('',(-2.7125,-0.7,5.7));+#318 = VECTOR('',#319,1.);+#319 = DIRECTION('',(-1.,0.,0.));+#320 = PCURVE('',#171,#321);+#321 = DEFINITIONAL_REPRESENTATION('',(#322),#325);+#322 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#323,#324),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#323 = CARTESIAN_POINT('',(1.675,0.8));+#324 = CARTESIAN_POINT('',(0.825,0.8));+#325 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#326 = PCURVE('',#327,#332);+#327 = PLANE('',#328);+#328 = AXIS2_PLACEMENT_3D('',#329,#330,#331);+#329 = CARTESIAN_POINT('',(-2.3,-0.7,-0.1));+#330 = DIRECTION('',(0.,1.,0.));+#331 = DIRECTION('',(0.,0.,1.));+#332 = DEFINITIONAL_REPRESENTATION('',(#333),#336);+#333 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#334,#335),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#334 = CARTESIAN_POINT('',(5.8,0.85));+#335 = CARTESIAN_POINT('',(5.8,0.));+#336 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#337 = ORIENTED_EDGE('',*,*,#338,.T.);+#338 = EDGE_CURVE('',#313,#339,#341,.T.);+#339 = VERTEX_POINT('',#340);+#340 = CARTESIAN_POINT('',(-2.3,0.7,5.7));+#341 = SURFACE_CURVE('',#342,(#346,#352),.PCURVE_S1.);+#342 = LINE('',#343,#344);+#343 = CARTESIAN_POINT('',(-2.3,-1.1,5.7));+#344 = VECTOR('',#345,1.);+#345 = DIRECTION('',(0.,1.,0.));+#346 = PCURVE('',#171,#347);+#347 = DEFINITIONAL_REPRESENTATION('',(#348),#351);+#348 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#349,#350),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#349 = CARTESIAN_POINT('',(0.825,0.8));+#350 = CARTESIAN_POINT('',(0.825,2.2));+#351 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#352 = PCURVE('',#353,#358);+#353 = PLANE('',#354);+#354 = AXIS2_PLACEMENT_3D('',#355,#356,#357);+#355 = CARTESIAN_POINT('',(-2.3,-0.7,-0.1));+#356 = DIRECTION('',(1.,0.,0.));+#357 = DIRECTION('',(0.,0.,1.));+#358 = DEFINITIONAL_REPRESENTATION('',(#359),#362);+#359 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#360,#361),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#360 = CARTESIAN_POINT('',(5.8,0.));+#361 = CARTESIAN_POINT('',(5.8,-1.4));+#362 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#363 = ORIENTED_EDGE('',*,*,#364,.F.);+#364 = EDGE_CURVE('',#365,#339,#367,.T.);+#365 = VERTEX_POINT('',#366);+#366 = CARTESIAN_POINT('',(-1.45,0.7,5.7));+#367 = SURFACE_CURVE('',#368,(#372,#378),.PCURVE_S1.);+#368 = LINE('',#369,#370);+#369 = CARTESIAN_POINT('',(-2.7125,0.7,5.7));+#370 = VECTOR('',#371,1.);+#371 = DIRECTION('',(-1.,0.,0.));+#372 = PCURVE('',#171,#373);+#373 = DEFINITIONAL_REPRESENTATION('',(#374),#377);+#374 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#375,#376),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#375 = CARTESIAN_POINT('',(1.675,2.2));+#376 = CARTESIAN_POINT('',(0.825,2.2));+#377 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#378 = PCURVE('',#379,#384);+#379 = PLANE('',#380);+#380 = AXIS2_PLACEMENT_3D('',#381,#382,#383);+#381 = CARTESIAN_POINT('',(-2.3,0.7,-0.1));+#382 = DIRECTION('',(0.,1.,0.));+#383 = DIRECTION('',(0.,0.,1.));+#384 = DEFINITIONAL_REPRESENTATION('',(#385),#388);+#385 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#386,#387),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#386 = CARTESIAN_POINT('',(5.8,0.85));+#387 = CARTESIAN_POINT('',(5.8,0.));+#388 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#389 = ORIENTED_EDGE('',*,*,#390,.F.);+#390 = EDGE_CURVE('',#311,#365,#391,.T.);+#391 = SURFACE_CURVE('',#392,(#396,#402),.PCURVE_S1.);+#392 = LINE('',#393,#394);+#393 = CARTESIAN_POINT('',(-1.45,-1.1,5.7));+#394 = VECTOR('',#395,1.);+#395 = DIRECTION('',(0.,1.,0.));+#396 = PCURVE('',#171,#397);+#397 = DEFINITIONAL_REPRESENTATION('',(#398),#401);+#398 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#399,#400),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#399 = CARTESIAN_POINT('',(1.675,0.8));+#400 = CARTESIAN_POINT('',(1.675,2.2));+#401 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#402 = PCURVE('',#403,#408);+#403 = PLANE('',#404);+#404 = AXIS2_PLACEMENT_3D('',#405,#406,#407);+#405 = CARTESIAN_POINT('',(-1.45,-0.7,-0.1));+#406 = DIRECTION('',(1.,0.,0.));+#407 = DIRECTION('',(0.,0.,1.));+#408 = DEFINITIONAL_REPRESENTATION('',(#409),#412);+#409 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#410,#411),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#410 = CARTESIAN_POINT('',(5.8,0.));+#411 = CARTESIAN_POINT('',(5.8,-1.4));+#412 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#413 = FACE_BOUND('',#414,.T.);+#414 = EDGE_LOOP('',(#415,#443,#469,#495));+#415 = ORIENTED_EDGE('',*,*,#416,.T.);+#416 = EDGE_CURVE('',#417,#419,#421,.T.);+#417 = VERTEX_POINT('',#418);+#418 = CARTESIAN_POINT('',(-0.2,-0.7,5.7));+#419 = VERTEX_POINT('',#420);+#420 = CARTESIAN_POINT('',(-1.05,-0.7,5.7));+#421 = SURFACE_CURVE('',#422,(#426,#432),.PCURVE_S1.);+#422 = LINE('',#423,#424);+#423 = CARTESIAN_POINT('',(-2.0875,-0.7,5.7));+#424 = VECTOR('',#425,1.);+#425 = DIRECTION('',(-1.,0.,0.));+#426 = PCURVE('',#171,#427);+#427 = DEFINITIONAL_REPRESENTATION('',(#428),#431);+#428 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#429,#430),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#429 = CARTESIAN_POINT('',(2.925,0.8));+#430 = CARTESIAN_POINT('',(2.075,0.8));+#431 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#432 = PCURVE('',#433,#438);+#433 = PLANE('',#434);+#434 = AXIS2_PLACEMENT_3D('',#435,#436,#437);+#435 = CARTESIAN_POINT('',(-1.05,-0.7,-0.1));+#436 = DIRECTION('',(0.,1.,0.));+#437 = DIRECTION('',(0.,0.,1.));+#438 = DEFINITIONAL_REPRESENTATION('',(#439),#442);+#439 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#440,#441),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#440 = CARTESIAN_POINT('',(5.8,0.85));+#441 = CARTESIAN_POINT('',(5.8,0.));+#442 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#443 = ORIENTED_EDGE('',*,*,#444,.T.);+#444 = EDGE_CURVE('',#419,#445,#447,.T.);+#445 = VERTEX_POINT('',#446);+#446 = CARTESIAN_POINT('',(-1.05,0.7,5.7));+#447 = SURFACE_CURVE('',#448,(#452,#458),.PCURVE_S1.);+#448 = LINE('',#449,#450);+#449 = CARTESIAN_POINT('',(-1.05,-1.1,5.7));+#450 = VECTOR('',#451,1.);+#451 = DIRECTION('',(0.,1.,0.));+#452 = PCURVE('',#171,#453);+#453 = DEFINITIONAL_REPRESENTATION('',(#454),#457);+#454 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#455,#456),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#455 = CARTESIAN_POINT('',(2.075,0.8));+#456 = CARTESIAN_POINT('',(2.075,2.2));+#457 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#458 = PCURVE('',#459,#464);+#459 = PLANE('',#460);+#460 = AXIS2_PLACEMENT_3D('',#461,#462,#463);+#461 = CARTESIAN_POINT('',(-1.05,-0.7,-0.1));+#462 = DIRECTION('',(1.,0.,0.));+#463 = DIRECTION('',(0.,0.,1.));+#464 = DEFINITIONAL_REPRESENTATION('',(#465),#468);+#465 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#466,#467),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#466 = CARTESIAN_POINT('',(5.8,0.));+#467 = CARTESIAN_POINT('',(5.8,-1.4));+#468 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#469 = ORIENTED_EDGE('',*,*,#470,.F.);+#470 = EDGE_CURVE('',#471,#445,#473,.T.);+#471 = VERTEX_POINT('',#472);+#472 = CARTESIAN_POINT('',(-0.2,0.7,5.7));+#473 = SURFACE_CURVE('',#474,(#478,#484),.PCURVE_S1.);+#474 = LINE('',#475,#476);+#475 = CARTESIAN_POINT('',(-2.0875,0.7,5.7));+#476 = VECTOR('',#477,1.);+#477 = DIRECTION('',(-1.,0.,0.));+#478 = PCURVE('',#171,#479);+#479 = DEFINITIONAL_REPRESENTATION('',(#480),#483);+#480 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#481,#482),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#481 = CARTESIAN_POINT('',(2.925,2.2));+#482 = CARTESIAN_POINT('',(2.075,2.2));+#483 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#484 = PCURVE('',#485,#490);+#485 = PLANE('',#486);+#486 = AXIS2_PLACEMENT_3D('',#487,#488,#489);+#487 = CARTESIAN_POINT('',(-1.05,0.7,-0.1));+#488 = DIRECTION('',(0.,1.,0.));+#489 = DIRECTION('',(0.,0.,1.));+#490 = DEFINITIONAL_REPRESENTATION('',(#491),#494);+#491 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#492,#493),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#492 = CARTESIAN_POINT('',(5.8,0.85));+#493 = CARTESIAN_POINT('',(5.8,0.));+#494 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#495 = ORIENTED_EDGE('',*,*,#496,.F.);+#496 = EDGE_CURVE('',#417,#471,#497,.T.);+#497 = SURFACE_CURVE('',#498,(#502,#508),.PCURVE_S1.);+#498 = LINE('',#499,#500);+#499 = CARTESIAN_POINT('',(-0.2,-1.1,5.7));+#500 = VECTOR('',#501,1.);+#501 = DIRECTION('',(0.,1.,0.));+#502 = PCURVE('',#171,#503);+#503 = DEFINITIONAL_REPRESENTATION('',(#504),#507);+#504 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#505,#506),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#505 = CARTESIAN_POINT('',(2.925,0.8));+#506 = CARTESIAN_POINT('',(2.925,2.2));+#507 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#508 = PCURVE('',#509,#514);+#509 = PLANE('',#510);+#510 = AXIS2_PLACEMENT_3D('',#511,#512,#513);+#511 = CARTESIAN_POINT('',(-0.2,-0.7,-0.1));+#512 = DIRECTION('',(1.,0.,0.));+#513 = DIRECTION('',(0.,0.,1.));+#514 = DEFINITIONAL_REPRESENTATION('',(#515),#518);+#515 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#516,#517),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#516 = CARTESIAN_POINT('',(5.8,0.));+#517 = CARTESIAN_POINT('',(5.8,-1.4));+#518 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#519 = FACE_BOUND('',#520,.T.);+#520 = EDGE_LOOP('',(#521,#549,#575,#601));+#521 = ORIENTED_EDGE('',*,*,#522,.T.);+#522 = EDGE_CURVE('',#523,#525,#527,.T.);+#523 = VERTEX_POINT('',#524);+#524 = CARTESIAN_POINT('',(1.05,-0.7,5.7));+#525 = VERTEX_POINT('',#526);+#526 = CARTESIAN_POINT('',(0.2,-0.7,5.7));+#527 = SURFACE_CURVE('',#528,(#532,#538),.PCURVE_S1.);+#528 = LINE('',#529,#530);+#529 = CARTESIAN_POINT('',(-1.4625,-0.7,5.7));+#530 = VECTOR('',#531,1.);+#531 = DIRECTION('',(-1.,0.,0.));+#532 = PCURVE('',#171,#533);+#533 = DEFINITIONAL_REPRESENTATION('',(#534),#537);+#534 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#535,#536),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#535 = CARTESIAN_POINT('',(4.175,0.8));+#536 = CARTESIAN_POINT('',(3.325,0.8));+#537 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#538 = PCURVE('',#539,#544);+#539 = PLANE('',#540);+#540 = AXIS2_PLACEMENT_3D('',#541,#542,#543);+#541 = CARTESIAN_POINT('',(0.2,-0.7,-0.1));+#542 = DIRECTION('',(0.,1.,0.));+#543 = DIRECTION('',(0.,0.,1.));+#544 = DEFINITIONAL_REPRESENTATION('',(#545),#548);+#545 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#546,#547),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#546 = CARTESIAN_POINT('',(5.8,0.85));+#547 = CARTESIAN_POINT('',(5.8,0.));+#548 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#549 = ORIENTED_EDGE('',*,*,#550,.T.);+#550 = EDGE_CURVE('',#525,#551,#553,.T.);+#551 = VERTEX_POINT('',#552);+#552 = CARTESIAN_POINT('',(0.2,0.7,5.7));+#553 = SURFACE_CURVE('',#554,(#558,#564),.PCURVE_S1.);+#554 = LINE('',#555,#556);+#555 = CARTESIAN_POINT('',(0.2,-1.1,5.7));+#556 = VECTOR('',#557,1.);+#557 = DIRECTION('',(0.,1.,0.));+#558 = PCURVE('',#171,#559);+#559 = DEFINITIONAL_REPRESENTATION('',(#560),#563);+#560 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#561,#562),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#561 = CARTESIAN_POINT('',(3.325,0.8));+#562 = CARTESIAN_POINT('',(3.325,2.2));+#563 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#564 = PCURVE('',#565,#570);+#565 = PLANE('',#566);+#566 = AXIS2_PLACEMENT_3D('',#567,#568,#569);+#567 = CARTESIAN_POINT('',(0.2,-0.7,-0.1));+#568 = DIRECTION('',(1.,0.,0.));+#569 = DIRECTION('',(0.,0.,1.));+#570 = DEFINITIONAL_REPRESENTATION('',(#571),#574);+#571 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#572,#573),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#572 = CARTESIAN_POINT('',(5.8,0.));+#573 = CARTESIAN_POINT('',(5.8,-1.4));+#574 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#575 = ORIENTED_EDGE('',*,*,#576,.F.);+#576 = EDGE_CURVE('',#577,#551,#579,.T.);+#577 = VERTEX_POINT('',#578);+#578 = CARTESIAN_POINT('',(1.05,0.7,5.7));+#579 = SURFACE_CURVE('',#580,(#584,#590),.PCURVE_S1.);+#580 = LINE('',#581,#582);+#581 = CARTESIAN_POINT('',(-1.4625,0.7,5.7));+#582 = VECTOR('',#583,1.);+#583 = DIRECTION('',(-1.,0.,0.));+#584 = PCURVE('',#171,#585);+#585 = DEFINITIONAL_REPRESENTATION('',(#586),#589);+#586 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#587,#588),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#587 = CARTESIAN_POINT('',(4.175,2.2));+#588 = CARTESIAN_POINT('',(3.325,2.2));+#589 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#590 = PCURVE('',#591,#596);+#591 = PLANE('',#592);+#592 = AXIS2_PLACEMENT_3D('',#593,#594,#595);+#593 = CARTESIAN_POINT('',(0.2,0.7,-0.1));+#594 = DIRECTION('',(0.,1.,0.));+#595 = DIRECTION('',(0.,0.,1.));+#596 = DEFINITIONAL_REPRESENTATION('',(#597),#600);+#597 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#598,#599),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#598 = CARTESIAN_POINT('',(5.8,0.85));+#599 = CARTESIAN_POINT('',(5.8,0.));+#600 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#601 = ORIENTED_EDGE('',*,*,#602,.F.);+#602 = EDGE_CURVE('',#523,#577,#603,.T.);+#603 = SURFACE_CURVE('',#604,(#608,#614),.PCURVE_S1.);+#604 = LINE('',#605,#606);+#605 = CARTESIAN_POINT('',(1.05,-1.1,5.7));+#606 = VECTOR('',#607,1.);+#607 = DIRECTION('',(0.,1.,0.));+#608 = PCURVE('',#171,#609);+#609 = DEFINITIONAL_REPRESENTATION('',(#610),#613);+#610 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#611,#612),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#611 = CARTESIAN_POINT('',(4.175,0.8));+#612 = CARTESIAN_POINT('',(4.175,2.2));+#613 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#614 = PCURVE('',#615,#620);+#615 = PLANE('',#616);+#616 = AXIS2_PLACEMENT_3D('',#617,#618,#619);+#617 = CARTESIAN_POINT('',(1.05,-0.7,-0.1));+#618 = DIRECTION('',(1.,0.,0.));+#619 = DIRECTION('',(0.,0.,1.));+#620 = DEFINITIONAL_REPRESENTATION('',(#621),#624);+#621 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#622,#623),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#622 = CARTESIAN_POINT('',(5.8,0.));+#623 = CARTESIAN_POINT('',(5.8,-1.4));+#624 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#625 = FACE_BOUND('',#626,.T.);+#626 = EDGE_LOOP('',(#627,#655,#681,#707));+#627 = ORIENTED_EDGE('',*,*,#628,.T.);+#628 = EDGE_CURVE('',#629,#631,#633,.T.);+#629 = VERTEX_POINT('',#630);+#630 = CARTESIAN_POINT('',(2.3,-0.7,5.7));+#631 = VERTEX_POINT('',#632);+#632 = CARTESIAN_POINT('',(1.45,-0.7,5.7));+#633 = SURFACE_CURVE('',#634,(#638,#644),.PCURVE_S1.);+#634 = LINE('',#635,#636);+#635 = CARTESIAN_POINT('',(-0.8375,-0.7,5.7));+#636 = VECTOR('',#637,1.);+#637 = DIRECTION('',(-1.,0.,0.));+#638 = PCURVE('',#171,#639);+#639 = DEFINITIONAL_REPRESENTATION('',(#640),#643);+#640 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#641,#642),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#641 = CARTESIAN_POINT('',(5.425,0.8));+#642 = CARTESIAN_POINT('',(4.575,0.8));+#643 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#644 = PCURVE('',#645,#650);+#645 = PLANE('',#646);+#646 = AXIS2_PLACEMENT_3D('',#647,#648,#649);+#647 = CARTESIAN_POINT('',(1.45,-0.7,-0.1));+#648 = DIRECTION('',(0.,1.,0.));+#649 = DIRECTION('',(0.,0.,1.));+#650 = DEFINITIONAL_REPRESENTATION('',(#651),#654);+#651 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#652,#653),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#652 = CARTESIAN_POINT('',(5.8,0.85));+#653 = CARTESIAN_POINT('',(5.8,0.));+#654 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#655 = ORIENTED_EDGE('',*,*,#656,.T.);+#656 = EDGE_CURVE('',#631,#657,#659,.T.);+#657 = VERTEX_POINT('',#658);+#658 = CARTESIAN_POINT('',(1.45,0.7,5.7));+#659 = SURFACE_CURVE('',#660,(#664,#670),.PCURVE_S1.);+#660 = LINE('',#661,#662);+#661 = CARTESIAN_POINT('',(1.45,-1.1,5.7));+#662 = VECTOR('',#663,1.);+#663 = DIRECTION('',(0.,1.,0.));+#664 = PCURVE('',#171,#665);+#665 = DEFINITIONAL_REPRESENTATION('',(#666),#669);+#666 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#667,#668),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#667 = CARTESIAN_POINT('',(4.575,0.8));+#668 = CARTESIAN_POINT('',(4.575,2.2));+#669 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#670 = PCURVE('',#671,#676);+#671 = PLANE('',#672);+#672 = AXIS2_PLACEMENT_3D('',#673,#674,#675);+#673 = CARTESIAN_POINT('',(1.45,-0.7,-0.1));+#674 = DIRECTION('',(1.,0.,0.));+#675 = DIRECTION('',(0.,0.,1.));+#676 = DEFINITIONAL_REPRESENTATION('',(#677),#680);+#677 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#678,#679),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#678 = CARTESIAN_POINT('',(5.8,0.));+#679 = CARTESIAN_POINT('',(5.8,-1.4));+#680 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#681 = ORIENTED_EDGE('',*,*,#682,.F.);+#682 = EDGE_CURVE('',#683,#657,#685,.T.);+#683 = VERTEX_POINT('',#684);+#684 = CARTESIAN_POINT('',(2.3,0.7,5.7));+#685 = SURFACE_CURVE('',#686,(#690,#696),.PCURVE_S1.);+#686 = LINE('',#687,#688);+#687 = CARTESIAN_POINT('',(-0.8375,0.7,5.7));+#688 = VECTOR('',#689,1.);+#689 = DIRECTION('',(-1.,0.,0.));+#690 = PCURVE('',#171,#691);+#691 = DEFINITIONAL_REPRESENTATION('',(#692),#695);+#692 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#693,#694),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#693 = CARTESIAN_POINT('',(5.425,2.2));+#694 = CARTESIAN_POINT('',(4.575,2.2));+#695 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#696 = PCURVE('',#697,#702);+#697 = PLANE('',#698);+#698 = AXIS2_PLACEMENT_3D('',#699,#700,#701);+#699 = CARTESIAN_POINT('',(1.45,0.7,-0.1));+#700 = DIRECTION('',(0.,1.,0.));+#701 = DIRECTION('',(0.,0.,1.));+#702 = DEFINITIONAL_REPRESENTATION('',(#703),#706);+#703 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#704,#705),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#704 = CARTESIAN_POINT('',(5.8,0.85));+#705 = CARTESIAN_POINT('',(5.8,0.));+#706 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#707 = ORIENTED_EDGE('',*,*,#708,.F.);+#708 = EDGE_CURVE('',#629,#683,#709,.T.);+#709 = SURFACE_CURVE('',#710,(#714,#720),.PCURVE_S1.);+#710 = LINE('',#711,#712);+#711 = CARTESIAN_POINT('',(2.3,-1.1,5.7));+#712 = VECTOR('',#713,1.);+#713 = DIRECTION('',(0.,1.,0.));+#714 = PCURVE('',#171,#715);+#715 = DEFINITIONAL_REPRESENTATION('',(#716),#719);+#716 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#717,#718),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#717 = CARTESIAN_POINT('',(5.425,0.8));+#718 = CARTESIAN_POINT('',(5.425,2.2));+#719 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#720 = PCURVE('',#721,#726);+#721 = PLANE('',#722);+#722 = AXIS2_PLACEMENT_3D('',#723,#724,#725);+#723 = CARTESIAN_POINT('',(2.3,-0.7,-0.1));+#724 = DIRECTION('',(1.,0.,0.));+#725 = DIRECTION('',(0.,0.,1.));+#726 = DEFINITIONAL_REPRESENTATION('',(#727),#730);+#727 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#728,#729),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#728 = CARTESIAN_POINT('',(5.8,0.));+#729 = CARTESIAN_POINT('',(5.8,-1.4));+#730 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#731 = ADVANCED_FACE('',(#732),#145,.T.);+#732 = FACE_BOUND('',#733,.T.);+#733 = EDGE_LOOP('',(#734,#757,#758,#759));+#734 = ORIENTED_EDGE('',*,*,#735,.F.);+#735 = EDGE_CURVE('',#102,#736,#738,.T.);+#736 = VERTEX_POINT('',#737);+#737 = CARTESIAN_POINT('',(3.125,1.5,0.));+#738 = SURFACE_CURVE('',#739,(#743,#750),.PCURVE_S1.);+#739 = LINE('',#740,#741);+#740 = CARTESIAN_POINT('',(-3.125,1.5,0.));+#741 = VECTOR('',#742,1.);+#742 = DIRECTION('',(1.,0.,0.));+#743 = PCURVE('',#145,#744);+#744 = DEFINITIONAL_REPRESENTATION('',(#745),#749);+#745 = LINE('',#746,#747);+#746 = CARTESIAN_POINT('',(0.,0.));+#747 = VECTOR('',#748,1.);+#748 = DIRECTION('',(0.,1.));+#749 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#750 = PCURVE('',#117,#751);+#751 = DEFINITIONAL_REPRESENTATION('',(#752),#756);+#752 = LINE('',#753,#754);+#753 = CARTESIAN_POINT('',(0.,3.));+#754 = VECTOR('',#755,1.);+#755 = DIRECTION('',(1.,0.));+#756 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#757 = ORIENTED_EDGE('',*,*,#129,.T.);+#758 = ORIENTED_EDGE('',*,*,#287,.T.);+#759 = ORIENTED_EDGE('',*,*,#760,.F.);+#760 = EDGE_CURVE('',#736,#265,#761,.T.);+#761 = SURFACE_CURVE('',#762,(#766,#773),.PCURVE_S1.);+#762 = LINE('',#763,#764);+#763 = CARTESIAN_POINT('',(3.125,1.5,0.));+#764 = VECTOR('',#765,1.);+#765 = DIRECTION('',(0.,0.,1.));+#766 = PCURVE('',#145,#767);+#767 = DEFINITIONAL_REPRESENTATION('',(#768),#772);+#768 = LINE('',#769,#770);+#769 = CARTESIAN_POINT('',(0.,6.25));+#770 = VECTOR('',#771,1.);+#771 = DIRECTION('',(1.,0.));+#772 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#773 = PCURVE('',#247,#774);+#774 = DEFINITIONAL_REPRESENTATION('',(#775),#779);+#775 = LINE('',#776,#777);+#776 = CARTESIAN_POINT('',(0.,-3.));+#777 = VECTOR('',#778,1.);+#778 = DIRECTION('',(1.,0.));+#779 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#780 = ADVANCED_FACE('',(#781,#807,#893,#979,#1065),#117,.F.);+#781 = FACE_BOUND('',#782,.F.);+#782 = EDGE_LOOP('',(#783,#784,#785,#806));+#783 = ORIENTED_EDGE('',*,*,#101,.F.);+#784 = ORIENTED_EDGE('',*,*,#186,.T.);+#785 = ORIENTED_EDGE('',*,*,#786,.T.);+#786 = EDGE_CURVE('',#187,#736,#787,.T.);+#787 = SURFACE_CURVE('',#788,(#792,#799),.PCURVE_S1.);+#788 = LINE('',#789,#790);+#789 = CARTESIAN_POINT('',(3.125,-1.5,0.));+#790 = VECTOR('',#791,1.);+#791 = DIRECTION('',(0.,1.,0.));+#792 = PCURVE('',#117,#793);+#793 = DEFINITIONAL_REPRESENTATION('',(#794),#798);+#794 = LINE('',#795,#796);+#795 = CARTESIAN_POINT('',(6.25,0.));+#796 = VECTOR('',#797,1.);+#797 = DIRECTION('',(0.,1.));+#798 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#799 = PCURVE('',#247,#800);+#800 = DEFINITIONAL_REPRESENTATION('',(#801),#805);+#801 = LINE('',#802,#803);+#802 = CARTESIAN_POINT('',(0.,0.));+#803 = VECTOR('',#804,1.);+#804 = DIRECTION('',(0.,-1.));+#805 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#806 = ORIENTED_EDGE('',*,*,#735,.F.);+#807 = FACE_BOUND('',#808,.F.);+#808 = EDGE_LOOP('',(#809,#832,#853,#874));+#809 = ORIENTED_EDGE('',*,*,#810,.T.);+#810 = EDGE_CURVE('',#811,#813,#815,.T.);+#811 = VERTEX_POINT('',#812);+#812 = CARTESIAN_POINT('',(-1.45,-0.7,0.));+#813 = VERTEX_POINT('',#814);+#814 = CARTESIAN_POINT('',(-2.3,-0.7,0.));+#815 = SURFACE_CURVE('',#816,(#820,#826),.PCURVE_S1.);+#816 = LINE('',#817,#818);+#817 = CARTESIAN_POINT('',(-2.7125,-0.7,0.));+#818 = VECTOR('',#819,1.);+#819 = DIRECTION('',(-1.,0.,0.));+#820 = PCURVE('',#117,#821);+#821 = DEFINITIONAL_REPRESENTATION('',(#822),#825);+#822 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#823,#824),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#823 = CARTESIAN_POINT('',(1.675,0.8));+#824 = CARTESIAN_POINT('',(0.825,0.8));+#825 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#826 = PCURVE('',#327,#827);+#827 = DEFINITIONAL_REPRESENTATION('',(#828),#831);+#828 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#829,#830),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#829 = CARTESIAN_POINT('',(0.1,0.85));+#830 = CARTESIAN_POINT('',(0.1,0.));+#831 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#832 = ORIENTED_EDGE('',*,*,#833,.T.);+#833 = EDGE_CURVE('',#813,#834,#836,.T.);+#834 = VERTEX_POINT('',#835);+#835 = CARTESIAN_POINT('',(-2.3,0.7,0.));+#836 = SURFACE_CURVE('',#837,(#841,#847),.PCURVE_S1.);+#837 = LINE('',#838,#839);+#838 = CARTESIAN_POINT('',(-2.3,-1.1,0.));+#839 = VECTOR('',#840,1.);+#840 = DIRECTION('',(0.,1.,0.));+#841 = PCURVE('',#117,#842);+#842 = DEFINITIONAL_REPRESENTATION('',(#843),#846);+#843 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#844,#845),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#844 = CARTESIAN_POINT('',(0.825,0.8));+#845 = CARTESIAN_POINT('',(0.825,2.2));+#846 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#847 = PCURVE('',#353,#848);+#848 = DEFINITIONAL_REPRESENTATION('',(#849),#852);+#849 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#850,#851),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#850 = CARTESIAN_POINT('',(0.1,0.));+#851 = CARTESIAN_POINT('',(0.1,-1.4));+#852 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#853 = ORIENTED_EDGE('',*,*,#854,.F.);+#854 = EDGE_CURVE('',#855,#834,#857,.T.);+#855 = VERTEX_POINT('',#856);+#856 = CARTESIAN_POINT('',(-1.45,0.7,0.));+#857 = SURFACE_CURVE('',#858,(#862,#868),.PCURVE_S1.);+#858 = LINE('',#859,#860);+#859 = CARTESIAN_POINT('',(-2.7125,0.7,0.));+#860 = VECTOR('',#861,1.);+#861 = DIRECTION('',(-1.,0.,0.));+#862 = PCURVE('',#117,#863);+#863 = DEFINITIONAL_REPRESENTATION('',(#864),#867);+#864 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#865,#866),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#865 = CARTESIAN_POINT('',(1.675,2.2));+#866 = CARTESIAN_POINT('',(0.825,2.2));+#867 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#868 = PCURVE('',#379,#869);+#869 = DEFINITIONAL_REPRESENTATION('',(#870),#873);+#870 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#871,#872),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.2625,-0.4125),.PIECEWISE_BEZIER_KNOTS.);+#871 = CARTESIAN_POINT('',(0.1,0.85));+#872 = CARTESIAN_POINT('',(0.1,0.));+#873 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#874 = ORIENTED_EDGE('',*,*,#875,.F.);+#875 = EDGE_CURVE('',#811,#855,#876,.T.);+#876 = SURFACE_CURVE('',#877,(#881,#887),.PCURVE_S1.);+#877 = LINE('',#878,#879);+#878 = CARTESIAN_POINT('',(-1.45,-1.1,0.));+#879 = VECTOR('',#880,1.);+#880 = DIRECTION('',(0.,1.,0.));+#881 = PCURVE('',#117,#882);+#882 = DEFINITIONAL_REPRESENTATION('',(#883),#886);+#883 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#884,#885),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#884 = CARTESIAN_POINT('',(1.675,0.8));+#885 = CARTESIAN_POINT('',(1.675,2.2));+#886 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#887 = PCURVE('',#403,#888);+#888 = DEFINITIONAL_REPRESENTATION('',(#889),#892);+#889 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#890,#891),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#890 = CARTESIAN_POINT('',(0.1,0.));+#891 = CARTESIAN_POINT('',(0.1,-1.4));+#892 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#893 = FACE_BOUND('',#894,.F.);+#894 = EDGE_LOOP('',(#895,#918,#939,#960));+#895 = ORIENTED_EDGE('',*,*,#896,.T.);+#896 = EDGE_CURVE('',#897,#899,#901,.T.);+#897 = VERTEX_POINT('',#898);+#898 = CARTESIAN_POINT('',(-0.2,-0.7,0.));+#899 = VERTEX_POINT('',#900);+#900 = CARTESIAN_POINT('',(-1.05,-0.7,0.));+#901 = SURFACE_CURVE('',#902,(#906,#912),.PCURVE_S1.);+#902 = LINE('',#903,#904);+#903 = CARTESIAN_POINT('',(-2.0875,-0.7,0.));+#904 = VECTOR('',#905,1.);+#905 = DIRECTION('',(-1.,0.,0.));+#906 = PCURVE('',#117,#907);+#907 = DEFINITIONAL_REPRESENTATION('',(#908),#911);+#908 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#909,#910),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#909 = CARTESIAN_POINT('',(2.925,0.8));+#910 = CARTESIAN_POINT('',(2.075,0.8));+#911 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#912 = PCURVE('',#433,#913);+#913 = DEFINITIONAL_REPRESENTATION('',(#914),#917);+#914 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#915,#916),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#915 = CARTESIAN_POINT('',(0.1,0.85));+#916 = CARTESIAN_POINT('',(0.1,0.));+#917 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#918 = ORIENTED_EDGE('',*,*,#919,.T.);+#919 = EDGE_CURVE('',#899,#920,#922,.T.);+#920 = VERTEX_POINT('',#921);+#921 = CARTESIAN_POINT('',(-1.05,0.7,0.));+#922 = SURFACE_CURVE('',#923,(#927,#933),.PCURVE_S1.);+#923 = LINE('',#924,#925);+#924 = CARTESIAN_POINT('',(-1.05,-1.1,0.));+#925 = VECTOR('',#926,1.);+#926 = DIRECTION('',(0.,1.,0.));+#927 = PCURVE('',#117,#928);+#928 = DEFINITIONAL_REPRESENTATION('',(#929),#932);+#929 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#930,#931),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#930 = CARTESIAN_POINT('',(2.075,0.8));+#931 = CARTESIAN_POINT('',(2.075,2.2));+#932 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#933 = PCURVE('',#459,#934);+#934 = DEFINITIONAL_REPRESENTATION('',(#935),#938);+#935 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#936,#937),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#936 = CARTESIAN_POINT('',(0.1,0.));+#937 = CARTESIAN_POINT('',(0.1,-1.4));+#938 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#939 = ORIENTED_EDGE('',*,*,#940,.F.);+#940 = EDGE_CURVE('',#941,#920,#943,.T.);+#941 = VERTEX_POINT('',#942);+#942 = CARTESIAN_POINT('',(-0.2,0.7,0.));+#943 = SURFACE_CURVE('',#944,(#948,#954),.PCURVE_S1.);+#944 = LINE('',#945,#946);+#945 = CARTESIAN_POINT('',(-2.0875,0.7,0.));+#946 = VECTOR('',#947,1.);+#947 = DIRECTION('',(-1.,0.,0.));+#948 = PCURVE('',#117,#949);+#949 = DEFINITIONAL_REPRESENTATION('',(#950),#953);+#950 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#951,#952),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#951 = CARTESIAN_POINT('',(2.925,2.2));+#952 = CARTESIAN_POINT('',(2.075,2.2));+#953 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#954 = PCURVE('',#485,#955);+#955 = DEFINITIONAL_REPRESENTATION('',(#956),#959);+#956 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#957,#958),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-1.8875,-1.0375),.PIECEWISE_BEZIER_KNOTS.);+#957 = CARTESIAN_POINT('',(0.1,0.85));+#958 = CARTESIAN_POINT('',(0.1,0.));+#959 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#960 = ORIENTED_EDGE('',*,*,#961,.F.);+#961 = EDGE_CURVE('',#897,#941,#962,.T.);+#962 = SURFACE_CURVE('',#963,(#967,#973),.PCURVE_S1.);+#963 = LINE('',#964,#965);+#964 = CARTESIAN_POINT('',(-0.2,-1.1,0.));+#965 = VECTOR('',#966,1.);+#966 = DIRECTION('',(0.,1.,0.));+#967 = PCURVE('',#117,#968);+#968 = DEFINITIONAL_REPRESENTATION('',(#969),#972);+#969 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#970,#971),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#970 = CARTESIAN_POINT('',(2.925,0.8));+#971 = CARTESIAN_POINT('',(2.925,2.2));+#972 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#973 = PCURVE('',#509,#974);+#974 = DEFINITIONAL_REPRESENTATION('',(#975),#978);+#975 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#976,#977),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#976 = CARTESIAN_POINT('',(0.1,0.));+#977 = CARTESIAN_POINT('',(0.1,-1.4));+#978 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#979 = FACE_BOUND('',#980,.F.);+#980 = EDGE_LOOP('',(#981,#1004,#1025,#1046));+#981 = ORIENTED_EDGE('',*,*,#982,.T.);+#982 = EDGE_CURVE('',#983,#985,#987,.T.);+#983 = VERTEX_POINT('',#984);+#984 = CARTESIAN_POINT('',(1.05,-0.7,0.));+#985 = VERTEX_POINT('',#986);+#986 = CARTESIAN_POINT('',(0.2,-0.7,0.));+#987 = SURFACE_CURVE('',#988,(#992,#998),.PCURVE_S1.);+#988 = LINE('',#989,#990);+#989 = CARTESIAN_POINT('',(-1.4625,-0.7,0.));+#990 = VECTOR('',#991,1.);+#991 = DIRECTION('',(-1.,0.,0.));+#992 = PCURVE('',#117,#993);+#993 = DEFINITIONAL_REPRESENTATION('',(#994),#997);+#994 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#995,#996),.UNSPECIFIED.,.F.,.F.,+  (2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#995 = CARTESIAN_POINT('',(4.175,0.8));+#996 = CARTESIAN_POINT('',(3.325,0.8));+#997 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#998 = PCURVE('',#539,#999);+#999 = DEFINITIONAL_REPRESENTATION('',(#1000),#1003);+#1000 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1001,#1002),.UNSPECIFIED.,.F.,+  .F.,(2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#1001 = CARTESIAN_POINT('',(0.1,0.85));+#1002 = CARTESIAN_POINT('',(0.1,0.));+#1003 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1004 = ORIENTED_EDGE('',*,*,#1005,.T.);+#1005 = EDGE_CURVE('',#985,#1006,#1008,.T.);+#1006 = VERTEX_POINT('',#1007);+#1007 = CARTESIAN_POINT('',(0.2,0.7,0.));+#1008 = SURFACE_CURVE('',#1009,(#1013,#1019),.PCURVE_S1.);+#1009 = LINE('',#1010,#1011);+#1010 = CARTESIAN_POINT('',(0.2,-1.1,0.));+#1011 = VECTOR('',#1012,1.);+#1012 = DIRECTION('',(0.,1.,0.));+#1013 = PCURVE('',#117,#1014);+#1014 = DEFINITIONAL_REPRESENTATION('',(#1015),#1018);+#1015 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1016,#1017),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1016 = CARTESIAN_POINT('',(3.325,0.8));+#1017 = CARTESIAN_POINT('',(3.325,2.2));+#1018 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1019 = PCURVE('',#565,#1020);+#1020 = DEFINITIONAL_REPRESENTATION('',(#1021),#1024);+#1021 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1022,#1023),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1022 = CARTESIAN_POINT('',(0.1,0.));+#1023 = CARTESIAN_POINT('',(0.1,-1.4));+#1024 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1025 = ORIENTED_EDGE('',*,*,#1026,.F.);+#1026 = EDGE_CURVE('',#1027,#1006,#1029,.T.);+#1027 = VERTEX_POINT('',#1028);+#1028 = CARTESIAN_POINT('',(1.05,0.7,0.));+#1029 = SURFACE_CURVE('',#1030,(#1034,#1040),.PCURVE_S1.);+#1030 = LINE('',#1031,#1032);+#1031 = CARTESIAN_POINT('',(-1.4625,0.7,0.));+#1032 = VECTOR('',#1033,1.);+#1033 = DIRECTION('',(-1.,0.,0.));+#1034 = PCURVE('',#117,#1035);+#1035 = DEFINITIONAL_REPRESENTATION('',(#1036),#1039);+#1036 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1037,#1038),.UNSPECIFIED.,.F.,+  .F.,(2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#1037 = CARTESIAN_POINT('',(4.175,2.2));+#1038 = CARTESIAN_POINT('',(3.325,2.2));+#1039 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1040 = PCURVE('',#591,#1041);+#1041 = DEFINITIONAL_REPRESENTATION('',(#1042),#1045);+#1042 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1043,#1044),.UNSPECIFIED.,.F.,+  .F.,(2,2),(-2.5125,-1.6625),.PIECEWISE_BEZIER_KNOTS.);+#1043 = CARTESIAN_POINT('',(0.1,0.85));+#1044 = CARTESIAN_POINT('',(0.1,0.));+#1045 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1046 = ORIENTED_EDGE('',*,*,#1047,.F.);+#1047 = EDGE_CURVE('',#983,#1027,#1048,.T.);+#1048 = SURFACE_CURVE('',#1049,(#1053,#1059),.PCURVE_S1.);+#1049 = LINE('',#1050,#1051);+#1050 = CARTESIAN_POINT('',(1.05,-1.1,0.));+#1051 = VECTOR('',#1052,1.);+#1052 = DIRECTION('',(0.,1.,0.));+#1053 = PCURVE('',#117,#1054);+#1054 = DEFINITIONAL_REPRESENTATION('',(#1055),#1058);+#1055 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1056,#1057),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1056 = CARTESIAN_POINT('',(4.175,0.8));+#1057 = CARTESIAN_POINT('',(4.175,2.2));+#1058 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1059 = PCURVE('',#615,#1060);+#1060 = DEFINITIONAL_REPRESENTATION('',(#1061),#1064);+#1061 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1062,#1063),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1062 = CARTESIAN_POINT('',(0.1,0.));+#1063 = CARTESIAN_POINT('',(0.1,-1.4));+#1064 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1065 = FACE_BOUND('',#1066,.F.);+#1066 = EDGE_LOOP('',(#1067,#1090,#1111,#1132));+#1067 = ORIENTED_EDGE('',*,*,#1068,.T.);+#1068 = EDGE_CURVE('',#1069,#1071,#1073,.T.);+#1069 = VERTEX_POINT('',#1070);+#1070 = CARTESIAN_POINT('',(2.3,-0.7,0.));+#1071 = VERTEX_POINT('',#1072);+#1072 = CARTESIAN_POINT('',(1.45,-0.7,0.));+#1073 = SURFACE_CURVE('',#1074,(#1078,#1084),.PCURVE_S1.);+#1074 = LINE('',#1075,#1076);+#1075 = CARTESIAN_POINT('',(-0.8375,-0.7,0.));+#1076 = VECTOR('',#1077,1.);+#1077 = DIRECTION('',(-1.,0.,0.));+#1078 = PCURVE('',#117,#1079);+#1079 = DEFINITIONAL_REPRESENTATION('',(#1080),#1083);+#1080 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1081,#1082),.UNSPECIFIED.,.F.,+  .F.,(2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#1081 = CARTESIAN_POINT('',(5.425,0.8));+#1082 = CARTESIAN_POINT('',(4.575,0.8));+#1083 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1084 = PCURVE('',#645,#1085);+#1085 = DEFINITIONAL_REPRESENTATION('',(#1086),#1089);+#1086 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1087,#1088),.UNSPECIFIED.,.F.,+  .F.,(2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#1087 = CARTESIAN_POINT('',(0.1,0.85));+#1088 = CARTESIAN_POINT('',(0.1,0.));+#1089 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1090 = ORIENTED_EDGE('',*,*,#1091,.T.);+#1091 = EDGE_CURVE('',#1071,#1092,#1094,.T.);+#1092 = VERTEX_POINT('',#1093);+#1093 = CARTESIAN_POINT('',(1.45,0.7,0.));+#1094 = SURFACE_CURVE('',#1095,(#1099,#1105),.PCURVE_S1.);+#1095 = LINE('',#1096,#1097);+#1096 = CARTESIAN_POINT('',(1.45,-1.1,0.));+#1097 = VECTOR('',#1098,1.);+#1098 = DIRECTION('',(0.,1.,0.));+#1099 = PCURVE('',#117,#1100);+#1100 = DEFINITIONAL_REPRESENTATION('',(#1101),#1104);+#1101 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1102,#1103),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1102 = CARTESIAN_POINT('',(4.575,0.8));+#1103 = CARTESIAN_POINT('',(4.575,2.2));+#1104 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1105 = PCURVE('',#671,#1106);+#1106 = DEFINITIONAL_REPRESENTATION('',(#1107),#1110);+#1107 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1108,#1109),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1108 = CARTESIAN_POINT('',(0.1,0.));+#1109 = CARTESIAN_POINT('',(0.1,-1.4));+#1110 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1111 = ORIENTED_EDGE('',*,*,#1112,.F.);+#1112 = EDGE_CURVE('',#1113,#1092,#1115,.T.);+#1113 = VERTEX_POINT('',#1114);+#1114 = CARTESIAN_POINT('',(2.3,0.7,0.));+#1115 = SURFACE_CURVE('',#1116,(#1120,#1126),.PCURVE_S1.);+#1116 = LINE('',#1117,#1118);+#1117 = CARTESIAN_POINT('',(-0.8375,0.7,0.));+#1118 = VECTOR('',#1119,1.);+#1119 = DIRECTION('',(-1.,0.,0.));+#1120 = PCURVE('',#117,#1121);+#1121 = DEFINITIONAL_REPRESENTATION('',(#1122),#1125);+#1122 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1123,#1124),.UNSPECIFIED.,.F.,+  .F.,(2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#1123 = CARTESIAN_POINT('',(5.425,2.2));+#1124 = CARTESIAN_POINT('',(4.575,2.2));+#1125 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1126 = PCURVE('',#697,#1127);+#1127 = DEFINITIONAL_REPRESENTATION('',(#1128),#1131);+#1128 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1129,#1130),.UNSPECIFIED.,.F.,+  .F.,(2,2),(-3.1375,-2.2875),.PIECEWISE_BEZIER_KNOTS.);+#1129 = CARTESIAN_POINT('',(0.1,0.85));+#1130 = CARTESIAN_POINT('',(0.1,0.));+#1131 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1132 = ORIENTED_EDGE('',*,*,#1133,.F.);+#1133 = EDGE_CURVE('',#1069,#1113,#1134,.T.);+#1134 = SURFACE_CURVE('',#1135,(#1139,#1145),.PCURVE_S1.);+#1135 = LINE('',#1136,#1137);+#1136 = CARTESIAN_POINT('',(2.3,-1.1,0.));+#1137 = VECTOR('',#1138,1.);+#1138 = DIRECTION('',(0.,1.,0.));+#1139 = PCURVE('',#117,#1140);+#1140 = DEFINITIONAL_REPRESENTATION('',(#1141),#1144);+#1141 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1142,#1143),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1142 = CARTESIAN_POINT('',(5.425,0.8));+#1143 = CARTESIAN_POINT('',(5.425,2.2));+#1144 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1145 = PCURVE('',#721,#1146);+#1146 = DEFINITIONAL_REPRESENTATION('',(#1147),#1150);+#1147 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1148,#1149),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.4,1.8),.PIECEWISE_BEZIER_KNOTS.);+#1148 = CARTESIAN_POINT('',(0.1,0.));+#1149 = CARTESIAN_POINT('',(0.1,-1.4));+#1150 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1151 = ADVANCED_FACE('',(#1152),#247,.T.);+#1152 = FACE_BOUND('',#1153,.T.);+#1153 = EDGE_LOOP('',(#1154,#1155,#1156,#1157));+#1154 = ORIENTED_EDGE('',*,*,#233,.F.);+#1155 = ORIENTED_EDGE('',*,*,#786,.T.);+#1156 = ORIENTED_EDGE('',*,*,#760,.T.);+#1157 = ORIENTED_EDGE('',*,*,#264,.F.);+#1158 = ADVANCED_FACE('',(#1159),#327,.T.);+#1159 = FACE_BOUND('',#1160,.T.);+#1160 = EDGE_LOOP('',(#1161,#1182,#1183,#1204));+#1161 = ORIENTED_EDGE('',*,*,#1162,.F.);+#1162 = EDGE_CURVE('',#811,#311,#1163,.T.);+#1163 = SURFACE_CURVE('',#1164,(#1168,#1175),.PCURVE_S1.);+#1164 = LINE('',#1165,#1166);+#1165 = CARTESIAN_POINT('',(-1.45,-0.7,-0.1));+#1166 = VECTOR('',#1167,1.);+#1167 = DIRECTION('',(0.,0.,1.));+#1168 = PCURVE('',#327,#1169);+#1169 = DEFINITIONAL_REPRESENTATION('',(#1170),#1174);+#1170 = LINE('',#1171,#1172);+#1171 = CARTESIAN_POINT('',(0.,0.85));+#1172 = VECTOR('',#1173,1.);+#1173 = DIRECTION('',(1.,0.));+#1174 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1175 = PCURVE('',#403,#1176);+#1176 = DEFINITIONAL_REPRESENTATION('',(#1177),#1181);+#1177 = LINE('',#1178,#1179);+#1178 = CARTESIAN_POINT('',(0.,0.));+#1179 = VECTOR('',#1180,1.);+#1180 = DIRECTION('',(1.,0.));+#1181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1182 = ORIENTED_EDGE('',*,*,#810,.T.);+#1183 = ORIENTED_EDGE('',*,*,#1184,.T.);+#1184 = EDGE_CURVE('',#813,#313,#1185,.T.);+#1185 = SURFACE_CURVE('',#1186,(#1190,#1197),.PCURVE_S1.);+#1186 = LINE('',#1187,#1188);+#1187 = CARTESIAN_POINT('',(-2.3,-0.7,-0.1));+#1188 = VECTOR('',#1189,1.);+#1189 = DIRECTION('',(0.,0.,1.));+#1190 = PCURVE('',#327,#1191);+#1191 = DEFINITIONAL_REPRESENTATION('',(#1192),#1196);+#1192 = LINE('',#1193,#1194);+#1193 = CARTESIAN_POINT('',(0.,0.));+#1194 = VECTOR('',#1195,1.);+#1195 = DIRECTION('',(1.,0.));+#1196 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1197 = PCURVE('',#353,#1198);+#1198 = DEFINITIONAL_REPRESENTATION('',(#1199),#1203);+#1199 = LINE('',#1200,#1201);+#1200 = CARTESIAN_POINT('',(0.,0.));+#1201 = VECTOR('',#1202,1.);+#1202 = DIRECTION('',(1.,0.));+#1203 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1204 = ORIENTED_EDGE('',*,*,#310,.F.);+#1205 = ADVANCED_FACE('',(#1206),#403,.F.);+#1206 = FACE_BOUND('',#1207,.F.);+#1207 = EDGE_LOOP('',(#1208,#1209,#1210,#1231));+#1208 = ORIENTED_EDGE('',*,*,#1162,.F.);+#1209 = ORIENTED_EDGE('',*,*,#875,.T.);+#1210 = ORIENTED_EDGE('',*,*,#1211,.T.);+#1211 = EDGE_CURVE('',#855,#365,#1212,.T.);+#1212 = SURFACE_CURVE('',#1213,(#1217,#1224),.PCURVE_S1.);+#1213 = LINE('',#1214,#1215);+#1214 = CARTESIAN_POINT('',(-1.45,0.7,-0.1));+#1215 = VECTOR('',#1216,1.);+#1216 = DIRECTION('',(0.,0.,1.));+#1217 = PCURVE('',#403,#1218);+#1218 = DEFINITIONAL_REPRESENTATION('',(#1219),#1223);+#1219 = LINE('',#1220,#1221);+#1220 = CARTESIAN_POINT('',(0.,-1.4));+#1221 = VECTOR('',#1222,1.);+#1222 = DIRECTION('',(1.,0.));+#1223 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1224 = PCURVE('',#379,#1225);+#1225 = DEFINITIONAL_REPRESENTATION('',(#1226),#1230);+#1226 = LINE('',#1227,#1228);+#1227 = CARTESIAN_POINT('',(0.,0.85));+#1228 = VECTOR('',#1229,1.);+#1229 = DIRECTION('',(1.,0.));+#1230 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1231 = ORIENTED_EDGE('',*,*,#390,.F.);+#1232 = ADVANCED_FACE('',(#1233),#353,.T.);+#1233 = FACE_BOUND('',#1234,.T.);+#1234 = EDGE_LOOP('',(#1235,#1236,#1237,#1258));+#1235 = ORIENTED_EDGE('',*,*,#1184,.F.);+#1236 = ORIENTED_EDGE('',*,*,#833,.T.);+#1237 = ORIENTED_EDGE('',*,*,#1238,.T.);+#1238 = EDGE_CURVE('',#834,#339,#1239,.T.);+#1239 = SURFACE_CURVE('',#1240,(#1244,#1251),.PCURVE_S1.);+#1240 = LINE('',#1241,#1242);+#1241 = CARTESIAN_POINT('',(-2.3,0.7,-0.1));+#1242 = VECTOR('',#1243,1.);+#1243 = DIRECTION('',(0.,0.,1.));+#1244 = PCURVE('',#353,#1245);+#1245 = DEFINITIONAL_REPRESENTATION('',(#1246),#1250);+#1246 = LINE('',#1247,#1248);+#1247 = CARTESIAN_POINT('',(0.,-1.4));+#1248 = VECTOR('',#1249,1.);+#1249 = DIRECTION('',(1.,0.));+#1250 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1251 = PCURVE('',#379,#1252);+#1252 = DEFINITIONAL_REPRESENTATION('',(#1253),#1257);+#1253 = LINE('',#1254,#1255);+#1254 = CARTESIAN_POINT('',(0.,0.));+#1255 = VECTOR('',#1256,1.);+#1256 = DIRECTION('',(1.,0.));+#1257 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1258 = ORIENTED_EDGE('',*,*,#338,.F.);+#1259 = ADVANCED_FACE('',(#1260),#379,.F.);+#1260 = FACE_BOUND('',#1261,.F.);+#1261 = EDGE_LOOP('',(#1262,#1263,#1264,#1265));+#1262 = ORIENTED_EDGE('',*,*,#1211,.F.);+#1263 = ORIENTED_EDGE('',*,*,#854,.T.);+#1264 = ORIENTED_EDGE('',*,*,#1238,.T.);+#1265 = ORIENTED_EDGE('',*,*,#364,.F.);+#1266 = ADVANCED_FACE('',(#1267),#433,.T.);+#1267 = FACE_BOUND('',#1268,.T.);+#1268 = EDGE_LOOP('',(#1269,#1290,#1291,#1312));+#1269 = ORIENTED_EDGE('',*,*,#1270,.F.);+#1270 = EDGE_CURVE('',#897,#417,#1271,.T.);+#1271 = SURFACE_CURVE('',#1272,(#1276,#1283),.PCURVE_S1.);+#1272 = LINE('',#1273,#1274);+#1273 = CARTESIAN_POINT('',(-0.2,-0.7,-0.1));+#1274 = VECTOR('',#1275,1.);+#1275 = DIRECTION('',(0.,0.,1.));+#1276 = PCURVE('',#433,#1277);+#1277 = DEFINITIONAL_REPRESENTATION('',(#1278),#1282);+#1278 = LINE('',#1279,#1280);+#1279 = CARTESIAN_POINT('',(0.,0.85));+#1280 = VECTOR('',#1281,1.);+#1281 = DIRECTION('',(1.,0.));+#1282 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1283 = PCURVE('',#509,#1284);+#1284 = DEFINITIONAL_REPRESENTATION('',(#1285),#1289);+#1285 = LINE('',#1286,#1287);+#1286 = CARTESIAN_POINT('',(0.,0.));+#1287 = VECTOR('',#1288,1.);+#1288 = DIRECTION('',(1.,0.));+#1289 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1290 = ORIENTED_EDGE('',*,*,#896,.T.);+#1291 = ORIENTED_EDGE('',*,*,#1292,.T.);+#1292 = EDGE_CURVE('',#899,#419,#1293,.T.);+#1293 = SURFACE_CURVE('',#1294,(#1298,#1305),.PCURVE_S1.);+#1294 = LINE('',#1295,#1296);+#1295 = CARTESIAN_POINT('',(-1.05,-0.7,-0.1));+#1296 = VECTOR('',#1297,1.);+#1297 = DIRECTION('',(0.,0.,1.));+#1298 = PCURVE('',#433,#1299);+#1299 = DEFINITIONAL_REPRESENTATION('',(#1300),#1304);+#1300 = LINE('',#1301,#1302);+#1301 = CARTESIAN_POINT('',(0.,0.));+#1302 = VECTOR('',#1303,1.);+#1303 = DIRECTION('',(1.,0.));+#1304 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1305 = PCURVE('',#459,#1306);+#1306 = DEFINITIONAL_REPRESENTATION('',(#1307),#1311);+#1307 = LINE('',#1308,#1309);+#1308 = CARTESIAN_POINT('',(0.,0.));+#1309 = VECTOR('',#1310,1.);+#1310 = DIRECTION('',(1.,0.));+#1311 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1312 = ORIENTED_EDGE('',*,*,#416,.F.);+#1313 = ADVANCED_FACE('',(#1314),#509,.F.);+#1314 = FACE_BOUND('',#1315,.F.);+#1315 = EDGE_LOOP('',(#1316,#1317,#1318,#1339));+#1316 = ORIENTED_EDGE('',*,*,#1270,.F.);+#1317 = ORIENTED_EDGE('',*,*,#961,.T.);+#1318 = ORIENTED_EDGE('',*,*,#1319,.T.);+#1319 = EDGE_CURVE('',#941,#471,#1320,.T.);+#1320 = SURFACE_CURVE('',#1321,(#1325,#1332),.PCURVE_S1.);+#1321 = LINE('',#1322,#1323);+#1322 = CARTESIAN_POINT('',(-0.2,0.7,-0.1));+#1323 = VECTOR('',#1324,1.);+#1324 = DIRECTION('',(0.,0.,1.));+#1325 = PCURVE('',#509,#1326);+#1326 = DEFINITIONAL_REPRESENTATION('',(#1327),#1331);+#1327 = LINE('',#1328,#1329);+#1328 = CARTESIAN_POINT('',(0.,-1.4));+#1329 = VECTOR('',#1330,1.);+#1330 = DIRECTION('',(1.,0.));+#1331 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1332 = PCURVE('',#485,#1333);+#1333 = DEFINITIONAL_REPRESENTATION('',(#1334),#1338);+#1334 = LINE('',#1335,#1336);+#1335 = CARTESIAN_POINT('',(0.,0.85));+#1336 = VECTOR('',#1337,1.);+#1337 = DIRECTION('',(1.,0.));+#1338 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1339 = ORIENTED_EDGE('',*,*,#496,.F.);+#1340 = ADVANCED_FACE('',(#1341),#459,.T.);+#1341 = FACE_BOUND('',#1342,.T.);+#1342 = EDGE_LOOP('',(#1343,#1344,#1345,#1366));+#1343 = ORIENTED_EDGE('',*,*,#1292,.F.);+#1344 = ORIENTED_EDGE('',*,*,#919,.T.);+#1345 = ORIENTED_EDGE('',*,*,#1346,.T.);+#1346 = EDGE_CURVE('',#920,#445,#1347,.T.);+#1347 = SURFACE_CURVE('',#1348,(#1352,#1359),.PCURVE_S1.);+#1348 = LINE('',#1349,#1350);+#1349 = CARTESIAN_POINT('',(-1.05,0.7,-0.1));+#1350 = VECTOR('',#1351,1.);+#1351 = DIRECTION('',(0.,0.,1.));+#1352 = PCURVE('',#459,#1353);+#1353 = DEFINITIONAL_REPRESENTATION('',(#1354),#1358);+#1354 = LINE('',#1355,#1356);+#1355 = CARTESIAN_POINT('',(0.,-1.4));+#1356 = VECTOR('',#1357,1.);+#1357 = DIRECTION('',(1.,0.));+#1358 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1359 = PCURVE('',#485,#1360);+#1360 = DEFINITIONAL_REPRESENTATION('',(#1361),#1365);+#1361 = LINE('',#1362,#1363);+#1362 = CARTESIAN_POINT('',(0.,0.));+#1363 = VECTOR('',#1364,1.);+#1364 = DIRECTION('',(1.,0.));+#1365 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1366 = ORIENTED_EDGE('',*,*,#444,.F.);+#1367 = ADVANCED_FACE('',(#1368),#485,.F.);+#1368 = FACE_BOUND('',#1369,.F.);+#1369 = EDGE_LOOP('',(#1370,#1371,#1372,#1373));+#1370 = ORIENTED_EDGE('',*,*,#1319,.F.);+#1371 = ORIENTED_EDGE('',*,*,#940,.T.);+#1372 = ORIENTED_EDGE('',*,*,#1346,.T.);+#1373 = ORIENTED_EDGE('',*,*,#470,.F.);+#1374 = ADVANCED_FACE('',(#1375),#539,.T.);+#1375 = FACE_BOUND('',#1376,.T.);+#1376 = EDGE_LOOP('',(#1377,#1398,#1399,#1420));+#1377 = ORIENTED_EDGE('',*,*,#1378,.F.);+#1378 = EDGE_CURVE('',#983,#523,#1379,.T.);+#1379 = SURFACE_CURVE('',#1380,(#1384,#1391),.PCURVE_S1.);+#1380 = LINE('',#1381,#1382);+#1381 = CARTESIAN_POINT('',(1.05,-0.7,-0.1));+#1382 = VECTOR('',#1383,1.);+#1383 = DIRECTION('',(0.,0.,1.));+#1384 = PCURVE('',#539,#1385);+#1385 = DEFINITIONAL_REPRESENTATION('',(#1386),#1390);+#1386 = LINE('',#1387,#1388);+#1387 = CARTESIAN_POINT('',(0.,0.85));+#1388 = VECTOR('',#1389,1.);+#1389 = DIRECTION('',(1.,0.));+#1390 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1391 = PCURVE('',#615,#1392);+#1392 = DEFINITIONAL_REPRESENTATION('',(#1393),#1397);+#1393 = LINE('',#1394,#1395);+#1394 = CARTESIAN_POINT('',(0.,0.));+#1395 = VECTOR('',#1396,1.);+#1396 = DIRECTION('',(1.,0.));+#1397 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1398 = ORIENTED_EDGE('',*,*,#982,.T.);+#1399 = ORIENTED_EDGE('',*,*,#1400,.T.);+#1400 = EDGE_CURVE('',#985,#525,#1401,.T.);+#1401 = SURFACE_CURVE('',#1402,(#1406,#1413),.PCURVE_S1.);+#1402 = LINE('',#1403,#1404);+#1403 = CARTESIAN_POINT('',(0.2,-0.7,-0.1));+#1404 = VECTOR('',#1405,1.);+#1405 = DIRECTION('',(0.,0.,1.));+#1406 = PCURVE('',#539,#1407);+#1407 = DEFINITIONAL_REPRESENTATION('',(#1408),#1412);+#1408 = LINE('',#1409,#1410);+#1409 = CARTESIAN_POINT('',(0.,0.));+#1410 = VECTOR('',#1411,1.);+#1411 = DIRECTION('',(1.,0.));+#1412 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1413 = PCURVE('',#565,#1414);+#1414 = DEFINITIONAL_REPRESENTATION('',(#1415),#1419);+#1415 = LINE('',#1416,#1417);+#1416 = CARTESIAN_POINT('',(0.,0.));+#1417 = VECTOR('',#1418,1.);+#1418 = DIRECTION('',(1.,0.));+#1419 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1420 = ORIENTED_EDGE('',*,*,#522,.F.);+#1421 = ADVANCED_FACE('',(#1422),#615,.F.);+#1422 = FACE_BOUND('',#1423,.F.);+#1423 = EDGE_LOOP('',(#1424,#1425,#1426,#1447));+#1424 = ORIENTED_EDGE('',*,*,#1378,.F.);+#1425 = ORIENTED_EDGE('',*,*,#1047,.T.);+#1426 = ORIENTED_EDGE('',*,*,#1427,.T.);+#1427 = EDGE_CURVE('',#1027,#577,#1428,.T.);+#1428 = SURFACE_CURVE('',#1429,(#1433,#1440),.PCURVE_S1.);+#1429 = LINE('',#1430,#1431);+#1430 = CARTESIAN_POINT('',(1.05,0.7,-0.1));+#1431 = VECTOR('',#1432,1.);+#1432 = DIRECTION('',(0.,0.,1.));+#1433 = PCURVE('',#615,#1434);+#1434 = DEFINITIONAL_REPRESENTATION('',(#1435),#1439);+#1435 = LINE('',#1436,#1437);+#1436 = CARTESIAN_POINT('',(0.,-1.4));+#1437 = VECTOR('',#1438,1.);+#1438 = DIRECTION('',(1.,0.));+#1439 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1440 = PCURVE('',#591,#1441);+#1441 = DEFINITIONAL_REPRESENTATION('',(#1442),#1446);+#1442 = LINE('',#1443,#1444);+#1443 = CARTESIAN_POINT('',(0.,0.85));+#1444 = VECTOR('',#1445,1.);+#1445 = DIRECTION('',(1.,0.));+#1446 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1447 = ORIENTED_EDGE('',*,*,#602,.F.);+#1448 = ADVANCED_FACE('',(#1449),#565,.T.);+#1449 = FACE_BOUND('',#1450,.T.);+#1450 = EDGE_LOOP('',(#1451,#1452,#1453,#1474));+#1451 = ORIENTED_EDGE('',*,*,#1400,.F.);+#1452 = ORIENTED_EDGE('',*,*,#1005,.T.);+#1453 = ORIENTED_EDGE('',*,*,#1454,.T.);+#1454 = EDGE_CURVE('',#1006,#551,#1455,.T.);+#1455 = SURFACE_CURVE('',#1456,(#1460,#1467),.PCURVE_S1.);+#1456 = LINE('',#1457,#1458);+#1457 = CARTESIAN_POINT('',(0.2,0.7,-0.1));+#1458 = VECTOR('',#1459,1.);+#1459 = DIRECTION('',(0.,0.,1.));+#1460 = PCURVE('',#565,#1461);+#1461 = DEFINITIONAL_REPRESENTATION('',(#1462),#1466);+#1462 = LINE('',#1463,#1464);+#1463 = CARTESIAN_POINT('',(0.,-1.4));+#1464 = VECTOR('',#1465,1.);+#1465 = DIRECTION('',(1.,0.));+#1466 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1467 = PCURVE('',#591,#1468);+#1468 = DEFINITIONAL_REPRESENTATION('',(#1469),#1473);+#1469 = LINE('',#1470,#1471);+#1470 = CARTESIAN_POINT('',(0.,0.));+#1471 = VECTOR('',#1472,1.);+#1472 = DIRECTION('',(1.,0.));+#1473 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1474 = ORIENTED_EDGE('',*,*,#550,.F.);+#1475 = ADVANCED_FACE('',(#1476),#591,.F.);+#1476 = FACE_BOUND('',#1477,.F.);+#1477 = EDGE_LOOP('',(#1478,#1479,#1480,#1481));+#1478 = ORIENTED_EDGE('',*,*,#1427,.F.);+#1479 = ORIENTED_EDGE('',*,*,#1026,.T.);+#1480 = ORIENTED_EDGE('',*,*,#1454,.T.);+#1481 = ORIENTED_EDGE('',*,*,#576,.F.);+#1482 = ADVANCED_FACE('',(#1483),#645,.T.);+#1483 = FACE_BOUND('',#1484,.T.);+#1484 = EDGE_LOOP('',(#1485,#1506,#1507,#1528));+#1485 = ORIENTED_EDGE('',*,*,#1486,.F.);+#1486 = EDGE_CURVE('',#1069,#629,#1487,.T.);+#1487 = SURFACE_CURVE('',#1488,(#1492,#1499),.PCURVE_S1.);+#1488 = LINE('',#1489,#1490);+#1489 = CARTESIAN_POINT('',(2.3,-0.7,-0.1));+#1490 = VECTOR('',#1491,1.);+#1491 = DIRECTION('',(0.,0.,1.));+#1492 = PCURVE('',#645,#1493);+#1493 = DEFINITIONAL_REPRESENTATION('',(#1494),#1498);+#1494 = LINE('',#1495,#1496);+#1495 = CARTESIAN_POINT('',(0.,0.85));+#1496 = VECTOR('',#1497,1.);+#1497 = DIRECTION('',(1.,0.));+#1498 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1499 = PCURVE('',#721,#1500);+#1500 = DEFINITIONAL_REPRESENTATION('',(#1501),#1505);+#1501 = LINE('',#1502,#1503);+#1502 = CARTESIAN_POINT('',(0.,0.));+#1503 = VECTOR('',#1504,1.);+#1504 = DIRECTION('',(1.,0.));+#1505 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1506 = ORIENTED_EDGE('',*,*,#1068,.T.);+#1507 = ORIENTED_EDGE('',*,*,#1508,.T.);+#1508 = EDGE_CURVE('',#1071,#631,#1509,.T.);+#1509 = SURFACE_CURVE('',#1510,(#1514,#1521),.PCURVE_S1.);+#1510 = LINE('',#1511,#1512);+#1511 = CARTESIAN_POINT('',(1.45,-0.7,-0.1));+#1512 = VECTOR('',#1513,1.);+#1513 = DIRECTION('',(0.,0.,1.));+#1514 = PCURVE('',#645,#1515);+#1515 = DEFINITIONAL_REPRESENTATION('',(#1516),#1520);+#1516 = LINE('',#1517,#1518);+#1517 = CARTESIAN_POINT('',(0.,0.));+#1518 = VECTOR('',#1519,1.);+#1519 = DIRECTION('',(1.,0.));+#1520 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1521 = PCURVE('',#671,#1522);+#1522 = DEFINITIONAL_REPRESENTATION('',(#1523),#1527);+#1523 = LINE('',#1524,#1525);+#1524 = CARTESIAN_POINT('',(0.,0.));+#1525 = VECTOR('',#1526,1.);+#1526 = DIRECTION('',(1.,0.));+#1527 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1528 = ORIENTED_EDGE('',*,*,#628,.F.);+#1529 = ADVANCED_FACE('',(#1530),#721,.F.);+#1530 = FACE_BOUND('',#1531,.F.);+#1531 = EDGE_LOOP('',(#1532,#1533,#1534,#1555));+#1532 = ORIENTED_EDGE('',*,*,#1486,.F.);+#1533 = ORIENTED_EDGE('',*,*,#1133,.T.);+#1534 = ORIENTED_EDGE('',*,*,#1535,.T.);+#1535 = EDGE_CURVE('',#1113,#683,#1536,.T.);+#1536 = SURFACE_CURVE('',#1537,(#1541,#1548),.PCURVE_S1.);+#1537 = LINE('',#1538,#1539);+#1538 = CARTESIAN_POINT('',(2.3,0.7,-0.1));+#1539 = VECTOR('',#1540,1.);+#1540 = DIRECTION('',(0.,0.,1.));+#1541 = PCURVE('',#721,#1542);+#1542 = DEFINITIONAL_REPRESENTATION('',(#1543),#1547);+#1543 = LINE('',#1544,#1545);+#1544 = CARTESIAN_POINT('',(0.,-1.4));+#1545 = VECTOR('',#1546,1.);+#1546 = DIRECTION('',(1.,0.));+#1547 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1548 = PCURVE('',#697,#1549);+#1549 = DEFINITIONAL_REPRESENTATION('',(#1550),#1554);+#1550 = LINE('',#1551,#1552);+#1551 = CARTESIAN_POINT('',(0.,0.85));+#1552 = VECTOR('',#1553,1.);+#1553 = DIRECTION('',(1.,0.));+#1554 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1555 = ORIENTED_EDGE('',*,*,#708,.F.);+#1556 = ADVANCED_FACE('',(#1557),#697,.F.);+#1557 = FACE_BOUND('',#1558,.F.);+#1558 = EDGE_LOOP('',(#1559,#1560,#1561,#1582));+#1559 = ORIENTED_EDGE('',*,*,#1535,.F.);+#1560 = ORIENTED_EDGE('',*,*,#1112,.T.);+#1561 = ORIENTED_EDGE('',*,*,#1562,.T.);+#1562 = EDGE_CURVE('',#1092,#657,#1563,.T.);+#1563 = SURFACE_CURVE('',#1564,(#1568,#1575),.PCURVE_S1.);+#1564 = LINE('',#1565,#1566);+#1565 = CARTESIAN_POINT('',(1.45,0.7,-0.1));+#1566 = VECTOR('',#1567,1.);+#1567 = DIRECTION('',(0.,0.,1.));+#1568 = PCURVE('',#697,#1569);+#1569 = DEFINITIONAL_REPRESENTATION('',(#1570),#1574);+#1570 = LINE('',#1571,#1572);+#1571 = CARTESIAN_POINT('',(0.,0.));+#1572 = VECTOR('',#1573,1.);+#1573 = DIRECTION('',(1.,0.));+#1574 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1575 = PCURVE('',#671,#1576);+#1576 = DEFINITIONAL_REPRESENTATION('',(#1577),#1581);+#1577 = LINE('',#1578,#1579);+#1578 = CARTESIAN_POINT('',(0.,-1.4));+#1579 = VECTOR('',#1580,1.);+#1580 = DIRECTION('',(1.,0.));+#1581 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1582 = ORIENTED_EDGE('',*,*,#682,.F.);+#1583 = ADVANCED_FACE('',(#1584),#671,.T.);+#1584 = FACE_BOUND('',#1585,.T.);+#1585 = EDGE_LOOP('',(#1586,#1587,#1588,#1589));+#1586 = ORIENTED_EDGE('',*,*,#1508,.F.);+#1587 = ORIENTED_EDGE('',*,*,#1091,.T.);+#1588 = ORIENTED_EDGE('',*,*,#1562,.T.);+#1589 = ORIENTED_EDGE('',*,*,#656,.F.);+#1590 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1594)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1591,#1592,#1593)) REPRESENTATION_CONTEXT+('Context #1','3D Context with UNIT and UNCERTAINTY') );+#1591 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#1592 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#1593 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#1594 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-07),#1591,+  'distance_accuracy_value','confusion accuracy');+#1595 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1596,#1598);+#1596 = ( REPRESENTATION_RELATIONSHIP('','',#59,#32) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1597) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#1597 = ITEM_DEFINED_TRANSFORMATION('','',#11,#33);+#1598 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',+  #1599);+#1599 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','Housing_Nominal','',#27,#54,+  $);+#1600 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#56));+#1601 = SHAPE_DEFINITION_REPRESENTATION(#1602,#1608);+#1602 = PRODUCT_DEFINITION_SHAPE('','',#1603);+#1603 = PRODUCT_DEFINITION('design','',#1604,#1607);+#1604 = PRODUCT_DEFINITION_FORMATION('','',#1605);+#1605 = PRODUCT('Latch_Illustrative','Latch_Illustrative','',(#1606));+#1606 = PRODUCT_CONTEXT('',#2,'mechanical');+#1607 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#1608 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#1609),#2093);+#1609 = MANIFOLD_SOLID_BREP('',#1610);+#1610 = CLOSED_SHELL('',(#1611,#1787,#1863,#1980,#2007,#2032,#2059,#2086+    ));+#1611 = ADVANCED_FACE('',(#1612),#1626,.F.);+#1612 = FACE_BOUND('',#1613,.F.);+#1613 = EDGE_LOOP('',(#1614,#1649,#1677,#1705,#1733,#1761));+#1614 = ORIENTED_EDGE('',*,*,#1615,.F.);+#1615 = EDGE_CURVE('',#1616,#1618,#1620,.T.);+#1616 = VERTEX_POINT('',#1617);+#1617 = CARTESIAN_POINT('',(-1.5,2.65,5.3));+#1618 = VERTEX_POINT('',#1619);+#1619 = CARTESIAN_POINT('',(-1.5,2.65,1.8));+#1620 = SURFACE_CURVE('',#1621,(#1625,#1637),.PCURVE_S1.);+#1621 = LINE('',#1622,#1623);+#1622 = CARTESIAN_POINT('',(-1.5,2.65,5.3));+#1623 = VECTOR('',#1624,1.);+#1624 = DIRECTION('',(0.,0.,-1.));+#1625 = PCURVE('',#1626,#1631);+#1626 = PLANE('',#1627);+#1627 = AXIS2_PLACEMENT_3D('',#1628,#1629,#1630);+#1628 = CARTESIAN_POINT('',(-1.5,2.05,1.8));+#1629 = DIRECTION('',(1.,0.,0.));+#1630 = DIRECTION('',(0.,0.,1.));+#1631 = DEFINITIONAL_REPRESENTATION('',(#1632),#1636);+#1632 = LINE('',#1633,#1634);+#1633 = CARTESIAN_POINT('',(3.5,-0.6));+#1634 = VECTOR('',#1635,1.);+#1635 = DIRECTION('',(-1.,0.));+#1636 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1637 = PCURVE('',#1638,#1643);+#1638 = PLANE('',#1639);+#1639 = AXIS2_PLACEMENT_3D('',#1640,#1641,#1642);+#1640 = CARTESIAN_POINT('',(-1.5,2.65,1.8));+#1641 = DIRECTION('',(0.,1.,0.));+#1642 = DIRECTION('',(0.,0.,1.));+#1643 = DEFINITIONAL_REPRESENTATION('',(#1644),#1648);+#1644 = LINE('',#1645,#1646);+#1645 = CARTESIAN_POINT('',(3.5,0.));+#1646 = VECTOR('',#1647,1.);+#1647 = DIRECTION('',(-1.,0.));+#1648 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1649 = ORIENTED_EDGE('',*,*,#1650,.F.);+#1650 = EDGE_CURVE('',#1651,#1616,#1653,.T.);+#1651 = VERTEX_POINT('',#1652);+#1652 = CARTESIAN_POINT('',(-1.5,2.05,5.3));+#1653 = SURFACE_CURVE('',#1654,(#1658,#1665),.PCURVE_S1.);+#1654 = LINE('',#1655,#1656);+#1655 = CARTESIAN_POINT('',(-1.5,2.05,5.3));+#1656 = VECTOR('',#1657,1.);+#1657 = DIRECTION('',(0.,1.,0.));+#1658 = PCURVE('',#1626,#1659);+#1659 = DEFINITIONAL_REPRESENTATION('',(#1660),#1664);+#1660 = LINE('',#1661,#1662);+#1661 = CARTESIAN_POINT('',(3.5,0.));+#1662 = VECTOR('',#1663,1.);+#1663 = DIRECTION('',(0.,-1.));+#1664 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1665 = PCURVE('',#1666,#1671);+#1666 = PLANE('',#1667);+#1667 = AXIS2_PLACEMENT_3D('',#1668,#1669,#1670);+#1668 = CARTESIAN_POINT('',(-1.5,2.05,5.3));+#1669 = DIRECTION('',(0.,0.,1.));+#1670 = DIRECTION('',(1.,0.,0.));+#1671 = DEFINITIONAL_REPRESENTATION('',(#1672),#1676);+#1672 = LINE('',#1673,#1674);+#1673 = CARTESIAN_POINT('',(0.,0.));+#1674 = VECTOR('',#1675,1.);+#1675 = DIRECTION('',(0.,1.));+#1676 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1677 = ORIENTED_EDGE('',*,*,#1678,.F.);+#1678 = EDGE_CURVE('',#1679,#1651,#1681,.T.);+#1679 = VERTEX_POINT('',#1680);+#1680 = CARTESIAN_POINT('',(-1.5,2.05,2.2));+#1681 = SURFACE_CURVE('',#1682,(#1686,#1693),.PCURVE_S1.);+#1682 = LINE('',#1683,#1684);+#1683 = CARTESIAN_POINT('',(-1.5,2.05,1.8));+#1684 = VECTOR('',#1685,1.);+#1685 = DIRECTION('',(0.,0.,1.));+#1686 = PCURVE('',#1626,#1687);+#1687 = DEFINITIONAL_REPRESENTATION('',(#1688),#1692);+#1688 = LINE('',#1689,#1690);+#1689 = CARTESIAN_POINT('',(0.,0.));+#1690 = VECTOR('',#1691,1.);+#1691 = DIRECTION('',(1.,0.));+#1692 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1693 = PCURVE('',#1694,#1699);+#1694 = PLANE('',#1695);+#1695 = AXIS2_PLACEMENT_3D('',#1696,#1697,#1698);+#1696 = CARTESIAN_POINT('',(-1.5,2.05,1.8));+#1697 = DIRECTION('',(0.,1.,0.));+#1698 = DIRECTION('',(0.,0.,1.));+#1699 = DEFINITIONAL_REPRESENTATION('',(#1700),#1704);+#1700 = LINE('',#1701,#1702);+#1701 = CARTESIAN_POINT('',(0.,0.));+#1702 = VECTOR('',#1703,1.);+#1703 = DIRECTION('',(1.,0.));+#1704 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1705 = ORIENTED_EDGE('',*,*,#1706,.F.);+#1706 = EDGE_CURVE('',#1707,#1679,#1709,.T.);+#1707 = VERTEX_POINT('',#1708);+#1708 = CARTESIAN_POINT('',(-1.5,1.15,2.2));+#1709 = SURFACE_CURVE('',#1710,(#1714,#1721),.PCURVE_S1.);+#1710 = LINE('',#1711,#1712);+#1711 = CARTESIAN_POINT('',(-1.5,1.15,2.2));+#1712 = VECTOR('',#1713,1.);+#1713 = DIRECTION('',(0.,1.,0.));+#1714 = PCURVE('',#1626,#1715);+#1715 = DEFINITIONAL_REPRESENTATION('',(#1716),#1720);+#1716 = LINE('',#1717,#1718);+#1717 = CARTESIAN_POINT('',(0.4,0.9));+#1718 = VECTOR('',#1719,1.);+#1719 = DIRECTION('',(0.,-1.));+#1720 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1721 = PCURVE('',#1722,#1727);+#1722 = PLANE('',#1723);+#1723 = AXIS2_PLACEMENT_3D('',#1724,#1725,#1726);+#1724 = CARTESIAN_POINT('',(-1.5,1.15,2.2));+#1725 = DIRECTION('',(0.,0.,1.));+#1726 = DIRECTION('',(1.,0.,0.));+#1727 = DEFINITIONAL_REPRESENTATION('',(#1728),#1732);+#1728 = LINE('',#1729,#1730);+#1729 = CARTESIAN_POINT('',(0.,0.));+#1730 = VECTOR('',#1731,1.);+#1731 = DIRECTION('',(0.,1.));+#1732 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1733 = ORIENTED_EDGE('',*,*,#1734,.F.);+#1734 = EDGE_CURVE('',#1735,#1707,#1737,.T.);+#1735 = VERTEX_POINT('',#1736);+#1736 = CARTESIAN_POINT('',(-1.5,1.15,1.8));+#1737 = SURFACE_CURVE('',#1738,(#1742,#1749),.PCURVE_S1.);+#1738 = LINE('',#1739,#1740);+#1739 = CARTESIAN_POINT('',(-1.5,1.15,1.8));+#1740 = VECTOR('',#1741,1.);+#1741 = DIRECTION('',(0.,0.,1.));+#1742 = PCURVE('',#1626,#1743);+#1743 = DEFINITIONAL_REPRESENTATION('',(#1744),#1748);+#1744 = LINE('',#1745,#1746);+#1745 = CARTESIAN_POINT('',(0.,0.9));+#1746 = VECTOR('',#1747,1.);+#1747 = DIRECTION('',(1.,0.));+#1748 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1749 = PCURVE('',#1750,#1755);+#1750 = PLANE('',#1751);+#1751 = AXIS2_PLACEMENT_3D('',#1752,#1753,#1754);+#1752 = CARTESIAN_POINT('',(-1.5,1.15,1.8));+#1753 = DIRECTION('',(0.,1.,0.));+#1754 = DIRECTION('',(0.,0.,1.));+#1755 = DEFINITIONAL_REPRESENTATION('',(#1756),#1760);+#1756 = LINE('',#1757,#1758);+#1757 = CARTESIAN_POINT('',(0.,0.));+#1758 = VECTOR('',#1759,1.);+#1759 = DIRECTION('',(1.,0.));+#1760 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1761 = ORIENTED_EDGE('',*,*,#1762,.F.);+#1762 = EDGE_CURVE('',#1618,#1735,#1763,.T.);+#1763 = SURFACE_CURVE('',#1764,(#1768,#1775),.PCURVE_S1.);+#1764 = LINE('',#1765,#1766);+#1765 = CARTESIAN_POINT('',(-1.5,2.65,1.8));+#1766 = VECTOR('',#1767,1.);+#1767 = DIRECTION('',(0.,-1.,0.));+#1768 = PCURVE('',#1626,#1769);+#1769 = DEFINITIONAL_REPRESENTATION('',(#1770),#1774);+#1770 = LINE('',#1771,#1772);+#1771 = CARTESIAN_POINT('',(0.,-0.6));+#1772 = VECTOR('',#1773,1.);+#1773 = DIRECTION('',(0.,1.));+#1774 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1775 = PCURVE('',#1776,#1781);+#1776 = PLANE('',#1777);+#1777 = AXIS2_PLACEMENT_3D('',#1778,#1779,#1780);+#1778 = CARTESIAN_POINT('',(-1.5,2.05,1.8));+#1779 = DIRECTION('',(0.,0.,1.));+#1780 = DIRECTION('',(1.,0.,0.));+#1781 = DEFINITIONAL_REPRESENTATION('',(#1782),#1786);+#1782 = LINE('',#1783,#1784);+#1783 = CARTESIAN_POINT('',(0.,0.6));+#1784 = VECTOR('',#1785,1.);+#1785 = DIRECTION('',(0.,-1.));+#1786 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1787 = ADVANCED_FACE('',(#1788),#1776,.F.);+#1788 = FACE_BOUND('',#1789,.F.);+#1789 = EDGE_LOOP('',(#1790,#1791,#1814,#1842));+#1790 = ORIENTED_EDGE('',*,*,#1762,.T.);+#1791 = ORIENTED_EDGE('',*,*,#1792,.T.);+#1792 = EDGE_CURVE('',#1735,#1793,#1795,.T.);+#1793 = VERTEX_POINT('',#1794);+#1794 = CARTESIAN_POINT('',(1.5,1.15,1.8));+#1795 = SURFACE_CURVE('',#1796,(#1800,#1807),.PCURVE_S1.);+#1796 = LINE('',#1797,#1798);+#1797 = CARTESIAN_POINT('',(-1.5,1.15,1.8));+#1798 = VECTOR('',#1799,1.);+#1799 = DIRECTION('',(1.,0.,0.));+#1800 = PCURVE('',#1776,#1801);+#1801 = DEFINITIONAL_REPRESENTATION('',(#1802),#1806);+#1802 = LINE('',#1803,#1804);+#1803 = CARTESIAN_POINT('',(0.,-0.9));+#1804 = VECTOR('',#1805,1.);+#1805 = DIRECTION('',(1.,0.));+#1806 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1807 = PCURVE('',#1750,#1808);+#1808 = DEFINITIONAL_REPRESENTATION('',(#1809),#1813);+#1809 = LINE('',#1810,#1811);+#1810 = CARTESIAN_POINT('',(0.,0.));+#1811 = VECTOR('',#1812,1.);+#1812 = DIRECTION('',(0.,1.));+#1813 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1814 = ORIENTED_EDGE('',*,*,#1815,.F.);+#1815 = EDGE_CURVE('',#1816,#1793,#1818,.T.);+#1816 = VERTEX_POINT('',#1817);+#1817 = CARTESIAN_POINT('',(1.5,2.65,1.8));+#1818 = SURFACE_CURVE('',#1819,(#1823,#1830),.PCURVE_S1.);+#1819 = LINE('',#1820,#1821);+#1820 = CARTESIAN_POINT('',(1.5,2.65,1.8));+#1821 = VECTOR('',#1822,1.);+#1822 = DIRECTION('',(0.,-1.,0.));+#1823 = PCURVE('',#1776,#1824);+#1824 = DEFINITIONAL_REPRESENTATION('',(#1825),#1829);+#1825 = LINE('',#1826,#1827);+#1826 = CARTESIAN_POINT('',(3.,0.6));+#1827 = VECTOR('',#1828,1.);+#1828 = DIRECTION('',(0.,-1.));+#1829 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1830 = PCURVE('',#1831,#1836);+#1831 = PLANE('',#1832);+#1832 = AXIS2_PLACEMENT_3D('',#1833,#1834,#1835);+#1833 = CARTESIAN_POINT('',(1.5,2.05,1.8));+#1834 = DIRECTION('',(1.,0.,0.));+#1835 = DIRECTION('',(0.,0.,1.));+#1836 = DEFINITIONAL_REPRESENTATION('',(#1837),#1841);+#1837 = LINE('',#1838,#1839);+#1838 = CARTESIAN_POINT('',(0.,-0.6));+#1839 = VECTOR('',#1840,1.);+#1840 = DIRECTION('',(0.,1.));+#1841 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1842 = ORIENTED_EDGE('',*,*,#1843,.F.);+#1843 = EDGE_CURVE('',#1618,#1816,#1844,.T.);+#1844 = SURFACE_CURVE('',#1845,(#1849,#1856),.PCURVE_S1.);+#1845 = LINE('',#1846,#1847);+#1846 = CARTESIAN_POINT('',(-1.5,2.65,1.8));+#1847 = VECTOR('',#1848,1.);+#1848 = DIRECTION('',(1.,0.,0.));+#1849 = PCURVE('',#1776,#1850);+#1850 = DEFINITIONAL_REPRESENTATION('',(#1851),#1855);+#1851 = LINE('',#1852,#1853);+#1852 = CARTESIAN_POINT('',(0.,0.6));+#1853 = VECTOR('',#1854,1.);+#1854 = DIRECTION('',(1.,0.));+#1855 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1856 = PCURVE('',#1638,#1857);+#1857 = DEFINITIONAL_REPRESENTATION('',(#1858),#1862);+#1858 = LINE('',#1859,#1860);+#1859 = CARTESIAN_POINT('',(0.,0.));+#1860 = VECTOR('',#1861,1.);+#1861 = DIRECTION('',(0.,1.));+#1862 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1863 = ADVANCED_FACE('',(#1864),#1831,.T.);+#1864 = FACE_BOUND('',#1865,.T.);+#1865 = EDGE_LOOP('',(#1866,#1889,#1912,#1935,#1958,#1979));+#1866 = ORIENTED_EDGE('',*,*,#1867,.F.);+#1867 = EDGE_CURVE('',#1868,#1816,#1870,.T.);+#1868 = VERTEX_POINT('',#1869);+#1869 = CARTESIAN_POINT('',(1.5,2.65,5.3));+#1870 = SURFACE_CURVE('',#1871,(#1875,#1882),.PCURVE_S1.);+#1871 = LINE('',#1872,#1873);+#1872 = CARTESIAN_POINT('',(1.5,2.65,5.3));+#1873 = VECTOR('',#1874,1.);+#1874 = DIRECTION('',(0.,0.,-1.));+#1875 = PCURVE('',#1831,#1876);+#1876 = DEFINITIONAL_REPRESENTATION('',(#1877),#1881);+#1877 = LINE('',#1878,#1879);+#1878 = CARTESIAN_POINT('',(3.5,-0.6));+#1879 = VECTOR('',#1880,1.);+#1880 = DIRECTION('',(-1.,0.));+#1881 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1882 = PCURVE('',#1638,#1883);+#1883 = DEFINITIONAL_REPRESENTATION('',(#1884),#1888);+#1884 = LINE('',#1885,#1886);+#1885 = CARTESIAN_POINT('',(3.5,3.));+#1886 = VECTOR('',#1887,1.);+#1887 = DIRECTION('',(-1.,0.));+#1888 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1889 = ORIENTED_EDGE('',*,*,#1890,.F.);+#1890 = EDGE_CURVE('',#1891,#1868,#1893,.T.);+#1891 = VERTEX_POINT('',#1892);+#1892 = CARTESIAN_POINT('',(1.5,2.05,5.3));+#1893 = SURFACE_CURVE('',#1894,(#1898,#1905),.PCURVE_S1.);+#1894 = LINE('',#1895,#1896);+#1895 = CARTESIAN_POINT('',(1.5,2.05,5.3));+#1896 = VECTOR('',#1897,1.);+#1897 = DIRECTION('',(0.,1.,0.));+#1898 = PCURVE('',#1831,#1899);+#1899 = DEFINITIONAL_REPRESENTATION('',(#1900),#1904);+#1900 = LINE('',#1901,#1902);+#1901 = CARTESIAN_POINT('',(3.5,0.));+#1902 = VECTOR('',#1903,1.);+#1903 = DIRECTION('',(0.,-1.));+#1904 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1905 = PCURVE('',#1666,#1906);+#1906 = DEFINITIONAL_REPRESENTATION('',(#1907),#1911);+#1907 = LINE('',#1908,#1909);+#1908 = CARTESIAN_POINT('',(3.,0.));+#1909 = VECTOR('',#1910,1.);+#1910 = DIRECTION('',(0.,1.));+#1911 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1912 = ORIENTED_EDGE('',*,*,#1913,.F.);+#1913 = EDGE_CURVE('',#1914,#1891,#1916,.T.);+#1914 = VERTEX_POINT('',#1915);+#1915 = CARTESIAN_POINT('',(1.5,2.05,2.2));+#1916 = SURFACE_CURVE('',#1917,(#1921,#1928),.PCURVE_S1.);+#1917 = LINE('',#1918,#1919);+#1918 = CARTESIAN_POINT('',(1.5,2.05,1.8));+#1919 = VECTOR('',#1920,1.);+#1920 = DIRECTION('',(0.,0.,1.));+#1921 = PCURVE('',#1831,#1922);+#1922 = DEFINITIONAL_REPRESENTATION('',(#1923),#1927);+#1923 = LINE('',#1924,#1925);+#1924 = CARTESIAN_POINT('',(0.,0.));+#1925 = VECTOR('',#1926,1.);+#1926 = DIRECTION('',(1.,0.));+#1927 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1928 = PCURVE('',#1694,#1929);+#1929 = DEFINITIONAL_REPRESENTATION('',(#1930),#1934);+#1930 = LINE('',#1931,#1932);+#1931 = CARTESIAN_POINT('',(0.,3.));+#1932 = VECTOR('',#1933,1.);+#1933 = DIRECTION('',(1.,0.));+#1934 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1935 = ORIENTED_EDGE('',*,*,#1936,.F.);+#1936 = EDGE_CURVE('',#1937,#1914,#1939,.T.);+#1937 = VERTEX_POINT('',#1938);+#1938 = CARTESIAN_POINT('',(1.5,1.15,2.2));+#1939 = SURFACE_CURVE('',#1940,(#1944,#1951),.PCURVE_S1.);+#1940 = LINE('',#1941,#1942);+#1941 = CARTESIAN_POINT('',(1.5,1.15,2.2));+#1942 = VECTOR('',#1943,1.);+#1943 = DIRECTION('',(0.,1.,0.));+#1944 = PCURVE('',#1831,#1945);+#1945 = DEFINITIONAL_REPRESENTATION('',(#1946),#1950);+#1946 = LINE('',#1947,#1948);+#1947 = CARTESIAN_POINT('',(0.4,0.9));+#1948 = VECTOR('',#1949,1.);+#1949 = DIRECTION('',(0.,-1.));+#1950 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1951 = PCURVE('',#1722,#1952);+#1952 = DEFINITIONAL_REPRESENTATION('',(#1953),#1957);+#1953 = LINE('',#1954,#1955);+#1954 = CARTESIAN_POINT('',(3.,0.));+#1955 = VECTOR('',#1956,1.);+#1956 = DIRECTION('',(0.,1.));+#1957 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1958 = ORIENTED_EDGE('',*,*,#1959,.F.);+#1959 = EDGE_CURVE('',#1793,#1937,#1960,.T.);+#1960 = SURFACE_CURVE('',#1961,(#1965,#1972),.PCURVE_S1.);+#1961 = LINE('',#1962,#1963);+#1962 = CARTESIAN_POINT('',(1.5,1.15,1.8));+#1963 = VECTOR('',#1964,1.);+#1964 = DIRECTION('',(0.,0.,1.));+#1965 = PCURVE('',#1831,#1966);+#1966 = DEFINITIONAL_REPRESENTATION('',(#1967),#1971);+#1967 = LINE('',#1968,#1969);+#1968 = CARTESIAN_POINT('',(0.,0.9));+#1969 = VECTOR('',#1970,1.);+#1970 = DIRECTION('',(1.,0.));+#1971 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1972 = PCURVE('',#1750,#1973);+#1973 = DEFINITIONAL_REPRESENTATION('',(#1974),#1978);+#1974 = LINE('',#1975,#1976);+#1975 = CARTESIAN_POINT('',(0.,3.));+#1976 = VECTOR('',#1977,1.);+#1977 = DIRECTION('',(1.,0.));+#1978 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1979 = ORIENTED_EDGE('',*,*,#1815,.F.);+#1980 = ADVANCED_FACE('',(#1981),#1750,.F.);+#1981 = FACE_BOUND('',#1982,.F.);+#1982 = EDGE_LOOP('',(#1983,#1984,#1985,#2006));+#1983 = ORIENTED_EDGE('',*,*,#1792,.F.);+#1984 = ORIENTED_EDGE('',*,*,#1734,.T.);+#1985 = ORIENTED_EDGE('',*,*,#1986,.T.);+#1986 = EDGE_CURVE('',#1707,#1937,#1987,.T.);+#1987 = SURFACE_CURVE('',#1988,(#1992,#1999),.PCURVE_S1.);+#1988 = LINE('',#1989,#1990);+#1989 = CARTESIAN_POINT('',(-1.5,1.15,2.2));+#1990 = VECTOR('',#1991,1.);+#1991 = DIRECTION('',(1.,0.,0.));+#1992 = PCURVE('',#1750,#1993);+#1993 = DEFINITIONAL_REPRESENTATION('',(#1994),#1998);+#1994 = LINE('',#1995,#1996);+#1995 = CARTESIAN_POINT('',(0.4,0.));+#1996 = VECTOR('',#1997,1.);+#1997 = DIRECTION('',(0.,1.));+#1998 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#1999 = PCURVE('',#1722,#2000);+#2000 = DEFINITIONAL_REPRESENTATION('',(#2001),#2005);+#2001 = LINE('',#2002,#2003);+#2002 = CARTESIAN_POINT('',(0.,0.));+#2003 = VECTOR('',#2004,1.);+#2004 = DIRECTION('',(1.,0.));+#2005 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#2006 = ORIENTED_EDGE('',*,*,#1959,.F.);+#2007 = ADVANCED_FACE('',(#2008),#1722,.T.);+#2008 = FACE_BOUND('',#2009,.T.);+#2009 = EDGE_LOOP('',(#2010,#2011,#2012,#2013));+#2010 = ORIENTED_EDGE('',*,*,#1706,.F.);+#2011 = ORIENTED_EDGE('',*,*,#1986,.T.);+#2012 = ORIENTED_EDGE('',*,*,#1936,.T.);+#2013 = ORIENTED_EDGE('',*,*,#2014,.F.);+#2014 = EDGE_CURVE('',#1679,#1914,#2015,.T.);+#2015 = SURFACE_CURVE('',#2016,(#2020,#2026),.PCURVE_S1.);+#2016 = LINE('',#2017,#2018);+#2017 = CARTESIAN_POINT('',(-1.5,2.05,2.2));+#2018 = VECTOR('',#2019,1.);+#2019 = DIRECTION('',(1.,0.,0.));+#2020 = PCURVE('',#1722,#2021);+#2021 = DEFINITIONAL_REPRESENTATION('',(#2022),#2025);+#2022 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2023,#2024),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.,3.),.PIECEWISE_BEZIER_KNOTS.);+#2023 = CARTESIAN_POINT('',(0.,0.9));+#2024 = CARTESIAN_POINT('',(3.,0.9));+#2025 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#2026 = PCURVE('',#1694,#2027);+#2027 = DEFINITIONAL_REPRESENTATION('',(#2028),#2031);+#2028 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2029,#2030),.UNSPECIFIED.,.F.,+  .F.,(2,2),(0.,3.),.PIECEWISE_BEZIER_KNOTS.);+#2029 = CARTESIAN_POINT('',(0.4,0.));+#2030 = CARTESIAN_POINT('',(0.4,3.));+#2031 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#2032 = ADVANCED_FACE('',(#2033),#1694,.F.);+#2033 = FACE_BOUND('',#2034,.F.);+#2034 = EDGE_LOOP('',(#2035,#2036,#2037,#2038));+#2035 = ORIENTED_EDGE('',*,*,#1913,.F.);+#2036 = ORIENTED_EDGE('',*,*,#2014,.F.);+#2037 = ORIENTED_EDGE('',*,*,#1678,.T.);+#2038 = ORIENTED_EDGE('',*,*,#2039,.T.);+#2039 = EDGE_CURVE('',#1651,#1891,#2040,.T.);+#2040 = SURFACE_CURVE('',#2041,(#2045,#2052),.PCURVE_S1.);+#2041 = LINE('',#2042,#2043);+#2042 = CARTESIAN_POINT('',(-1.5,2.05,5.3));+#2043 = VECTOR('',#2044,1.);+#2044 = DIRECTION('',(1.,0.,0.));+#2045 = PCURVE('',#1694,#2046);+#2046 = DEFINITIONAL_REPRESENTATION('',(#2047),#2051);+#2047 = LINE('',#2048,#2049);+#2048 = CARTESIAN_POINT('',(3.5,0.));+#2049 = VECTOR('',#2050,1.);+#2050 = DIRECTION('',(0.,1.));+#2051 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#2052 = PCURVE('',#1666,#2053);+#2053 = DEFINITIONAL_REPRESENTATION('',(#2054),#2058);+#2054 = LINE('',#2055,#2056);+#2055 = CARTESIAN_POINT('',(0.,0.));+#2056 = VECTOR('',#2057,1.);+#2057 = DIRECTION('',(1.,0.));+#2058 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#2059 = ADVANCED_FACE('',(#2060),#1666,.T.);+#2060 = FACE_BOUND('',#2061,.T.);+#2061 = EDGE_LOOP('',(#2062,#2063,#2064,#2065));+#2062 = ORIENTED_EDGE('',*,*,#1650,.F.);+#2063 = ORIENTED_EDGE('',*,*,#2039,.T.);+#2064 = ORIENTED_EDGE('',*,*,#1890,.T.);+#2065 = ORIENTED_EDGE('',*,*,#2066,.F.);+#2066 = EDGE_CURVE('',#1616,#1868,#2067,.T.);+#2067 = SURFACE_CURVE('',#2068,(#2072,#2079),.PCURVE_S1.);+#2068 = LINE('',#2069,#2070);+#2069 = CARTESIAN_POINT('',(-1.5,2.65,5.3));+#2070 = VECTOR('',#2071,1.);+#2071 = DIRECTION('',(1.,0.,0.));+#2072 = PCURVE('',#1666,#2073);+#2073 = DEFINITIONAL_REPRESENTATION('',(#2074),#2078);+#2074 = LINE('',#2075,#2076);+#2075 = CARTESIAN_POINT('',(0.,0.6));+#2076 = VECTOR('',#2077,1.);+#2077 = DIRECTION('',(1.,0.));+#2078 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#2079 = PCURVE('',#1638,#2080);+#2080 = DEFINITIONAL_REPRESENTATION('',(#2081),#2085);+#2081 = LINE('',#2082,#2083);+#2082 = CARTESIAN_POINT('',(3.5,0.));+#2083 = VECTOR('',#2084,1.);+#2084 = DIRECTION('',(0.,1.));+#2085 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#2086 = ADVANCED_FACE('',(#2087),#1638,.T.);+#2087 = FACE_BOUND('',#2088,.T.);+#2088 = EDGE_LOOP('',(#2089,#2090,#2091,#2092));+#2089 = ORIENTED_EDGE('',*,*,#1843,.F.);+#2090 = ORIENTED_EDGE('',*,*,#1615,.F.);+#2091 = ORIENTED_EDGE('',*,*,#2066,.T.);+#2092 = ORIENTED_EDGE('',*,*,#1867,.T.);+#2093 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2097)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#2094,#2095,#2096)) REPRESENTATION_CONTEXT+('Context #1','3D Context with UNIT and UNCERTAINTY') );+#2094 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#2095 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#2096 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#2097 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#2094,+  'distance_accuracy_value','confusion accuracy');+#2098 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#2099,#2101);+#2099 = ( REPRESENTATION_RELATIONSHIP('','',#1608,#32) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#2100) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#2100 = ITEM_DEFINED_TRANSFORMATION('','',#11,#37);+#2101 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',+  #2102);+#2102 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','Latch_Illustrative','',#27,+  #1603,$);+#2103 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#1605));+#2104 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+    #2105),#1590);+#2105 = STYLED_ITEM('color',(#2106),#60);+#2106 = PRESENTATION_STYLE_ASSIGNMENT((#2107));+#2107 = SURFACE_STYLE_USAGE(.BOTH.,#2108);+#2108 = SURFACE_SIDE_STYLE('',(#2109));+#2109 = SURFACE_STYLE_FILL_AREA(#2110);+#2110 = FILL_AREA_STYLE('',(#2111));+#2111 = FILL_AREA_STYLE_COLOUR('',#2112);+#2112 = COLOUR_RGB('',0.859999984366,0.850000012718,0.789999995908);+#2113 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+    #2114),#2093);+#2114 = STYLED_ITEM('color',(#2115),#1609);+#2115 = PRESENTATION_STYLE_ASSIGNMENT((#2116));+#2116 = SURFACE_STYLE_USAGE(.BOTH.,#2117);+#2117 = SURFACE_SIDE_STYLE('',(#2118));+#2118 = SURFACE_STYLE_FILL_AREA(#2119);+#2119 = FILL_AREA_STYLE('',(#2120));+#2120 = FILL_AREA_STYLE_COLOUR('',#2112);+ENDSEC;+END-ISO-10303-21;
hero.pngadded
⋯ 1 unchanged line ⋯
package.jsonadded+83
@@ -0,0 +1,83 @@+{+  "slug": "ghr-04v-s",+  "type": "hardware",+  "kind": "component",+  "version": "0.1.0",+  "title": "JST GHR-04V-S four-position off-board cable housing",+  "description": "JST GH 1.25 mm, four-position off-board cable housing. Native library assets with explicit nominal geometry provenance.",+  "brief": "Four-position GH off-board cable housing; physical mating and crimp qualification pending.",+  "license": "MIT",+  "tags": [+    "JST",+    "GH",+    "connector",+    "1.25mm"+  ],+  "hero": {+    "type": "image",+    "path": "hero.png"+  },+  "source": {+    "name": "JST",+    "url": "https://www.jst-mfg.com/product/pdf/eng/eGH.pdf"+  },+  "component": {+    "mpn": "GHR-04V-S",+    "manufacturer": "JST",+    "package": "keyed cable housing",+    "pin_count": 4,+    "category": "Connectors",+    "datasheet": "https://www.jst-mfg.com/product/pdf/eng/eGH.pdf",+    "wiki_url": "https://wiki.adom.inc/adom/ghr-04v-s",+    "parts": {+      "symbol": "ghr-04v-s.kicad_sym",+      "footprint": "ghr-04v-s.kicad_mod",+      "step": "ghr-04v-s.step",+      "model_3d": "ghr-04v-s.glb",+      "model_3d_plain": "ghr-04v-s.glb",+      "model_3d_step": "ghr-04v-s.step"+    },+    "distributor_links": {+      "mouser": "306-GHR-04V-S"+    },+    "pins": [+      {+        "number": "1",+        "name": "1",+        "type": "passive",+        "description": "GH contact position; verify mating face and polarity"+      },+      {+        "number": "2",+        "name": "2",+        "type": "passive",+        "description": "GH contact position; verify mating face and polarity"+      },+      {+        "number": "3",+        "name": "3",+        "type": "passive",+        "description": "GH contact position; verify mating face and polarity"+      },+      {+        "number": "4",+        "name": "4",+        "type": "passive",+        "description": "GH contact position; verify mating face and polarity"+      }+    ],+    "assetRoles": {+      "symbol": "Four passive contact positions",+      "footprint": "Off-board mechanical envelope; zero electrical pads"+    },+    "qualification": {+      "status": "provisional",+      "model": "Original simplified drawing-led envelope; not manufacturer CAD",+      "matingAndCrimp": "Not qualified"+    }+  },+  "discovery_triggers": [+    "GHR-04V-S",+    "JST GH four pin off-board cable housing"+  ]+}
provenance.jsonadded+21
@@ -0,0 +1,21 @@+{+  "classification": "Original simplified drawing-led envelope; not manufacturer CAD",+  "dimensionsMm": {+    "width": 6.25,+    "overallDepth": 4.15,+    "height": 5.7,+    "pitch": 1.25+  },+  "limits": [+    "Socket passages and latch are illustrative, not drawing-controlled mating/retention geometry.",+    "Empty housing contains no conductors; order contacts separately."+  ],+  "source": "https://www.jst-mfg.com/product/pdf/eng/eGH.pdf",+  "datasheetPages": [+    2,+    3+  ],+  "drawingRevision": "Retrieved2026-10-11; document front matter has no revision identifier",+  "visualReview": "pending",+  "physicalQualification": false+}
symbol.htmladded+1956
@@ -0,0 +1,1956 @@+<!doctype html><html><head><meta charset="utf-8">+<title>GHR-04V-S - adom-symbol</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+@font-face{font-family:'Satoshi';font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}@font-face{font-family:'Satoshi';font-weight:500;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAGP8AA8AAAABIBQAAGOaAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGnobgYNwHKAiBmAAiE4RCAqCxyCB+28Lh3YAATYCJAOPaAQgBZJXB5xgG2X1B9g2DW4eaidQKePr1ia2YhybErcNiDr3xzacFcHGAVDA/6Jn//9nJZUxtl3dLyAQiFmQKcFFcSbkctWEdDWqccq7EZHRKLqaoc/VheFl3igRlDXhlDyCxcOUTMlIcDe7ubhSPMP6Ot9vBDWKQCDYVyC/T0JKb16LUjHzg5rfSZ9l6ngnGosl0i03BG0TiyU1uQTRqMv82j/8Ldn9MG17+/kBCrSpNqE75X/C4oliiGRpv7mH28OWDrIKjF0eI2olp16iaKwqsnqADwAVoCN6soCewAGB+vevXj2rkw+sVj0rQsU/z8/tz30LRo3B5qgxR4hj4IBR+Rki0R9t9hGQT45UQJtyVEi0hQWoxMzAolIlRMFIQLQZ4uf0j1JBtEgSPCmiIUAEYkTsRfRFiLyEBBLMG6yGFrEa0lEqo+Yzo521/X9AlU466UbnHdSmjAMWYz0D/w+/H7/WPvdLiNAKiWiaPWkP9AYzj/6fP2CduY8sjCCBLEijBdbl7wA8m3ED87+mBgCuV+AwK3EEveu2n7ZGJcZM6BLbqQlfCuLzf3g7/ZfW1/DiK4i7DyVpJ0j/r2C8fzjyElfSnmH7uv93aj8jWQszus0CUgqIF2RfJ4qbtE6r7ct5p+X8yH1/dvsHAEkJtwAg2Y/xG/93av4gJnadtyZy5nRusX+2LKuRJVf6Oj2nE8ACuAgpgAuWsG7Aom66w28iFIQEyWwUugQI+Pc/Vcvqmv6a0kVReXp1DpKdaWdhQ4KDdAoXtEOch9II3EBTeLMiD/pglIglF3fn/3Pv3vnvjr9WY2scUYZRGFOAAaZRnZmsdCjgX7fWMt/ufSfZ28c8lQgUs/+psGx0O56FAVelgChYsLsHTEQyTSCCtb94P9sI10hVU5C/P+BI8Qsl0xJtupY1bRkzLFmas2IOaGT0s7B7CSxXoCtgOvh7Va0WnyAsOc0Yq9vRhqSZ5cXQk3burOuuS3F68P0PgsAnRAogJVGUlrJW3rVMy0FykjaBBMUFgzSkSPHMTSFpvSmG8lIORXlz1ZUur6vvqlzUzVVXtud/3eKOC7t5KVrwAB9gJNEC7XzhxS7bicIHGOBqE3zP79fq3n/W5A1+4w+lgr9BNKmUSNscKZnSKldrpe0O3gYAHJEwJBSgkHGJm5mDX3iY2yeau9Be8JFtkCygEQtPG0JS0TEqFeEihI6xEVKE56G1StvvcCZh4VIJyxYuYWlne+fgbx1RZ4Lu6ijpcAdQsoyQMRbZod87Lekq6XBhYBA/Cm6/JM/z6nxOKw1KmtHFO/ZuWkUgYaUDGMjyAigLfK7G65vA92IPMpRQ7FaWEHLqbvh9vdhd9zeFDqXIYyileBJyXvCCBBER8X7fZblqAgFqVEjNgGZYOX+877BNe8BKLROj4mgQ7RGYPj5LjrSbpFvyMn418nEdMmfFYru1P5ZdSlhhKOwEMu4yvlcLAXz4SNsN+PzBbbv7q/uQ6wQEzICbAQoFjgOEjw/HUSgkTBiccFEQISGcaDsgiRLhJEUPxcbacFmnI5Q0aWFJ1xhKk6awNJuHstAPOHiggAAjwfbCTnwNYyBf+0MaGPCA/4cBYYx09LvFYPyYHVubmn/CvuWfKYb8a8WIvvXwb9UDI7I3ds2v1UD+sdKBdlFR1FghIsfhQ+HeJMGGGZ+fgPoL9wVJDBjJ4J9T1xK0twJoZ+9uwClQfP96url7VrVv3G/vY9DUs7A8fuI7vQNEtKZTALoC09VCagAGhk1BD2IHiIx4AnbhTbDBiQrUGUzClq80ZAUUBJTC1TgCeBLN3IbLp+4m7ld4su3DSATG8XL13xr+jEUz/ia2DJLY6zRGBMhibaYD8pgrtuQ560ol+jqaAwMhlFXncJNg/Z0X3s+Mk+SwyIXLWctjPM1z9yzmVTPd5gN28QDHgCc5A/iec+N3/lUhvGoVoijcZQgXEBuYK2IQW4pl0ElS9JUBBSEKvnzyw40eo6ag3TZFImV5XKJKuKsnmDdIo1pce1HX/bv37SP1mCHDz/QC7Gt9/KzqR/10a6J/rGB0wEzHn2qOCWxqelDrYFFek6fh1U22KcQV93EGU3fA39wZSNz2eaj8AqmsQCKBDYRyKpCkeY5jiumeKvtKZwv3KrAFDlm57jbblL3npDjMnIS9OoJL6UZSTYhdGAqwyes8yli/NZYQt8hEheVSSVdpDvIAgtjlBNaR1qZ5JOV0vg5kRzImrIMJw8qvrvJIhoMvBPtWqurbE5eCv3n4ZoMX/8KAJXmLHK8jkIaXyGbkoHvmLnBtirZJte8/0/woKDp4VPFHlHoU0r+QvJbXEF5s39KxA/UY0ZbidqbtbfNlOt5Y64U6ml2fUV+9Ddhe38LEW93uJ/GamgRjrvVzuN5TU6rN0IqkKGse+MCFNstEQFK/ssiwX73i1W2KJ2jZv8FjqqxnPar6XtrQa7lsX/YY3R4BOY/3IvA2EqJxWFc25iuk2r76OirNZfVD1txGeW9OHhyvF3KsLn3z4rPoQX5C+zuyloJ6gS9otohjZya3x9MIvVxQ/SLKcS2xdBs1/ihcSerHmq7y9M5jOMZ51xjclExZ2rAb+X9rMQL2s0RhzQadI2dKXLlT42kDlk386UqTRl+pUgZq1DB0zDE877xjFCCwL2vWmdSsJdPaXMkKhoiPD1wlDCIkhEmUCBcba8NnoR/UaAJPAs8DL0DqgZeAl4FXgLeAs3DuAu8DnwJzwGfAN8C3wM/An8BfIEB6AJkAZGGQ5aEwQ9GKEE7EGITFNHysI8QhQpwjxjNC/IJcGnJ6/SEP1h9ycf0h65EgZ5fdg+sK34euhsdmgCDfJ+HMEw7ofqK3Ie7tUyyLQgm9DSR7BKh3vmVP/RkJ+GMEt62F17aOIF2r/oj42qP+Zf1HeJAD27G2qWmvRzhSLuBlQOdMsr/+WNJKZ3mk/FnpVcbqbs2szR8Te32k4TXKltnydOxtSX+iv9hf73ta7/7XURSuERAhIYqiOTLn8ER4O7JLQgbqIUYPZvAeP+nLmP8MGWdFupIjBUzgXqYtwUoSOere/qGzKSNYQiWo6OVBqLW3zPDBZMoOk2iB8P6UmGTUSxNH9UHrn9pnjQKKFwjkIR7k+9gl8c4c1oY072tJwlvciWGecXo340uRgTQuLr++h9pj9WvJSguvCXfvXcbO0MvClY4wbQAFXUKYEL+PuD2KuBfKzJElgLfIUieJDYw9I2XkAQIdP8N8uy+cr/1fBW7mywWZcxyntZyDlZCX86aE6GHv6d6C77w/JEG65GGHEfvL8ZwUfZu/rbg2Bz4Jay1s8T07MMHiCcLSNwST41qnIMLchx0vsRCkwuri1vMmxaklOVr6qawstZyWb6Qgv7wQU4TD9D2ucHDDQ7nKVO9aHai3xkjxIR/xyWdffPPdDz/96sv0KVkqahpaOvpiUDMyMbOwsnNwcnEbKuNgskyzZs1ngSxiybIVq9as27Rt175Dx06duXDlpu9hU8E6NQ0tHX2xQ5uTm7f4jEKgZUvdjj0Hjr48gBeEQvqFUyTZSfIqBXXFlJ9WMQrrwUMkEoUO0w9L7iIP8pFP+fLtR0tbR1dP38DQqBv/Td5xuvhyayg5O781mj8x5Jjus+ywKcj/D3YQYqvQt+r8roEDxcboZhipAI5tHGrbEp0IdZ8P+xRVeS5z37fE9CtWZSszuaNGYvALIR7qaBbVmKrzHY5x8folhkr5ylJOKlKlqldXm6slNXq0QafzJpn3OL4JCImISYoU+eCjTz774ltflk+bPCpqGlo6egZGJmYW1mbjs0cccHJxGyrDpBGjxg5quU3hpqvMhFlz5ssCsmjJshWr1qxnM2zbte/QsdOc1e3c0IVcunLtxm08tN98f6P7v0w5V0FKDb00oqWjP2zUMjNrs8N5TnHzFl80BFq2yXbtO3S8rf8bUlvRYrISkppn8LK8csiXAqr4wrJ5lagchlJYl8GNKdS8Hg1BCCHE4/F4PB5vZSPjMjFsatbNe6Dc1ih/DlZi6CCKRLITfnI6Dagk0gLz1VsbFouD5C0CT0Iw0SiB3BctC0kzj6KYh0JBhlIFhEH3EMLSQnQGqLgD+aGiLlkGl7TzFaSs6KEZprlz5DBvGjQNOteAkSnkY/QBkmdcOD4cqMelZ7EgliqVZDeKp+3cdNuljw5/9oCtgIiESA2gBCLRJHIDdp3vvvgvKJtEdrSsDENVSDfiOG6X+6ygYMvd1cB2NfCqkoDkITDhKJuWZZebyb5bHxlH+TXYr6gKtFwFdEJa/9kC2xZSeQkaIWGt5bbgL4+68oqMw+OPIpQ5kUS+CPQ7rxddfClKbgdkDiWehFGCR6soRzvOYxOnyitAtTKJHDA5TlLVaqjt3FJhO3XYLKQxBrMokAL92BquOkvkBipv0IaN2vfjr5PllIzMrEWIJ5I6+V+WUaZEPqmQUCSEAgx3R1Hd874KXwSERMQkkXUyJTPd3CQfGSJoPyAshBcpUUVxyWSUHKkQrA5BqDjM8Bf5hyw4LJ0SLVFo0Dy+tKYfoVlhJCZuGlmDkuDEaJ6aqkahUCnazVE5TKpun/rQ6D0+ASERMUlkPeMmTZkxN/fkM58iBOjFgLJgTApJC6eITHJKpYLBQwiJQofpYHHhCWDelPSoa2JTs25+mo+qhiSCtg4349BFDJcUXJM917YkBSnQk3YsjR7SM+2CHyXcj+skcdzgGq+UUEqVpXxVkcpUVaoZta1Oql4aNL6xSaU1LiqnQCAQCAQripKkoqahpaMvBjeMTMwsrM1GsUcccHJxGyrDlBGjxsq41OR8SmCaNINZc+az2M+yrFq3aduufYeOnZZzyqVrt81D+K38pfu/TFnU8CYtfTFClZm12KHJyc1btql27Tt0XINaWVFiqhJS84ygLFku5OdFN5WZ8E5IVVov0o6GGrgofln8473OVfFsxD3026O7Wpm2dXT19A0MjYwz6WWKWTf/Gt758lYn1dhuXPVR0xSOyuBTl4WpESApnLz1S92Vww81thsMFgZfSogRSfXGYzUOjWs8JcpVtmrOQNWexS11wxcBIRExSVEiKmoaWjr6YqAZmZhZWNk5OLm4DbUpkelJZtKsOfNZxLJV6zZt27WfQxw7de7StdvbPN6kPpnW9MUOXU5u3nlGVBaVQz7FWvlgg98Ag0baGtH2sM+jtbR1dPX0DQyNjE1Mzbp5T0aWBoRQSfUAsZud/Ar7Z2JFUigNc+1O2FKEHwSERMQkkdWZkplubpJPEiJoPyAt5LpIiYaLS5aMXblUBAsBKkznScGmnxpV0rPuqahKNW7jG7YCpOUqtb+xFLCfSzAuiqs7uYx2woFjUrOwYi7tk2RXn/cf+Rb37fRIqKUwX45iRet1OhAnlkRL9ZusTA6bPG4caZ0YDrh4Y7EajCAwAiOmMzWs2md7JFlzPABTGDD1rMqrp703wDcBIRExSZGKffDRJ5998a0oMSpqGlo6egZGJmYW1mYj2OGIEy5uQ2WYMGLU2LtGEwPMADPAxJgYE2NiDMMwDMMwMSbGxJgY8xtBeIQYE2NijFjBOrdBlx3OciQnFzcP7zCqFD8bkg2gNrM9y67tO3S8CQpHlsSQkJpnDMpi5VK+FMQVxxKn3bNWZcNngyZDx7Ac7DVzQk49B77t3LSLfRrddqnuSq7duO3fiXvAesxT7dlLXpU3ec+H8okv337SirTR0dXTNzA0MjYxNTMvi41tadWtv4Vf6A3YokDqUsWXGxjfe7cpvuQ8toV3t0JckryeM8FVuF/yXAlghGJaCVL+pFLrEjluug6NaZ1cjpKezZsAAAA+DmZLAAAAAACwchlmjBg1dqDbeL9ZEwAAAAAAAABM4Ry5SJeuXLtxu549AQBAhV4Hra51yjAMc9x0G++aL0GFDj+gu7A9uh1X97rmOicFLMuyLByFBtkHswAAAAAAAAAfDs25dCHFLepN7xJ8KTYF7+llrWsbo+TXrm4ZUYCO2XY17PPdcLyqtfqFjcs7+1tYA8Itc/VIVFxDmonFUBkPCbaRcVsKhUYgeg4WyzTEDasnqBrTQWtZnc80xAiVAyuqyFjKhBgKp4vUy2eio+ro6tzAxI2sXsyLaiVuh71DXjWwcfQc9Gf3PBQh+R05EaUdZrqwsJLf7i4ERT57VAqzcMfGYyXZnaE296ozC8ssoJ+maZqmHwu9V+/Vj6V+MKVdmZu3+IQh0BqY1o6LIpSoTXHJdQe3V+/Vq5lKsAgRqDAKV4fXy4HfO1d1dI9WIpFIaqIK0aCsGmZu0xCpK13b+1ZIHHIomWhLXedaODUwNzgKV3jKVQ7d97wmbipqhhaVkvUYGJmYWWKFnYOTi9tQGQ/qMMdYtmrdpm279h3mGKd9D5camrT079sxD/ko/nhINhJqcydQ5WbRQm4KI5Lie+imhzykWsPgIRKJQhfGTWy4TnhXUO12UhFP9lC3p2h7DW/eS4upraOrp29gaGRcFkDb0qpbH8oVc3/cmvDeaW62ljEQ9DNaRa7Yz5PcUhc4WSgTUcHYCFSY6rJXIYosuPPHiH/sLToB4R+bKXT6XauR/Whk3cEHvbQa5qJoSj0qR9L4aIpsZ/zwpN+vPl0IC1aLQovCJ4tkYmsSltquXVs1PEQiUegwvcss5c4o8vlAbhyZzpCjvHEVlooRaCXG/9OV6nSTNtWmczYTdXE2xTAMwzDMamLcYY7WzHhnTlMLhd6Cm3etHdqKvnVVZienn7Np3ezVezVt1elFtMVGEI0wkZJ8GZjVqMpzJTJLATJCIWlQ1m3p+IvplAaNml75DHklm0YtCm5PmhKzhBQcicZWYUo6bpOSHBBXL2Q1hqjXeqdKKb3KpVd1Wdn5qmkYuf+0rrBut55MvehLP0MzyUJlo2xFaDs7slsOCuyknEXowpWbcldgD568ePPRfS1XIxBJ5MvNkN3PrQqnC76c6RILfnZIfK3a7sB0HpSfRHdo7S2E+9UYgppod32Xj+YEUV205KNhsOS1K7j9J7hOlYXJqiuV2piG37sy+3GUzshQHrwGPvffU/+Wps5/0XCKMCRSiUwKSmxshMS+EU96WgbWAaMR3H0r6PYRSdIwskz9X7cEcpiINHDQraJvOR5bGhw50efME483AQuBAjmLEMFFlCiukiVzs0cmd3nybFSgxCal2vxHrMtePaaUmTbtlFdeOW3WrDPeeKPRO581mTOn1YJFbb777oJffrnojz8uWbLkcggZdCUe6961gavFRCi3HglV24Bi1fJGqVJJoXTppFGTZjLonHPIqMUVcuiOO5R16KDikUdUderE0KOXmmHDlntuEssL82mFLfmDECow95SllxVI40P83UvI7PApUsZ3c1xu8W339ekJ6NAGEsToEPnGiYLo08qYkOwD6PsLTGTArdh/PPtAgpSXrg1f/yaDXk3YJm9yQ+bK0z7y5V17dc4HzWsbgG9Oa30gebMvYq8haS7vEDCQLgN6pRelBXxVYeciwyNIYtfsL5XzxIwGQDZnemTqzPG21aGJIkqgWLOhJKcvab/47H8vDUB8IMN//Mu/FGYUZ0xJ2LicAakKOKEq7nYYozzr0vG3tvqWjJi33UMDb21C6V4dsYsXz2jVgl4m8dsjSy2R6Lxa8VT+9k44By7GISAbBpPldzYoyZosL/SY+q2I5CnCJ6zv7sXn000PuSP39G6Z0cyitOihk1SqUGaNeqVIq94HRLm4rBIlxeQJoth1/meAPKz7J5fMu/ePi0lE9JTbQ8pLomlZmxruWcLTGDBUnbea1RF74JgrEOVkU/JYHWG9/e0b4JOo/CiHtWJm2d01W2sZZ5de8w1/9kVb5Y/++Kf3L15VtA9X3kMAcg5IDy1idtuHhz57/leAjE+3wCKfbfyCr/y2FcZRRceGUixCRH4NQDcAkCkt8vTzfICwH7CT/901TAUEbKOEN8NwB0yTCSBY8UhwZUHxikLs+iNbPUgOyKxG/Zy3r5pAwc4APAbVOLpEjETitJOw8uKSycx+xBR+nvvSsg/r65cIgay1dNLJxecJxC8Hta4uWVWkvU0CGY8okqsU/yAg978/bywl4KO67r4RrVj94QZYkLNS20ZqOIqewP5ffQAAfGJukPM0umxnd340wrvPF/OvYX1o7anvCUARalDEKsIMajxKYyCj2Xqw3ud7aDgJxlcWhkPHovxkgVab9FyfVFV1gS7D8C4fpGIgkbiYPACHpUdsshESWiedgrqjSpfhy+KQfMKJnDWez9QB8tQ3lTDTLQmNsFAr3ed+ByCw4MQCyxuzV8JOnj2we0GtcH8flP5ujjUHYyOvtwcKIbaieO0XSdMMnWVVE8x6TLbqHC7/VWxJblZuUPUtwGWR+ozP0CgxVCKcu9hYkKu7bICasy7r5CLh5Q6imakTq/WVx1bkFlQ+qjjjjjVYbcVVdjAV/LSfS67d84vBltwDtSqSl0VF9xMdkTbIjRtSDTW3g4ubHd3qyzoqYfLg8icROB+Wg6DwIn/uKsg+6noBDLuI/RTowzEVWHFDMydI//pTPpGxHKoA7ZXBOmUvJccbcUVgRWKzGQOyJdbc4GyjsylYHnyN4DB6DIfnbSnEAYjw9qeAxDm0SnPqeRSRYmfBZ6z1XP2eym/l3jhg6PoLNg9EV7W2n5CCFB3eUI5F/SLWCAJtdMML9TWpdo6tH4DkFJmyTK2PhyI1oI0KUpR/bwN62KU48u7qSYhLHhSgHhRQprSv69DZm/+VCSrHq45YVqZ2ZqPKx2mDGzmWlHeV4J2uj/CK28nIEf8JWUSUWFZdEBHrqikRTWpGLm5N8h8RMseM0YJlqUDpqLLL5VK9RmmrEgimGz0VZxJgOfKN/7Y+JSckKk81gjwG0nFQJVwAiK8PUjUJN9q1lqlPwmFaqT4NPKBdw7vnwgPQrs4YM/6usiqmdop67ZF/wQmdRat1caYhPYmi/Esb0MMuxZEXFw01IXIQ8K/aVIq2dWjrzZ8/Uuog0qNOVJlZiypOS7ieo+roh3lFIEpEuTCl6dG2gjiX4xUFN2mi1z8viq8q1V+bravLrW/IY04gyppcrDONRA8Gqb6M8P4Q2ZL0RYjAEyWKkWTJjO2VyUSeEv8oVcVZjTaexLqE6DFln2nTCr3ySpFZs4q98UaJdz47ZM6cKgsWVfvuuzo/Y1B9PNYNt4GrF0Uoby5C1c0nXXpf06S5xZxzru9pcaUfE2gW98FKAAJG2b/rf9ZDlTWrEMHB67dOmgzZy5NDIU8BFc0y9D8Lgg1gA9gANosVsy9sARMJsp06KOpUsZAIJTtcEmEzizSzJKdPqrfix0JFkPPnh9wIKPmcFCVUflFSQP0XbQpo+GYxgcY/20V48N0kCroOdoAdW33ypy8szPyy7TC8//2rFeZuoTv777eE6Qz+3hK/W4EPvkqKr6FU1tH/1xLVtSimbMT9G6xSSw5UzaX6hsVYNpIB/lAuMaplFPuXsdUsp04TCJ2FJbBEVoIlsdLsClab5fAGOLwuNq9Hm19Fi+cCVpKVUlf+wOQY1XtHA0PBIiXYK0OeUrUaNBO77r4uQ8bN+GjR3xARGdExaeMyZcuJnA7CqUqTLbrlKVWrQTOx6+7rMmTczPe3YVY4wXJu8l319si3ocZznDXnxLlyWzghF8ft5BpqmiP6xI9gd+A8uTvCzdl/TuqxJvfY3CYukKvnTopYrjep7x3qbwDusv32pIHB5IE512K/PGloP3noXBMZnktQMxYuTy11690Nt/EIIPa3k8cGnBO3hQv4wyMME0y/FlOeeqZNu1ZiY2a88NI7r7wxa9pr4z547r1Jn0z4yJwFS1/63FvzLfS1b30vvz6UKFPp90D1/+lzGLNlz5Erd+tFqVWn3mFHHHXDLXeMeeqZ58ZNmDSVAio6ZaqMWPGiAdN6yzXX3XDTLbfdcde9kErSGNiM2XO3QbAYu4mUIOSqZB/qERch1+z0kd6SEHLdLh/rKxYhN+z2if7iEHLTHp8aEB8ht+x1zaCECLltn+uGbI+QO/brNGxHhNx1QJcRiRFyT4puo5LCYmUOBkPFAFlGMSk4IBQgKhDQIBh3HjAoqykDDQgaDIMWBHQCwO01vrSBZOCLvsvab3LpjxDzfwhaZCxUfOZ6rELwEueoeBuPhRcfEoZTugkKk0ziShIrrnoNGjXZzK0maEFiiHzo5qXYU2m88zU4p7fSXXUKOm10GLADgijAYBQcPMQrHL+OFBnwFEnkmOtGfA4JMRlzZlZlmwL1ml31wIBxr5OGnqRLRXKLd/eAESoXKZv70GaXtLkObDaSza1vM0vYXHo2E9Fm79p0gs3WsVa8zdysH2czlSXnDHAjWcMzAmaKUf/TgKGkWEb6fGXtIkqs3owFVsPETl+ovsOD0mMUKdOTsuoaYKexODUkYynB06DHlP2naSxNNeHYKgi0cJlz4P5pOpennvwSGIi0GbDkyFPLy7py3fkjwTgxNhuPNSfeNgleZ+Lq1EdtZyG1r+0687VFiJh1lqxNPYN2DZL6GMuVH4FQcXavs3h96tlEtUhpK7ZOgPCukYr4TNfGP35mpAqQ4aYSbOahYL/y6BQHeVt3qPG0B626bheftHB8yX9SDIP4/z7AhrnqHqBcT1Fu46W0Vb4I3TJbouRfHepeGnvjm1/f67w71NfFeohtrKtLREbHpIXDoPPhuPDqnIu49yoKnW316gx2YqcVIC6bNmq9Fed/683PBlsECBYqUowESXbbL41Izq/3+vFy1eodc1Kjc1BabEqbdmJjZrzw0juvvDFr2mvjPnjuvUmfTPhozhefvTWvgVnQqJUT9IOpsBbFTvAjJAybfC3aOlUYxpWJSMcJeRyO1PfOM+MmMwpDQUi7D9775GMIgaunnpsw5YmIzfW6dB7U9UyolQL4phA1nrGruD64DcH1q4n7pUvulKEFBFCPbkPgPHfUuTJeem2veTc4DcQP6Dlv2xO4ifVXg5u7yILPHz6vB3gOkO/WH1hPZipPGmGPOhGuTv6zgC924EH7ERHtdUqjS2nSZciMM5lyW4yxaqnWBaX4qHie+CyzzTmTkpS5eTxvXtP3vFeWCovJ0mBpswxYPJYly8GOjnGyM914FNU11LnqglNxMZxwA27WUNFgauhqON+Au60OV2s9ru6fu5L6HSf8fbO0BKx32BnNrqSNy5gFV0pVxvyc0sx2fyMHmhUx65wzMUlJ4bC2/XvOC0uJxWCx3jgLPsH7WTq/+RQgOk8vG1z11VLm3Gb8vwD8x4/+93/+66svPv/sk4/+6k8890zgwsfDxRS1Y/uXL0u2w3azXvSr+URc9a0RN+3k8IOqB0UPCh5kfPX3RMlE0UTWROZEysS+r+q/0n/F+orxuef9lafP7y/db1saJ51ef3rOwLahLcHIgs36gjNCJFZMjHbFCzMb83ERZof/mxsSFhEVE5eQlJKWkZWTV1BUUlZRVVPX0NTS1tHV0zcwNDLGxsHFwycgJAIRk5CSkVNQUlHTgGnp6BkUMDIxs0BYpcEAW4F7pUp3UL4SlerUqnfEYUcdd0KDk04547RGTc4675wWbVpddMEllwstWpBgoZW1XY0o4XUXL6yZ0pRWU0wHHSlEQntVqrDedEAu7BixPQJFtp+hOuVFSK48cKcDiiMiCRSgUDEnO0ftnehaHLE6CFU746ywdlTEpaL9RPbJlCFbjlxZChXVWIFyFcq8ywY/YfnssUuMh4MZyP9LMED+ArQ/Qfs02P0H4PhjAMj8ADVFflM4BDgr5hB2NNYWO3mcA351z6Uig2mILsXKcRpiAVDxBOQCXt0IcU+DT5DkUr+GbmcR1uD8SQIGxy0w3DMOpFVDZ4JUXlp581YEneP0uzjC1M+6NIH0miMHrYMevA7oQSDOd14aPnhCK/GeKMrgWB23iBfzs3hkSGYi5fRqMEPoLIImp5xxqTKsSq8aMpiqKxW6CxQ9/69ApvsJ12aCyJPcx/EmKohgWo76flFoB6mIZDXANv7M2Qb3xT24BWqkQrnyNI5+m4vmKZiRDVhYuBTvNq/RCI2B68ZcWHx3H01LFF7iclZeX855AN5JUmcppZwHA3Ngf0ITuCQS7jo36HvC/gh95yWyGTCoPII8lDHhEyFzWYgBKdtWWhiGSsgtGNRgiIyeM4oWVqQmdwz5EQslGFQeAZyi3C/GT3QTYJwBfn6lA+eqDcwCDKoupVMlR7eGZo1sKIUR5UeklnLkAcRij9wRo1inBjDg7nHuQ6SsI9BNoXioynm8NQvr/bCbrTFsQxdu7LLVYnQcKzoEkXzWkNOqjVHjDElJ95hEIsIGwTCvLRahtb7+DVia2TudxKKj7cTo2BGvuzCxtrbDLe7t1u5//x0Ft9uq2Zh6LbWhoFGFWqgiyvb62mZbLKyE4hhKkRQ8xzQIXJFTLuDFiD8JeznhbbmvuUYdzeRUSb1slu50MgeppSyXPBcdM5YXQ5qlUo24YutjWnQijSQghad0I0pDoe+nSfaUDIcq0v60y5/FHQc5y/Kwj2BWPvYS1zxu6PTHrm3yHEU952QcA35G7/PcDTUufxciIdNbwAw/EuDi7w9cHvW8CsVfyHm95diPJEWmj9veIy6m/bHEOoV15QljHEAl6JO7htyW0GrrWrhCCMUjDQpVGp7TNucmtNDrXeiFNMICwYqQ8Drj4Jr1D1X+b0i4vhqqIjLEQfl86QJXzsVnQ0l63Zq0X40Ny4YMtWfZXpJExnvqOVEBq1XNG9MR2HMOSzWDDGmqaNPjkdBjBXEiofFlvPoQYvUJ3KhhKYoTKvuyqKTN82hhU+lxWT5njEdcefLjzN+LkU8IJtRpSN1cfhnPFWxW6ihyLNXs+PAAq+nzVD4bxClXpukk4T29QFVWIpwkEN8pNV/hquYU5A91tzHH+2wS+76/9UOvcfXyWPe9Xw/pPfTANxu+Gtx32MF+1y0jAwMBIZk4GY67L+AKKp9HHeW7ZFBAelW5cg5ipogtY4xTwtXTCiXHchIScobamtCQlumSJakmQYNSWELjowCZ/qQjz9m8SxsB8VcpssO+cAu9yhYxbO8zbQX48gGWmDUsT55FrdK0C1CrhQJaKfLN1TJOd6HRt4p5bebBZgnO3c2SzDEXCZbqZxif/xcC+396MjxmdpSktUFjVWniVIaXS25rwubpWGgmLNUu9Ov44Si1EBCZnRy6eOqzsxdBuqK3+bbDGCzFubtRgFgDCrATNPUCS6rXdGeX1opoKO1yEbNI+zbg3Lo3VrAn2lQWa2skwNMQHBsKs6iiqrzgPm2CPNwC356J1PmeQLDpKvoO3dCII0y2L6FwSB/iTMJ3bZg8doTLGXL9MEOeQYaNeJyxx1mGTpGDLOUkkBftFOB78FpD2Otd+jBPjVvhbvwsLzr73yLUStbXwIBakRjBjEZy5PhAwRytnzapcnBCtdI4PU3VGLTILOUh19GtGjLs26bmkFIO06Z5qxNektbVEOuAMuRZlx0R4HiBybKqmM3Zw6pmLLdyo+HT9zfDA9PtnPLUmC/mWKX1Vsql9GUdkK3mZVd+/e1dL4fqfIwi4ka0CsVATzNQOItmK2SPkJ+yZDmArM6uHJJmVa66B5f0BYd0Z6JN757Te/q2HAxNS9e+auTzbzI0etc9l5xA/rqZwIJqFdofv5wH0JQCeIY35wtIEdEtzy/pY6DyWQAGcsgli6LSsKM5ih5qNfFsMSy6w2BZ/L+Jqp68y04YEV5QLYvMzrnhoL9g4VoMS6tpeVnI5PL7WCwKlfK4Lx3hYwZFh9Z4BFTKz1XjtgLKi1uOqmyXvnFsX6s3DimGmvhcLwIRwI02dxiO79WrPMDSvp46BJRN2Rq8KXjtUb+HySVMtlqRTQcvsB+BagKcK/n07c1ysO6jDr+/3Zg90+0qBJSrvrNGBkxGszIslV8ICRv88O63ja2W88HXKXwsetPFtgiLFcTSE2ag8h5IAhGI917Lj48uo57mpxQFlTu2Gk31VdtH83N+BBAzlAHih0VmFzKD3vmWr4ED0NAiChnnLCSnAIQlhXFDRWhIVQM4SSQIHxfH6ANCPoIxNo+BNtq0d9YRppvSpu9SeaKcai5jaZieph5UJpgp8lI8WGkrKKB0iBxQTBNQedWI/HK+7Q65T7nsFOOke+BWbzyHLmBTZOlnj7WmsnS/fBfie5UH7a4Xjc/yKfSvZcWjS3+7PAUTV0h7X0K6xaaKNgbZaXOdqkz5S6gKz/T4t96lJbGiQW9L91akyZSAgSXtyBDVA04mKZ0vn43PVUrjgQ4KKPpoaiHfdBHKUwHHc2gj2zXcI7Ku5XzPVe2SjCLPoRTXx9yWMjTHLeCnyCXm88+gp7lWftzvSeURxApPXwSAvu9HbxiG7zwuw3epzNwBibdRtSMPOyi2UtRAaHgUfFPBeU+wdKCCIUVhViPj2bKGfqDENMPq8XjIPBeRHFW9x7/c7vPH79lzqNpQudTvd/TKD19euILtPjMsqvJA7oT3Au4zK9JA2aZIIT+lyFsvUrlK5bfgBmIKsvIlcRFiulicVCsHm2e71Anx5604qqs8P0DwkaRllwoKL6VbtSJull/ZAeS0Li6HYRF/SxbxAHOMe/7KOQE8o1sz5OGBg/g7ABPJcVuR1V87spsovWQ9jQnw5s/M6ZMqb9Dp+1MFDrr8K8cHCxgSLISE+76fFft6qMwUqSZrOdXoufWqI/3JfP6UGsQy/T5WxfvEu6VQ0i33mPhbNecbARBCb33iFgwgZhK+elvxdfONhY80E5DHwDUe1LOqGmHTu2k9+sSObD7f8wSrwWnEcWEDoo6SKy2yEkpVDPKmmrfhC0nkFTPPRmPpL8G8hZ6ah1Pt67oPmlPhUL5ari6+J0rVf37e22/7rjatELqb31I+CXXYYWBD7crqX/jO6136dVSb6irFydE5d67DRHHw6AFEZsBrK/M/mFLVsqs5P5BXDjD1o/8LoQvG+D35Ohm0of+yXgYl6H994RnTfwoYKtxnPuz0P8J0i2JebxLgq/80K/CZPt1Ydr4ydjCZqomH2F3pYTww2GmiHtW4gyzcMz/lQGTEyMlQwQdImuoiSbBpE2X30tOydiuFKFF/5rNDPsmtZHV4Lp1Ke9tZJtEqWfdFrP4v47wXcgmc9uCOTuAefhV2qNuPXelFi9eKnthxNq5mqoWWEmm/aMZBLaqS5+WylL4ThwX7uJ1lObT/6GVhHZz8LwwcqSxrVtNndMFrEbL8oz4oXPajLC1qNxldEqMoETywkzKjtn2EzFQydKJj0pT9/xd1FhCxwa6Ir8CQ4/Thp0iObvpR8K2bXqz7KN67oTOPBFbiEVaubVM7QgAvyjmdmotpyZ84Y9mO1Ku12RUBTQ/m44c9cWfHmys8o32jjhP7o3jPNjpww5MecP2t1afF7C3nCJM3eFfFAL7b9VGgb07hswLLFiOLQnrmRJ5bXXbakWE/apzC4gkIQ8kwqgwQolDE41d6iY0oouZ4JWEy+Jo7mkFQEtBNX9xqCb6iK4LTEgDUWd1jwgvhOwEN5oRLeEohSxL+uE+rf5qW0/hUNztJDxk0MsZBkMC52WVyR+O406FxMLr0SLcAy+ZEipYjexqqx8TVszEqLkk0qhnMpDxUKPds5DOIszMJ33gqTuhbqdx1g4uNgcDrIhMfI4zgUmsmNnGITrNyUrCfXh+CQvvUDglnoabl5AXdWtOkXi+j8gcsglDxoChAbAAnYnohB6QNzPcAn5vvjlzJqOe8LbiuHTXl0J2fY/MGOfpZtwb7WaUYpDR6sZxYpyjEHKUaiG/RuZsuxcVbcBCAZ1rgPMIxUlIMh3YdclUvl+2wF+J0o3i1nS1Nl2WPyzggkfCD4cl5hZ1h0Jz8jSmaV8uxY5Pximc2Ja+espT8lM6XXM11Lrlik2lSNJkUmoiPP5kVphJxWWtGE41qETjtsyWQhZ8IjGIhgGe6QTq7xJCNBOfcNuDb8SoYRUcrZxzLjaMohh/J0c5kMcumVkPGG9+TQ2uQ0EPXD29a4nZt4W3EMfuMbyDt/6bDcGhEHBOpIKFx++Krn2kzDb/u5hHirBZihgwqCzt858IiYDPUWSgWVnQGq8oO2j6mzODYedfeDVNgDzERMDyGNvPVWprdJoR0KeKIA07sZqMq4VEMisbhDByJWcs04SCeGQl4CbyKpZjF2lVkKNTU1mBeEakU8QwSSrQZVXMnCeN/IgJ8iwaiVooEIRtID8JAeMfIHBnDLk/t5cQjRsAxS1HEJQdkN2cE7tvkdlDzJDK4ZZKBOTaTBI0kENQkuVKB5juoeOLd6gafZ/BFIdqod20U7DgLq4ekweDPHhj5nPlkkiGDCoCceGNRG/v5oZqN1S6aWezKp4FhRlhSSkuRQAhFcwAJB+2j4i/880QJ6G/eYD8UpkPdawPDZqKSorF+J/Z3Or480aLDzzn9+bbZOvpN3vdN9fVmoJB0AMPZ+guXCKMi5yvaBxXrWBJhtLxIecJNB3w10jCQ7LghWpIAQbn7nehV0vAINT+vKCBLKGzpSq8VoG308UtpGn5hcRM2JbAiCgtzf4W7RUlmR3sSnxLmMWmmHHZXklrbWfaCmW96TXrh7Kb32+k09uJM+nI6m70FTz9NyOuw9OYIF9A5Bm6TBrEM+Gsgfl3A0rVkHCT/j3UYg2ZFF8OTuFX2U9ZHYUJd7SwRAlfQyOFlayAgJWtHhh1CSdpBqfWlLkAl0q1H4gHUCQIv3xgslT350oVPz5hAw6N3nhPYvk/3MlB5X3Xcx6crP5TOlG2Xg89D4a2XVFzfVVL5sy6Kq42Ft4aAPUM5gDMohGBrHt8QPnSFyTOLU2QddLFTizMm6wx50bQZLVNNF2ybO6Vl5jTlccYakAZZaVQSTRNKBQX9lhqD8t2nM4ZDAU3zJy9wKELhkDtv6sK5ypmOYsG0+W3Sd9lZOGWekTZAjTExBSwulLUcKpBUmyHuqDyzQVV5RuNu7vG0rguG3DAzELl1r6xYw+TVZcjzhY82hwL8bCCsAJ9znA0ZKN/XearmwEH1s2IGuGzK9oeFdFKIHg+yy8Z+EaCSm7s5ZFVHFNPvMBPBPRBBO/jS7WtRgALmunwpLfVq9eoyP5Zu7JKp42iWvrrPmbqZcwPKWc7mguy/llV/UlueLm1qkW2WJUvTT54/q/0orjduksyJXCXtqKPfp8plp1YbZvQ0VZzC3bRPyJDdyJISeOaYuunAxifuLUhiOqPCacTwigp63lVGpi1lhSfxh6VtOU66OjXIGbJJs1A2hS00tcigMTXJ8GT0nsEZmuolFIIpyGOo5WVYZX2fzVKt71XJzlfJx4eMzmcGpccrEHMTLxVU3RjWVlCRMto2iGvJQAG9+3jn3W9zrYXOeqQKf9SsqBXyJW2l8juJXtxnKaPakzq0jrJ8gFuXuV4Gmj11nIkMg4/3f87Fq7hQuR0YAzEUcHAh6TpqPok8g73kWR6zC9eS6TTpxq0kZ8V64dppdd5RFSt41nLazIbLmi8VwCgtK9ZG5hBkx3lZfnFZnlEnLkUpdZpJtxc13XbaIQ7tYa0tXZm7985LEHJypFM24C6HKs2LNLawiS60LYbcfK/3IB7t71TdYRvJo7p2Qs7oi3WjgS3znnA3OVnMOBjVNDJXyHN8Ys708Un+pE5vHqbYT2JCESbwaqM0kkDxx87yQZgU+oyU0nsiA0ERp1SDCLW2AFZPFdKEDjiTJawaWOT4V7fqM3di6FsdrkQXN/Grq7QwfDLbPkQKjNHpYdKK4bFHKPPRrHKIbl35dJXbhYSt9jpLXorTphE+bYzX8mtmjzTM3YosLQrAeD5ksV9ZHSCxwWdzq1L6Z4ZLtBGaJSv9TjoQ33UJ2rJ4LPLYDZPymAnqREx0/zegao/i/8iY/zGBMv33OubrCObAYBVFjjQE6xsSP7ZUMAGIcAXpS2761wTpa7XJ/dMoWtBPRI1MAth0jnXuMk9dUSCH1vWC0pI8pW2oKdygZ+mMGypK1+oKM1vWPy85n7S3wF6Tw0uv8Fx5lPgzQf9Jv+YPm1n0TD0oTVI6XUoFCVWxayY32gzx87bCpfR41ilkfxbhFD7zFEEaVmdCj9O5wilTZu0//oc0nwLOuSydbGfDQKWp49ymhwniZJ5NLxWb1VwyvYCHP3Ulx9vUQtZXb13gRv1wYCNZuelYQuKn6iM0A1dR9OmnDznxVElLXB2EN8r5evXzrgNeL0QFcjoMPetNd3oO5KcU+fqpZFem81OGn0JYELn/29N9ngMTmRWec/M0vQvPz+Wn9bppD3nscPqtP4NdXzlrN3w4tuM3V53feqBwLywovz+9ReXiAuhJJAsVgtTvilB7gjFZkTGCmLjzwHYczoJBgy/1eFT0cepEdBTwt2DmEWAQevxgl+gg/ec6dbr2cVZ27aOAE91h+94J3dctCt33Ttg4uNwybni6KADLYBa4LX+slzDMVB4kZXOVRuBu96jv6RdWbmspkSrbC+E92z3Bkhexr1/h699XXH1L4Ot2WytGdsRUdm+pKhQo5HyhRi3gGmXAbVQ3how16eFHW3/Uvee3A2hKR3dujywUKBR8SG8QC7VGcYYiYVgdqq8rM27KfHfKt7KzJ7x2dBByfjn5Mu7Sb4LE6v6hyNo9o7E1E7uFrLRSim232QqJTNbdJkQEAYmFF5uC3c5Q917AfcAW2C+XpNdpO0sqyneUanPJqk1zQgfXOtrgbh5pqL9AUub3KhgkooLO46roIe0Ms3DSJGTQTQK5zCQAg98Vd6Komr1jMbXje4T5aWWUE5KrlrbCZgScK6Mea9tNUg40c81ja6vslxz8GvPKuUBnsWWsC7zeXFWtbqd0wL36iRgaeHDAaNZjkjfx4NQfAm7H0oRiBk2uYhYW9XRsK23bXJggO+h75bMjmom35t9TjTpOPQ6wLxh6sWLdgI9/cRn5ZIpUUKLRF9gt2jPUPHyuC94zd62i9NGT8cqHnfuSbdCTctXQxc+/t7fQO9za/nbqrNCxU1keoEfpM3MhjUjXPbCZyReyUHXeoM65YaHSa8HFukjo3xGV8USY0RuHB36LoWXu4oK28nR3YoexxVke2HpqucWGzcwl86hZ9DeWL9txGdvV0MA+n6k3H588cbNrauepLmpVaQi/Vqmo6tj3t/j2hIpGeQinJLz8fAfwf1v86VBHx6HD9zpOJO2I6W4eHN29ZWgUZF9fvLRJ/w1JT3qoB73ZUTn2xUub1L9EgcwdCV1TKQdERXH21pKSsD/Wy4fV6ws/a6PJJ999fKLhTu+BxKPtwa6SEE6FAIjti3aKk5IbbCdoX1DnvgioD+Kt8RQ6h0rPY9M2BPoWNtUVFtc0RFwq/5lofJz9tS7uirRjtuEZOZsmMU0zi9BmW7Q9t3YEnGwxZ8wLXub59baDdNNr8Zm/3jiYCBB/8Nlkxc2el4/d6p2o3NS4pXv8WXr5766KZxmVEOnx6hr7IqZsy5ZS59Ydze5Z7CGRXNYrE4PcTJkezilJJd+aih/2L5FoYWtqGyFfgZS9sJbniYv71yG4YUd9sUTk4oSNESq7o1+3rD/HE/OZ+RIOD+jI+ffW1bjay9dZHCQhjcFT5ZO0RaimyPPJ44V99Q3VPeWe5qIQJZ0ngplknSO8KeJCMpB1G8OM95rtzcAT9Nmv681mndZk0V13LLTtGoGSYVBTWCg9eyOfKgzlozlnrocELoCZ2wvOjtepkr3Tipre18N7XtfzXx0Abeh8I/jeAnKGdo4GJEqeljbWzKSz/35nee3jktXShqrp0iTe+9H14O+KhUbhTFy559YDceV/nNK2A82lho7oLcbnhu7YXlAADojv1N6RbAf+85h5S8Q8wIvF2z8/4HanFlQM/9vJMXdyNNbfgNVm8aQYPPyPp+00gz5fuUHZjSh16yd8A6rraaysdLW0zmxFKhy2HKW3PMVMiBVxJUp+RJt3g48skQIqtA8QyRZzNsPlHq2vbRsopRlzatbsl6uRIZVVJlVZh9RWoDkf3zkcYXbb/FTI2zwCgatGpuUWbraAcA3xV7TbDBU7+kHCt7RloK6+baQ8z5A5ILA8gDcYakw51fCQxiqTaqxDSmQS0KUjuwfj6juHw0vaOyo3NQO8VK4W1KC1hmB5I4xcZEj4XqwIBgQBuWWRXKdRC7EdqtQ0dJq8QdEwiUyKgBaEb+kvoRmyK9er4VsNnT0xRVtL/c1Il4zG4KvVAnuLMZPqbOuzlAmVZp5AbYREygIhX2kCh4HgK4Tj1mbmms3ltjQkvL+RA8FskG0mEjEROcScCEz59keCRyDO/E7m5g+G58elBfrNbsTeTk1GssQyWJgAjiEPkC/uPmx644NLKyqGvvbVbTk4knR/4OFN0pTsumS7v4aYB1sLtSxzSt7ZbBKLT8VZUvNeyibn86ix7LTe4lIdnohYygrrYN7EhrQioJn6TX5+dBXR3ExYTZBNGqxDBtt4YT8E+EtXtOv1NRYiraR9Td2jZTRTZlsa6JKq42GVVSrrI0Ca/RbXOlBCMxNrNujhK5a0gdKKVto8irw56Y0MaQxocoDNP+tSueu7IvBElg3roO+FGVnhQDXXmCDOzCrGRXwp0oZsjSnlFivUSpvag28M/ZOjt6phKAzWhv57zZRfrjboijWgC5m0KWwTyMTwFMGhZf9HsDckKMCTYUupiYAEjzayuSo56LyyXFQWFCk51rFcWRFkv7YMmg683qr8J+Lidjpb9Y+tEJ6fXtXFq7HPLm+E14XzW6vRangtaKo48fj4YmXrZfflcnxnZ79UNl8AtDFZfvKLn+S7axyDOwsyt36vGxTn5iWDo+3SDTIvRbvMW+oD0p1kiOIuYSmHIckM1Yfd1ELhEEp7M1wfmilmED8h3FOAXboqSRVwEDPF0WHDb8JitDgcw/7aEmbOEuGuwiKzKO4RPgHfd0qEwgJaij5NmhYZ+wpKIhDqaYnadHlaDBUUPVCbiI6aiI4Zp06sfwgFd944FXl8HhahssC/qud61E6jf6W6Uu7tMPuIrChLFVdlkUs1Fk55hNnqJyoyS70rQILOJGCrcxNWAmXC6qzCHS1lzq1V62wOKkRnssR8Rgpa9Jvs5rXU7HTl9mvONC5wRmorm4C2j0z6p0S2JJd+KZdOQ5Lpjbi2/7GHMGSSs3ubsqtvvsk2mXYYTWyWybjNbATviu9UVF8SXBJU3aoYhk5zTuOwY/5jZ1zOcC4cyNSjHBJHVZGkCLTXpOTw3pVgFflOuarn+xaEvdBtzkQUYAttiSxPyeaeE+NkoVaKDsZ1ILQKa40yVCftr9iflCjPACS4QWigpLgRj8Nj+/5dBTCWNb95b7pmcGSqenCYvlKNP3MpI725NeUA3cX0jB0dhrIajcACnZUF8+VEFkSlMUU5yhC+dH+hhKd1VYC/g/ODCwlImrj9181BWlCQ8Z1BX+DJP9fUeEaYnGtoOBemHrPadr/4mC2/S+0JCd8bE29is37n+aekaSg2KCGDKCVmANwcnv+CD6QcZAG/DIaQSQJBWa48NZ1P5VN54HVs4az32QWfzWe5QbWqAquhVNJL2x3IdFieNJPB9RAqNFyeTMLVFkA2+XsgNz4G31zxfn4Io97pFAipbIOsUyPncJOuJSX+pa3RVz8DZA53ru2AuB2gaklwZY7UWHTN1AngtfwOO1CVbJ4F5XBHrKafAJdWXH3BZeHBtROe44nJvUp3ciLQbCMERYYfCsaloPtO6SFx0TVrA2JfxqX0p6WApHeL8o9ddgTVDS3TpDb/71sOiqdgykgB/ZFk4aris6sBO84YTX/r8iCNksalljdXTJKeBfvufdWNMb6fFfN1VLSHGoPIY1exmCRIw0keAdRZRjRQYwSoxtQmbkrWK4Yo94la+V5yOonLIJN4TFvIwlXlfP4v6vwgnZLOzQsyJ9WlqzCZO+n9lh6TR5EIl/+ZWU4TQqIdw2C62bINZqKuvPfhBvR+LxHcafLdNSiAfQQw4ge1nRC3M/Aw6dMtT/XyUO0sVe+U51r8dznJ38bkxTC6MJ2dGqekbMTlMtK+SN8kpwSob2iVxe0ndxGNDkajNjovarb23e96aAg68TnSWj2ILHZONodTxL3+dEsoxMcMlTXKEY9VGd7zpufbJoFdyDZqv8nR5zzUml6deyn5oCJ8zp4HbNsIhIh+P45Tc6VOfFwnVK4cVnJse8Jaj7GxMBnQ5kkSQkWQZ65EeUpUigfXdYo4nX7HeuRyvDzVLVcR4Ok8HpOdQ6M9pvMKKDT2ID74ULEuiJpgoFSHFwR3mhWvi5qdFOqgtgAa+E7Hz9G1qTTC2KeRcZpG1XD4UCPzohbLsdQ8lnC80synf/4cn7n9Zu3e8X05yPPDGJQ0dipWQdm4KZdO+yI9Xk4JYK2blkmmukp8bUpuaRdQgyxcLXOnJsijtda+ZJMuUadCUBi9WpPjlDRjdJX8OiNFKVR+U5S8QnperZp86lRTo6ipZ5rYJuE0DyZKX+ZvNwIm+/zHN1tdmZaOhnOjLALL4eYoDteSxbwTPV5VXeOv99SQxdyTe92ruidBKWigFF/tF4SDTNyAyYEYladwdOAUDy2Kzpc3GkCWvkPx1vC4QZU7XTKiyikxP+UiB17NDVy0974atrXVbtu21V08G3BIqJC0yIXgCLLW6W4sRqrsGgJesp0TBtl5js7WespVJQwpZUyOVqjMkmeRPs3OPEGkCoRMwFNnN2WNviBD6zmzfGh4kVRbDWPlDKqsjP6Uegt+XImcaxLtl7LG1tEo5WYWSyvry4z9fqGo5LB5XVk99z9fmK5IYBWrPfZ7RpMeUfIeP/3Nv8ZspuszhCxtY2lbZ8WmVkAQK2BBbbi2IFjWqDXxSmm3GkrofLVRQXUwZdBgNEMkjnjsbSCwJCJGTLdnoSKzvJ+41qpa+5hddkylJr8bulgM6nAQLhU1uT/O5lW/E5iMjbLgLqgwSv6Y2GM4nVGxm0exC1Z51vSn8Gdx4HwXtuvKUsTIPOAQFoI7TQGzuo/+cXaaUcWbgIU6W99ZUhcNv/VDThrjRNubFfVYaX6JGB3833ogrkBmrCY2WdKNXVVNWmXC5s9HmzpSC8riaoeGBOWQ3jJWgIhFerNIXICA+3jWPSkEd5zIKIGseKeWpDli2VJpX+J0Jb12dp9jDLH5NXZf2r9/JQjexUsGUp1wUNrMN7GL92YxtNKKTz9eVZdTUc7IKGdUZFNUxOZQeFW1+uIpw0X+sAx5M9BciH2rP211ypek00PtuxskJK9ha/MsBUJkm2TmvNpSrNBgzZeKp8+oNmN1xAbMB2cp02+rY76isZgTQrI8a5OStuwlG0Zaczv2UIpPeFzfjqG0G4Lqd6hvi4wW490jymwT8iYQ0TZoqQMeOqQyta3aTTZwesjthtBv/WmeepkVyurn/DANRcBqLFEGyvq6mRutpjQ9tIYNibe5Y88WirqD5wQ5D/z3qJAFSfJZ4gRHKC8ubNtoGSLm+EX0+OkJTSPB7xg3HJP4y6YoVkzq4yDAnpaf1oekcf77yuRHh2ywrMNAu38Ndxyl9GVNq9H6XICDPttprd5ydW+pqleeawb8WtqWgcE32h/76S9Q4qMxOMdvwqD3P87jzqbn1hWGhBQBQg6OOsF2EUvPk3x2yvLM+niXq3d6doTcN45iCzH5aGMySuihUL18e5/2Q++aei9AOCmU7WTWOh5Vhc6e+4S1DUZoTpTPh/NonfUBh8XBpDPZwJ0mHTKZKtZzKSK+UjaHyuI2rzG9FHF5QpZ4WpyMhCUSdXsvCnIKrjsaQWZWWfLLKUZpfHRfVvj8S9vlUw2HxvCEroV5PW3ZNdNfE1CaRMkCmIsiG6uxHgmZkqNDJ/6jafCfP6CZ1+E1HCp85rwqmTeOHV1lIWQ8bGeZprenqrdUPb2G64U9oGkyeU3fU8yrnXBqhDE9zOTGs6ET1KYELIf7QfGa/5meljjknhKf21eHz1FKrRgMNhuHQW8i4NB7rvspm2M2ojE4Qsp7ws+s5NTZYa50xM9ZE3Maozdp9b5hb4ahf0FFroLMivp1+viibnjiomZRmsMv7K3k+nqcjdgepYJVDrvDSULal406ys52mpzbnOAwELCYdKYDcUzTpw8j4MWxeh1VG2rWvQtp3NOijqHhncLeANhF4b/gSxxJGknKVTupPNaYnHBKsPokRtnTPUg7jCLEAJIGjdk4ifVstN6vOFLaZlm8t2yIl9C232xlsVg1dslnDkHszYxaY4XsYmQdv6gxehNn74fqL9AmwH5o32pnTXT4XQI68jtA0ezUdYg4HYHnrGJtciH9iF7jdP+7HmPZLlA0jHQqivYug1QxPU+KPqUNJ3zDZuPIOSsTKh4dS/YAHotCB6FRwXjC6jvOKmPRGBwG7S4AhQNy/525sQ478YRK+ZJXuXLcg3MXTAmnNEjiSeFJwOxXnSv85wbREF+dWFbCoQYhO96wV2S1vMLJmDH0yxWNOuUKzcFcQ7+0Qkg/27PlHlS1M9DTi+oa4BP2eCmvqNfjUhZmVpUHaV6L5KryGkmEtPsUKZbBNVDq+zqUuNz3qjajRkkdoSV/mQSdKMdHbmkt18V0hSEmfYTzBZ33BZ0Ceeev4FCL/yz8jOPnWKaDXAV2+OG53inPnfm6sleN2m+IeiLed60bX/Q5wVMf9DmPbBmcGsuu3NvePyGsHBi3Dx3LboGT7epYFgKm7ttFfFdvNVgejjKSIYaqi4uKqFIHR+nu8PEcNKDqNqclwiLNbxuKBmF6LZL8Xb+bmZuK7TFPKQ0nKSYS0Wd3+OZ4107LSVhGeUuupUhxbhWDykeHe9lD20zB+pZXL72c3+kYxaJkjZeuXPYVbalNDdksbI80X/EoWXt2CawQ0eFjGmdfv7nUU5d7jtMVWgXZVlux9nfkI0UmwVXYhSqF52OU2fouRr2TOGi9TgXIh2e+MJU96Vmb5J3J7utyPj/yiEal6mzdqdy8ZOhvjjRXdwSwlWgwbeZPohLkk7nCWxNzyF1A+67Hpgtc6RbRWLJJXXWtjMC1quX8zHYz6EK+FULCqmi56rCvgBIUhi8Uf0UCgRa9iDdVlPJ5u9qtkes5XvEREh2lUmovZY0rXSed70EE8Rguw3HlFF8qyK00ukriUl7rL2JN5flcJpnDNig5zYeR5rIRtkjss3HUxfYuffj9h9LFyRP+C4x354MYlVYywCWSVEKq/fg+I9t9wSFOP49mJ2zcUS9utXHnB9abQDLmY9qWW6DbbghwmOCNUsieNoIRxx/nFVROtZQJddqgi4kvQJUveKnBhh4KviOBgb5UETCPjm35pTUX7IBTbBtQ76Wa3hX+OV6B9awWXLBT/fEeEu26rHTRiwdLhAVGG6kMdfbchrcy5EGdQ5uNZrSvTjr3OGAkxNmNlj8S5/zrnD4HV16YzcT9fR5y0duxQ0zmYXP6e6DIh0PJKEfdzMtvXrcrHx1ZIZehqNuaRqMn/WxVah8A04JZY1zg4VppqnwfIglypptut8TPDVrmfBxUbR07pAZXR5bf6ZY1y50facWRgNBhPQ8jpt6JSku+v/bnaVLl6dR6lhRZPS+TS65ZRVzfKE9xnihFvD0F7hEpzzWBvO3/gVLtO/8rlziEY39AoXYJWWJxPgE20QuQQoIIWJ3ysOUQQNUzs8beQCz9J5X/GjFYgHjYjy5M56TGKXM34vLotC/59KUBmZxOuIMv6Lgv6BDIOry2JKeAuFoll554LSRdz2ScL5KufsJKxTdJRPIipQ8U9V7psGPqfHANUG5SVlvDUL9Kb0l7JjwdeTFUBhVQTQQLRQIwHeHkaUt4QG1EbC2QNhYPdkVV9XcFbzZJbOK74jtsJ12EGERCa4GIySt+GURPIgqKwhmSg42TXU6klrBxr02CerEpd/cFhgyyZe0INtGoL85y5GCSkVlzqCE0fb+n1dBXHkMRQdZOwqelw+5DdaALKa5vmG7U1KxC9TCjRsocbDalagafUvwcoHyjwxf/QQ2/mIAr3MGMJsbEDiWTuXJh6i0u+pUg9O/w0U6z/RRB6s3qPRspg9gKOrC3k9JukiPmaZdpUY3mRccVLK8a9XJ2kN/8CyspvGBKMBpABvMiIJZXJte8okEF/feExrporiJm0SDHHrobi2nFiA43MhvFFwcppZU2goduul7bpNe7tTo6Tad1GtcOpDh40Rhfr/HfWwpeYUm1i33hiPKt5UuP++YR/cNSIP2EwuvZ7qApb4aEnnR1MrjzPFSgynvG65/W7srkUXiZjYlD3/HZqKgnpcMbvnJ+fL61Ycdv7iOfDEbUs1DEh/MLPQx+Lj+z4dv3nOi3SH9y6t76s6yKODSbMRH64VHtGz6MF8m5WaEfSOLnPnsyB/1h7zuz2mDt1Xlnnr9DgKr4elC7RmtrczntLbA26oGMpqWQqVqZgqojU2g6EPkSEebA3zJv4PTxRL/SO0Ad5iZlJqcEwxtTcn54RP7mQf5pjP1qJksDs3l6rYBfoAHrWx3dsrKhcBQfhrkCU8EAYuIlRXBS2bAgNVmQmiJITgUWN8a386YaH+WnAuWbyW+Z7wpIMuY2GZMkeFTwTnKegSeCDDw5lnoxKfFQdMy5hEQy0FwBJ2zCkVNTEoFGr6NHVjmiD+NrYY7AbBywmHlJEezUstQQfP9wqAXg+vWgNo3W1npRSNulBUnBXlWjWO1w/pqxppEiA9tniBbhjN6okh/monAGNf9gdvh2v5PJbJFBHIw/GcOB5LHN7/Zn8VVmFru4RxehCoPiUYFkTDwUFqHq1hXyd1nZQcDtA9OnvRn/F/f3BhX1dYe4KAtfQz5f4aifUTkw3KmFOSy9nsXW6vJpZzRnfPiqd3JuvCHxUXzi/aScdmN2Jj49EyQeQ1IfpSK/ZtxNRac6fyz6cfzR97bqrST168AqYPq1+4XF7efKtQO4l1QNM7Jtor8s8dAu2DLxRkeQ/ZVrDzibySKoieP39rMNqzM285MnpjoLRe+n5nqOZMbh+aQ8Kp/Ee5C6HBX5KCz0uYpq0slsCZ2WTaN7wpnnOJGax9xFLyaoqrREx0j6ey8mGpTUkwQsMiMGGx1DioklxaYwe9MvvWY2tFFYGE/J5+aQBbzLqnmqttiub7Kz5rcdGQJyHTBcdnkzL5XIxE8hHdyevGC+ar4vjvnMbb5S5hnzjJPCG3t5PR8SQRDvl1+PuB0BsUNaiUAi4D/+ebe4DXyx4/tton6uhwFMBBFFxzuO9+svb7m9Bawk5lejHPaHAD34BgQVVq6szC0K7fb3APoBBDsqgP4Zs3qk3QFmvgIv7LBgZWVxPgq9x8UNrwRWfQsSFVijIopUKgmwOShZmJeq1GqeWg1uL4rBwQtCf08oVVylEpAh4LqwIFVpNFwNDEx+xI6NhRdSORHi0i6jzH3/w9XcspqEyl0j/vVyi2MMKVLITDZIbLWDMt9djmKN9Gu9gmFrOfjxwL5DQU69Yt6kZiCtBz8ZGN+uS+CPVgrFVTWjB9BE7diBPQXx7NFKAQT2qOCVLa4n24x+e+NT7rVPAelrDwKxfXHDor2ZC36NBd9df9ezaMlY/mXAVwEVwMu9qlwFV6/8YB+p/sa0qN/1pA3wVDVlZTDdTEtjpbHMNDoENGrp0DCMtPQrVF6mVxEmCGpyKalUk9VbRCCWwtprg8vVgig/pVaMPh31P5ZcyVQcouD7iOMym87ybWnF1kQ4NcNpJv2sQdpGUdcW1Qn+tt9VUUua8R4zJ+DPm1dOBbrl/mPbAjSusJyPEylbxrYb2X/i8zlWrAL6/db7M0XcQgABrBuuqvOA6Y9n73u18zTJfwAh8Jrdcm0TLrdPBAWFwFYK59tvtw6dE6kXLqSmXLyIv6p9uvab5t6dcTj97zFKk++hC9ub3Qf734x/0N8nmszdmppe/2BeMGd9LVcDfhCHl/srG/idq8Dw1t2rer9dv3s97be3Rq/q7g6587xz5MZXDbAevOR7B1AjLvDFg3TL5L0vH0Tn/1EU3DSVmkf0pCxbUB7hbREbszdGYHoOXj6MnY8BSgnbAXf3Ov/Mv5AY1a7KC44n5ZFlcuk5/O0NTDCtfcdhIoIrx6hywQN23HwFfyl2yNEPeg/sPN4cUVOKElQLFXU9kymp6UWxRc01nq4VvZE7cvFiac2NBxCXpedrAvedi7+9rHmk22AYNpHopc2j9bXtgyU0K9G+bvILId7/JPiOEGBipG2qNLNNOJbcn6Ws9cNL2TJNoxMhzaxJTGbPnEpx26lu31xNY2M70rpoQlkYn2g0E7nMKi6zhMcmU7isxLcTBXGaE/JczYzSAyT5+MqQNDZfDAVLFdIJZKJOUbdWlo8669qtHPMQk0tHJh+eJ7cZYxRO8vkR0HCxorlrNZH6pTgLAX3aoDyq/tDWNSqmk5LCbBojT3tU5r0BXciUTf42dL/Cf2LJO2WZug+dliP0dIrFPFG+aOv3ujZxHjV5orCSl/KA8/+JiU4pN+R0Y9lD8jABJ3sC9r4xpEcUsO+Nnwp018W/YcC0vaH/Qg/swcz/E87XQ1oI4nu7ewCdmeTp35taQT9735qOIXKFANINEsEFkpHLjfH4dyZ9YASPTxx76fd8neq+wSgcHyW1LLdwtyliRMaAO0IQhqDdaR1XEsgqirar5HZHqI5CUV/pv4+GqOLMEtR6Q7C0NEoyOX7wF0WB7xkDCsjCk/IIspKcJjQ3AKg1KhV2rkBuP6Sw8QSyQpqC9n84g0Wl0znD6SywDQdTRox0QPVKf50FQszjLURqbvKwXWhXQUqGVLWnFVzh+KOzLiw1r2TdGrtBbIwgZu6e9MsM5QYCtxVxsVBVfjGQwuOQKJCoRgqRsTlJ2rieuFiX69sUE9cNbmOX1INjmUBFsJiy+YIoyvtKcpg/Fywuypdhv4AYqpFAlCm6uKaOzcym2GkVoDZwyKuwSbqDf2lKZ6F7aEpLFVrOBSgkP0mLKVgkRDfIeiQeixGilOSFEwhq3mrm2cjIPTjBAwKlstbWssAnCuRuCDA3I9PDTqK4VxiOjftk1UxnfjPKygjL9iC8nPoMq+civPQmQDUJyzhVNyARQ27dzNwcCuasgP5gzb69z8pLx0sHwV2AMM3c2ma2tLaakZaWt173FR7O8AtNlyaSknLLcwhWZrkujZhryEW/BiJRLspsd4OZCxDnCIc1VIOGvU0OEKh7YJxj6tRityabuhzQvxlSxJFHrliJoOWhjPwbylJ4vrSD5XWgzT5fqTwlSWWXzCkTwtxpr3F6Gtkc9ba7XL8g6Ixn2+7mIO0pmmaTfZx3t/ng/tixnlx0MArZXgMf3HcYdZ4ipeaQ7AE59PfP5fg+puc/5ydUxSsyionepfUFGqtBIS44RTGWOt7GeDC/j/b+WIkSjl24F0q4vF7czsFM420tq2bj33+zvON/6LpwKj79Xm+TzuU6iaNfmdzR/icpOpFD1joUl7bkG32d16EvJPnqQgMi2YXNnpiDKP+C3gymUo93LFuHnvzJedsYXUaVFLTjKiWklMnyUW4BaaGRAd6l+YnksiQy+Ytw2KNGTe4/sTncTfLkMt8DrQ009CYne83f0JI1YcwHjw230usmum6GdwlQ7dVMNZCM0P5PC6grlcoZJVizEL9gTVwAxF20iGwiMQLDc8fCBfg4kLDjA3Ddk+AHhNz+FubX+fFN0GEf2PxgXx3sd9tJVV+7zpW+e5toxcWawkbeDmTd5b9RkCl2Kr/KiN1iToSb3+RZagGsJI3MYJbiqHSEvhkMAovh2mIFa6jKJmMo1UIyaiKlKe5S4h4ZtPV6zIVyDoKq0xz7wlRcb3H7ImNTHJ16NpnqxZwk1otF49tBQIF/bjkrNpD+3yCNex3w+UNei8m3Mb6Yd2tE6z6AQXz/LIXg3bUCcnYP2T6Q/NUCHiAXBFkQZGtuNWS8i+ntn1jnWJzdiauHcYoZpBjkxVRXknehOXQ2O3e/3EG9nmGRac4u3ZnH3O405pXBgtIZCUgVm/4rHDv3neGjwD0s9VOd3kqTqX357Ye+0peKUJgW/c9ZyjcSHG2pGuoDfseMXyreVUwsQB7jfc3jRa6OvPZSUu1DcpUeZYKkak1aKWb1fxWQGyEL1mxj1r7SG92pG3IEtQjADGYzMVvXitnlaIYx41yv+s3J2+EOkuPy0/lpARgsismx92Jke9wPs2z7g9QApnmRVOaQ8jDtbFsVv90xI6TOJD/hsuIuIeaqM110NJ/bUlplZnWMYi8vNs6r+zl2sVnHjIpLtabi5css0o11wrnFiJupeVreWYaJ5KSwJp176Hw0mSExa063Q0nIbtbEsC1fkBr5bV36e+3X+qJInoVTKynIQfbEAJCf3eNI26u3bDlxdlGYcNLM9YhxrIlr7+aWluRZgBxwkCFZIDvyA4c0EStvxrPpLE0LegwGWE+BNHPGAJQLu8CPzPhVX7iyixjppXdmrnDaCpLGjoy2YhrXqSPugT1gH/gD/vd768xY7e7OATUFpjLNhKoSmWgqVFdlbLlJ2nJuQoyAZW9stJhaihbwLTIgdsB+1gAG0AxFBkQV4gIAVCILsck7xzxa1XTALvBTFSGbFSu2hwWxX36/OyP9uJm3Uj9O+duh/en0ARAjuOPQipn3BzGEX/iB20n3cEhFZYvZZY2WkR9okwH2RK1eZfJFiHLqKlKOdiH+zR4a3HqwnfTSUKsUsz6f4kw3lcMtKY523Cpjj05xRKnKuow7FqNEdTFK70ol1yglSbZJOx6jDwj0EdvQHj9ltjfFm/f59S03vJRUjjRY73IKm4i2jynvWDKtKetDydoBKc/NP8EFbYo9oTu6gscFLTnTYxJzp9LbufyWnLpIOn0ctOsz6lDM3ZpG/8PMGu9Dh2dRvU9KLhtI4+5xG1YfZfov4CRcnm3ZCn/uLx0zzLcprTFSzSfKwvxUYy2yY7NyLEkXhFrPmQaPow4O+7LvGoeKYuqlkE70mNGyjBxuytnFSAZkYpqqkRI/ynASHsUlhZDNOMA4RZsGDfUYqb6dVkfJZ+BWIwuJts8ZJRmH/yks3dVPFwL5SxgJgAICAUcAYHszIQAO2g0BBNkIBFAkfIMAGuWMQgAdhGwMAXTJZlcIoIeQQyGAPt4QIIAB6raEAIZkKisEMKa2/hDAhPoxCQFMfbzdOGZU77Y45pPoibZcgNirfYmAdfc+joB0n8DU5N4Uamu/Fg7qSAK4FYwcCMNlB4Zs1oHDs+TAk4oHJYgTAQeRVDIdEoKbcpBoz9ghSWkxDmmWK3PIcNhjh2ye3XoHmemdloOC3EvaUp5Mr+AlEMChe3kHAvrd8fIvNO4WOjd3Jy6jVLEkIUeYfbv2nHg6lvfh5jI9WkpCGhOrlDimzfCn66zKdjiiOivjRt2OzCfE5Xt9kNQ2UAgQlGZUnpLnFGlagjKDWAexIVtdbWL3owZ3K/GvDsACIoaTk5gRz0uQvAIsRsbl8uaDXjrAHCd4CrJAX1J9AfZt2336UF3oibVNXDxM5amyP0zFIOeNepHAuKexDFJ5pEDOMAJwmV/ZpVFTaoakVKBlinmZmCa5k+XCMxgmdqpLcUW3tcI4NDu5R+V4XUmlZLxKiAZ9moh6YzGti+GAiLNBwG6AJq7qJCaSRUcxJzcKmteSRVoItAiQI6TknNsBq3xQaZwpG8vJsaIA1/iCyrhlQl9mfQ8UZ2S4hvC08G3uoA8pSSDEzdW4EgG3g8xiMVkIpuHOdXvJMoe55O1IiiU42YwNKaDt1MQ2CbIHH0aup6Bx4hAGDPH4oDB9SYuvFYTQesNNgeEziCzCHhMTJK+gE3kzU2ENYhNYZTW6vYc7V2QFGU8Sbqwo6RQ6bIW6bAS6SA73SoltvmDDnQ0XI527qRAuOLegObe2EcYp7ysyl9XLzjaghQmS19XtFiIVUC190krHGhn6lCRi9jRRJz2lMGxro9dqrKqio36oF7ep5Z927K4aKg5fSBTGFc96t8o4Iu9SXH53R4Z4Wbp9yJLuYSxWoVvxxk+YtBdDDfvyy1hqF+rOpbhGwbURSC9WFxP/RwwSdWxSF5QBullPn1oZURiHxo/OALntHGbuLjQd5CKmQ4Q7ngwsQl6pEFrsg4iqhCIjn710njAckhuoXkn+nkPbDEw9dtY6AH/KZTL6T/2TTl3etteyDEP6HXdEnyWpdvnDvNyQyJxxX5z2xIJFR5z2iQ7N7BLvFPlumy8e6fZEpy5vhPihR6+zXP4rdNuAQaF++SBTGWmloGjvVXuuZDkeuRf8lGSt8sIrL3120FavvbXdzz4ChcvhEB4REBFJIBL88TeSSApJIxlYCpoiMpJDCFHIU0BFswydIiXKVKj23Y8wqGFajkWdBk1aVtC2sp+GY9PBoUvPKlz6DBjiMeqF6YyZMGUm29+jyJoNW3adcz57bBxcPHwCQiJQv/z20qtcSUjJyCkoqahlMLxqOnoGBYxMzCxdScAqh1KvZsxqsHVFMildmkuJUmXKVTRiSp6vvpNGTRQlodI+1KglN+DfwmYtWrVpr05Ve221zQEpUqVJr0UrsQvuatPunhS3HXTG/TK67kYHu5pIpizZcuTKk69AoSLFShxSqky5CpWqyqlajVp16h12xFHHHNfghJNOOV15ZzRWqcInxxWpdkK+Eodk1WfObtilztNWyRk/neJuutUFF11y2RVJFa+W+zo88NAjjz3RqUu3NPsX36ffgEFDho0YNSaPY//nxk2YNKX5aS/RjKDr3njrXfiDj9DzuS/NyeCoLNoX349+9qvf/elvSxgCzdp5Px4SdfHY1hN02iFKrjiSDghCRBlUpGUaYhSKxsBaeq5gSp5INr15IxswTnWp6E+sTmimcXQ0fXcfBJwfI2nFxnF7i+V5vBVJFRf4YhrsXADCjfL3fNFJkbNw6lSJJtnROqW45SyWDbpJPAd5v13ooW2zHKQZIr3MqtJRexlRZYk4952eFchBIs6rAAxlbMUclFUgh35cFSkiq5YNhtmAgeqDMA5r1y5jF20fs3qB3+pLX7SXZFIEn3E61KRaPUL0ZNaujVdUZicI80Ts1mXuYu1z1gZhEYJ1+WJRNU4uQOOkFTPbtjGlZRDioD4qqhI3hY3sS7vnlnavhUvVebXQvxWqZTFcvJAiNhnnna+sYeN841QF4XbBrvP4LbKq1hqPMkDO+nHdRqKjMxHz5cVkaeOlmrOGVK3LIs3NXWJn6qTpgGR7C2umkXA59+oJiwhWFp1xfBSqDoOPP+Aj0Oow+NUDPOxdpjbXcDNMFVoMWKZtKhMHxc0EQA8ZInSH2+Jk4EfNEQNTRT3j0wGHjd7k6vzijOJKkLZZFWyHWHW4KloQwrvvqhnY0MSustnEwioIN5581T1Rx1ij+J1ICGidolfs0X65oogLG3dq7TnfVjp7taimbGywsRrGhkBzaduT6GusLhqluZe28ugyo1pRYmJL2YC5BGBKQGYSiKYEwCSQdpRAyy9+0AEn1RSNpS/jfkY8OcAMG0egVTI94kZbRPwiUJmcOO/FcJ6Hi4rFlKwi68gdEiV+APLFxATljVXmJZj1nkNv/479OO5b/6eKKe99yZENJzlW6tnHVHfuSoarII2MyR1TomWjjcp1NIG+DAoNPqXCAKH6xDtWBZmGyifTUO3k/n7v59XPTkVI+snanS107v7CbR6Xn10UDzQQ7+s9AcnP78hIdTefThahfiP1HMYM/sHwDnUrAKUV6LYKqU9woBLBzf0vBMAlCUtcmnDW/Q8DoIwX/DFdmVqyBAZAOcOMMoZnwIgfYBgwI2vMiCdgGAiDv7QLQJYAACIAIwAzAgAAeCYCMBEACMDMYn6F4EocsE9snDY54sXTRtTDISBGmuui0yHhANbNRzveS9t+euO5xXzKk8ayzSIvAnsG2DCPRm5Ti5s09hiiP1gQUOV3InGLfGpgIH07XrAmLiboZMWNX8Q699OmhD1mmyAf9Z+M0J7YZx++6HziExFvGtSnJWbMNo4DuEkd8iHdxQoPfSzoUd23P0K6Vmkmdb4SsLt4L36TPjxTLAAA) format('woff2')}@font-face{font-family:'Familjen Grotesk';font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}+  /* Canonical Adom dark-theme tokens (adom/guides/brand.md) */+  :root{+    --bg:#0d1117;--surface:#161b22;--elevated:#1c2128;--overlay:#21262d;+    --border:#30363d;--border-muted:#21262d;+    --text:#e6edf3;--text2:#8b949e;--text3:#484f58;+    --accent:#00b8b0;--accent-bright:#00e6dc;--purple:#8c6bf7;+    /* aliases used by the viewport + pin-list rules further down */+    --panel:#161b22;--panel2:#1c2128;--muted:#8b949e;+  }+  *{box-sizing:border-box;margin:0;padding:0}+  html,body{height:100%}+  body{background:var(--bg);color:var(--text);font:13px/1.4 'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+  /* ── Canonical Adom app header (adom/guides/adom-app-header.md) ── */+  header{display:flex;align-items:center;gap:12px;padding:0 16px;height:44px;flex:0 0 44px;border-bottom:1px solid var(--border-muted);background:var(--surface);position:relative;font-family:'Familjen Grotesk',sans-serif}+  header .brand{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.01em;cursor:default;flex-shrink:0;outline:none}+  header .brand svg.logo{width:16px;height:16px;flex-shrink:0}+  header .brand:hover .app-name{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}+  header .brand .app-name{color:var(--accent)}+  header .brand .app-subtitle{color:var(--text2);font-weight:500}+  header .brand .sep{color:var(--text3);font-weight:400}+  header .vsep{width:1px;height:18px;background:var(--border);flex-shrink:0}+  header .subject{display:flex;align-items:center;gap:8px;min-width:0;flex:1;cursor:default}+  header .subject-name{color:var(--text);font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}+  header .subject-meta{display:flex;align-items:center;gap:6px;color:var(--text2);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;white-space:nowrap}+  header .subject-meta .sep{color:var(--text3)}+  @media(max-width:720px){header .subject-meta{display:none}}+  /* Floating in-canvas viewer toolbar (frosted, matches the app's glass cards) */+  .tools{position:absolute;left:12px;top:12px;z-index:5;display:flex;gap:3px;padding:3px;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:9px}+  .tools button{width:30px;height:30px;display:grid;place-items:center;background:transparent;border:none;border-radius:6px;color:var(--text2);cursor:pointer;transition:background .15s ease,color .15s ease}+  .tools button:hover{background:var(--elevated);color:var(--accent-bright)}+  .tools button svg{width:16px;height:16px;display:block}+  header .hover-popover{position:absolute;top:calc(100% + 6px);left:16px;background:var(--elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:12px 14px;min-width:300px;max-width:420px;font-family:'Satoshi',sans-serif;font-size:12px;color:var(--text);z-index:99999;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}+  header .hover-popover.show{opacity:1;transform:none;pointer-events:auto}+  header .hover-popover .popover-title{font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}+  header .hover-popover .popover-row{display:flex;gap:12px;padding:3px 0;align-items:baseline}+  header .hover-popover .popover-row .k{color:var(--text3);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;text-transform:lowercase;width:64px;flex-shrink:0}+  header .hover-popover .popover-row .v{color:var(--text);font-family:'Satoshi',sans-serif;font-size:12px;flex:1}+  header .hover-popover .popover-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-muted);display:flex;gap:12px}+  header .hover-popover .popover-link{color:var(--accent);text-decoration:none;font-family:'Familjen Grotesk',sans-serif;font-size:12px;font-weight:600}+  header .hover-popover .popover-link:hover{text-decoration:underline}+  main{flex:1;display:flex;min-height:0}+  .vpwrap{flex:1;position:relative;min-width:0}+  /* Schematic-workbench grid, identical to the main app's #stage. */+  .vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:+      radial-gradient(120% 120% at 50% 30%,rgba(0,184,177,.05),transparent 60%),+      linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px,+      linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px}+  .vp.grab{cursor:grabbing}+  /* Only the DIRECT-CHILD symbol svg gets the pan/zoom transform — scoping to+     `.vp > svg` (not `.vp svg`) keeps it off any nested icon svgs. */+  .vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}+  .hint{position:absolute;right:10px;bottom:9px;color:var(--muted);font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}+  aside{flex:0 0 268px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+  aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}+  aside input{flex:1;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;padding:5px 8px;outline:none}+  aside input:focus{border-color:var(--accent)}+  .pins{flex:1;overflow:auto}+  .pin{padding:7px 12px;border-bottom:1px solid #1a212c;cursor:pointer}+  .pin:hover{background:var(--panel2)}+  .pin.on{background:#15202e}+  .pin .row{display:flex;align-items:center;gap:8px}+  .pin .num{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:#8fa0b4;min-width:22px;text-align:right}+  .pin .nme{font-weight:600;font-size:13px}+  .pin .ty{margin-left:auto;font-size:10px;padding:1px 6px;border-radius:5px;border:1px solid;white-space:nowrap}+  .pin .d{font-size:11.5px;color:#aeb6c2;line-height:1.45;margin:5px 0 1px 30px;display:none}+  .pin.on .d{display:block}+  .empty{color:var(--muted);font-size:12px;padding:14px}+  @media(max-width:620px){aside{flex-basis:200px}}+  /* pin panel header — reads like a studio section */+  aside .ah .atitle{font-family:'Familjen Grotesk',sans-serif;font-weight:600;font-size:12px;color:var(--text);white-space:nowrap}+  aside .ah .acount{margin-left:5px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--text3)}+  /* bottom info bar — mirrors the main app footer */+  footer{flex:0 0 auto;display:flex;align-items:center;height:26px;border-top:1px solid var(--border);background:var(--surface);font-size:11px;color:var(--text2);padding:0 14px;overflow:hidden}+  footer .it{display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:0}+  footer .it+.it::before{content:"";width:1px;height:13px;background:var(--border);margin:0 12px;flex:0 0 1px}+  footer .k{color:var(--text3);text-transform:uppercase;font-size:9px;letter-spacing:.4px;flex:0 0 auto}+  footer .v{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}+  footer .descit{min-width:0;overflow:hidden}+  /* pin hover — highlight + tooltip, parity with the live SymView */+  .vp > svg text,.vp > svg g.stroked-text{pointer-events:none}+  .hit{fill:rgba(0,230,220,0);stroke:none;cursor:pointer}+  .vp > svg g.stroked-text.hl path{stroke:var(--accent-bright)!important;fill:var(--accent-bright)!important}+  .vp > svg path.hl{stroke:var(--accent-bright)!important;stroke-width:.22!important}+  #pinmark{pointer-events:none;fill:rgba(0,230,220,.18);stroke:var(--accent-bright);stroke-width:.12;opacity:0;transition:opacity .1s}+  #tip{position:fixed;z-index:9999;max-width:300px;background:rgba(22,27,34,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(0,184,177,.34);border-radius:10px;padding:9px 12px;color:var(--text);font-size:12px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 12px 40px rgba(0,0,0,.55)}+  #tip.show{opacity:1}+  #tip .r1{display:flex;align-items:baseline;gap:8px;justify-content:space-between}+  #tip .nm{font-weight:700;font-size:13px}+  #tip .pn{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--muted);white-space:nowrap}+  #tip .badge{display:inline-block;margin-top:5px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:.2px}+  #tip .desc{margin-top:6px;color:#aeb6c2;font-size:11.5px}+</style></head>+<body>+  <header>+    <div class="brand" data-tooltip-target="app-info" tabindex="0">+      <svg class="logo" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="7" y="4" width="10" height="16" rx="1.5"/><path d="M7 8H3M7 12H3M7 16H3M21 8h-4M21 12h-4M21 16h-4"/></svg>+      <span class="app-name">adom-symbol</span>+      <span class="sep">·</span>+      <span class="app-subtitle">symbol viewer</span>+    </div>+    <div class="vsep" aria-hidden="true"></div>+    <div class="subject">+      <span class="subject-name">GHR-04V-S</span>+      <span class="subject-meta"><span class="sep">·</span><span>4 pins</span></span>+    </div>+    <div class="hover-popover" id="app-info" role="dialog" aria-label="About adom-symbol">+      <div class="popover-title">adom-symbol</div>+      <div class="popover-row"><span class="k">about</span><span class="v">Interactive KiCad schematic-symbol viewer: pan/zoom, per-pin hover, and a filterable pin list.</span></div>+      <div class="popover-row"><span class="k">version</span><span class="v">v1.2.6</span></div>+      <div class="popover-row"><span class="k">engine</span><span class="v">service-kicad</span></div>+      <div class="popover-row"><span class="k">mfr</span><span class="v">JST</span></div>+      <div class="popover-row"><span class="k">author</span><span class="v">Adom Inc · adom.inc</span></div>+      <div class="popover-actions">+        <a class="popover-link" href="https://wiki.adom.inc/adom/adom-symbol" target="_blank" rel="noopener">Open wiki ↗</a>+      </div>+    </div>+  </header>+  <main>+    <div class="vpwrap">+      <div class="vp" id="vp">+        <div class="tools">+          <button id="zout" title="Zoom out" aria-label="Zoom out"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg></button>+          <button id="zin" title="Zoom in" aria-label="Zoom in"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg></button>+          <button id="fit" title="Fit to window" aria-label="Fit to window"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><rect x="8" y="9" width="8" height="6" rx="1"/></svg></button>+        </div>+        <div class="hint">drag to pan · scroll to zoom</div>+        <svg+  xmlns:svg="http://www.w3.org/2000/svg"+  xmlns="http://www.w3.org/2000/svg"+  xmlns:xlink="http://www.w3.org/1999/xlink"+  xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"+  version="1.1"+  width="16.080mm" height="21.160mm" viewBox="90.9200 89.4200 16.0800 21.1600">++<defs>+  <linearGradient id="adom-body-grad" x1="0" y1="0" x2="0" y2="1">+    <stop offset="0%" stop-color="#1a2332"/>+    <stop offset="100%" stop-color="#141c27"/>+  </linearGradient>+</defs>+<style><![CDATA[+  /* Stroked text groups (KiCad renders text as paths in <g class="stroked-text">) */+  g.stroked-text path {+    stroke: #ffffff !important;+    fill: #ffffff !important;+  }+  text[opacity="0"] {+    fill: #ffffff !important;+  }+  .pin-highlight path {+    stroke: #00e6dc !important;+  }+  .pin-highlight g.stroked-text path {+    stroke: #00e6dc !important;+  }+  .group-highlight g.stroked-text path {+    stroke: #FFD180 !important;+  }+]]></style>+<defs>+  <radialGradient id="adom-canvas-glow" cx="98.96000000000001" cy="100" r="14.812" gradientUnits="userSpaceOnUse">+    <stop offset="0%"  stop-color="#00b8b0" stop-opacity="0.06"/>+    <stop offset="70%" stop-color="#00b8b0" stop-opacity="0"/>+  </radialGradient>+  <pattern id="adom-canvas-grid" x="0" y="0" width="2.54" height="2.54" patternUnits="userSpaceOnUse">+    <line x1="0" y1="0" x2="2.54" y2="0" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+    <line x1="0" y1="0" x2="0" y2="2.54" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+  </pattern>+</defs>+<rect x="90.92" y="89.42" width="16.08" height="21.16" fill="#0d1117"/>+<rect x="90.92" y="89.42" width="16.08" height="21.16" fill="url(#adom-canvas-grid)"/>+<rect x="90.92" y="89.42" width="16.08" height="21.16" fill="url(#adom-canvas-glow)"/>++  +<g style="fill:none; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;+stroke-linecap:round; stroke-linejoin:round;"+ transform="translate(0 0) scale(1 1)">+</g>+<g style="fill:none; fill-opacity:1.0000; +stroke:none; stroke-width:0.0001; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<rect x="0.000000" y="0.000000" width="297.002200" height="210.007200" rx="0.000000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++++++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+<g class="stroked-text">+++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.4000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>++</g>+<g style="fill:url(#adom-body-grad); fill-opacity:1.0000; stroke:none;">+<rect x="100.000000" y="96.190000" width="2.540000" height="7.620000" rx="0.000000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<rect x="100.000000" y="96.190000" width="2.540000" height="7.620000" rx="0.000000" />+<path d="M100.0000 96.1900+L97.4600 96.1900+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="100.5080" y="96.6900"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">1</text>+<g class="stroked-text">+<path d="M101.3701 96.6446+L100.7986 96.6446+" />+<path d="M101.0843 96.6446+L101.0843 95.6446+" />+<path d="M101.0843 95.6446+L100.9891 95.7874+" />+<path d="M100.9891 95.7874+L100.8939 95.8827+" />+<path d="M100.8939 95.8827+L100.7986 95.9303+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="98.7300" y="95.9360"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">1</text>+<g class="stroked-text">+<path d="M99.0157 95.8056+L98.4442 95.8056+" />+<path d="M98.7299 95.8056+L98.7299 94.8056+" />+<path d="M98.7299 94.8056+L98.6347 94.9484+" />+<path d="M98.6347 94.9484+L98.5395 95.0437+" />+<path d="M98.5395 95.0437+L98.4442 95.0913+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M100.0000 98.7300+L97.4600 98.7300+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="100.5080" y="99.2300"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">2</text>+<g class="stroked-text">+<path d="M100.7986 98.2798+L100.8462 98.2322+" />+<path d="M100.8462 98.2322+L100.9415 98.1846+" />+<path d="M100.9415 98.1846+L101.1796 98.1846+" />+<path d="M101.1796 98.1846+L101.2748 98.2322+" />+<path d="M101.2748 98.2322+L101.3224 98.2798+" />+<path d="M101.3224 98.2798+L101.3701 98.3750+" />+<path d="M101.3701 98.3750+L101.3701 98.4703+" />+<path d="M101.3701 98.4703+L101.3224 98.6131+" />+<path d="M101.3224 98.6131+L100.7510 99.1846+" />+<path d="M100.7510 99.1846+L101.3701 99.1846+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="98.7300" y="98.4760"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">2</text>+<g class="stroked-text">+<path d="M98.4442 97.4408+L98.4918 97.3932+" />+<path d="M98.4918 97.3932+L98.5871 97.3456+" />+<path d="M98.5871 97.3456+L98.8252 97.3456+" />+<path d="M98.8252 97.3456+L98.9204 97.3932+" />+<path d="M98.9204 97.3932+L98.9680 97.4408+" />+<path d="M98.9680 97.4408+L99.0157 97.5360+" />+<path d="M99.0157 97.5360+L99.0157 97.6313+" />+<path d="M99.0157 97.6313+L98.9680 97.7741+" />+<path d="M98.9680 97.7741+L98.3966 98.3456+" />+<path d="M98.3966 98.3456+L99.0157 98.3456+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M100.0000 101.2700+L97.4600 101.2700+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="100.5080" y="101.7700"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">3</text>+<g class="stroked-text">+<path d="M100.7510 100.7246+L101.3701 100.7246+" />+<path d="M101.3701 100.7246+L101.0367 101.1055+" />+<path d="M101.0367 101.1055+L101.1796 101.1055+" />+<path d="M101.1796 101.1055+L101.2748 101.1531+" />+<path d="M101.2748 101.1531+L101.3224 101.2008+" />+<path d="M101.3224 101.2008+L101.3701 101.2960+" />+<path d="M101.3701 101.2960+L101.3701 101.5341+" />+<path d="M101.3701 101.5341+L101.3224 101.6293+" />+<path d="M101.3224 101.6293+L101.2748 101.6770+" />+<path d="M101.2748 101.6770+L101.1796 101.7246+" />+<path d="M101.1796 101.7246+L100.8939 101.7246+" />+<path d="M100.8939 101.7246+L100.7986 101.6770+" />+<path d="M100.7986 101.6770+L100.7510 101.6293+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="98.7300" y="101.0160"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">3</text>+<g class="stroked-text">+<path d="M98.3966 99.8856+L99.0157 99.8856+" />+<path d="M99.0157 99.8856+L98.6823 100.2665+" />+<path d="M98.6823 100.2665+L98.8252 100.2665+" />+<path d="M98.8252 100.2665+L98.9204 100.3141+" />+<path d="M98.9204 100.3141+L98.9680 100.3618+" />+<path d="M98.9680 100.3618+L99.0157 100.4570+" />+<path d="M99.0157 100.4570+L99.0157 100.6951+" />+<path d="M99.0157 100.6951+L98.9680 100.7903+" />+<path d="M98.9680 100.7903+L98.9204 100.8380+" />+<path d="M98.9204 100.8380+L98.8252 100.8856+" />+<path d="M98.8252 100.8856+L98.5395 100.8856+" />+<path d="M98.5395 100.8856+L98.4442 100.8380+" />+<path d="M98.4442 100.8380+L98.3966 100.7903+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M100.0000 103.8100+L97.4600 103.8100+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="100.5080" y="104.3100"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">4</text>+<g class="stroked-text">+<path d="M101.2748 103.5979+L101.2748 104.2646+" />+<path d="M101.0367 103.2170+L100.7986 103.9312+" />+<path d="M100.7986 103.9312+L101.4177 103.9312+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="98.7300" y="103.5560"+textLength="1.2096" font-size="1.3333" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">4</text>+<g class="stroked-text">+<path d="M98.9204 102.7589+L98.9204 103.4256+" />+<path d="M98.6823 102.3780+L98.4442 103.0922+" />+<path d="M98.4442 103.0922+L99.0633 103.0922+" />+</g></g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="100.0000" y="95.5550"+textLength="2.2594" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">J?</text>+<g class="stroked-text">+<path d="M99.6371 94.2295+L99.6371 95.1367+" />+<path d="M99.6371 95.1367+L99.5766 95.3181+" />+<path d="M99.5766 95.3181+L99.4557 95.4391+" />+<path d="M99.4557 95.4391+L99.2742 95.4995+" />+<path d="M99.2742 95.4995+L99.1533 95.4995+" />+<path d="M100.4233 95.3786+L100.4837 95.4391+" />+<path d="M100.4837 95.4391+L100.4233 95.4995+" />+<path d="M100.4233 95.4995+L100.3628 95.4391+" />+<path d="M100.3628 95.4391+L100.4233 95.3786+" />+<path d="M100.4233 95.3786+L100.4233 95.4995+" />+<path d="M100.1814 94.2900+L100.3023 94.2295+" />+<path d="M100.3023 94.2295+L100.6047 94.2295+" />+<path d="M100.6047 94.2295+L100.7256 94.2900+" />+<path d="M100.7256 94.2900+L100.7861 94.4110+" />+<path d="M100.7861 94.4110+L100.7861 94.5319+" />+<path d="M100.7861 94.5319+L100.7256 94.6529+" />+<path d="M100.7256 94.6529+L100.6652 94.7133+" />+<path d="M100.6652 94.7133+L100.5442 94.7738+" />+<path d="M100.5442 94.7738+L100.4837 94.8343+" />+<path d="M100.4837 94.8343+L100.4233 94.9552+" />+<path d="M100.4233 94.9552+L100.4233 95.0157+" />+</g><text x="100.0000" y="105.7150"+textLength="11.9356" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">GHR-04V-S</text>+<g class="stroked-text">+<path d="M95.1014 104.4500+L94.9804 104.3895+" />+<path d="M94.9804 104.3895+L94.7990 104.3895+" />+<path d="M94.7990 104.3895+L94.6176 104.4500+" />+<path d="M94.6176 104.4500+L94.4966 104.5710+" />+<path d="M94.4966 104.5710+L94.4361 104.6919+" />+<path d="M94.4361 104.6919+L94.3757 104.9338+" />+<path d="M94.3757 104.9338+L94.3757 105.1152+" />+<path d="M94.3757 105.1152+L94.4361 105.3571+" />+<path d="M94.4361 105.3571+L94.4966 105.4781+" />+<path d="M94.4966 105.4781+L94.6176 105.5991+" />+<path d="M94.6176 105.5991+L94.7990 105.6595+" />+<path d="M94.7990 105.6595+L94.9199 105.6595+" />+<path d="M94.9199 105.6595+L95.1014 105.5991+" />+<path d="M95.1014 105.5991+L95.1618 105.5386+" />+<path d="M95.1618 105.5386+L95.1618 105.1152+" />+<path d="M95.1618 105.1152+L94.9199 105.1152+" />+<path d="M95.7061 105.6595+L95.7061 104.3895+" />+<path d="M95.7061 104.9943+L96.4318 104.9943+" />+<path d="M96.4318 105.6595+L96.4318 104.3895+" />+<path d="M97.7623 105.6595+L97.3390 105.0548+" />+<path d="M97.0366 105.6595+L97.0366 104.3895+" />+<path d="M97.0366 104.3895+L97.5204 104.3895+" />+<path d="M97.5204 104.3895+L97.6414 104.4500+" />+<path d="M97.6414 104.4500+L97.7019 104.5105+" />+<path d="M97.7019 104.5105+L97.7623 104.6314+" />+<path d="M97.7623 104.6314+L97.7623 104.8129+" />+<path d="M97.7623 104.8129+L97.7019 104.9338+" />+<path d="M97.7019 104.9338+L97.6414 104.9943+" />+<path d="M97.6414 104.9943+L97.5204 105.0548+" />+<path d="M97.5204 105.0548+L97.0366 105.0548+" />+<path d="M98.3066 105.1757+L99.2743 105.1757+" />+<path d="M100.1209 104.3895+L100.2419 104.3895+" />+<path d="M100.2419 104.3895+L100.3628 104.4500+" />+<path d="M100.3628 104.4500+L100.4233 104.5105+" />+<path d="M100.4233 104.5105+L100.4838 104.6314+" />+<path d="M100.4838 104.6314+L100.5443 104.8733+" />+<path d="M100.5443 104.8733+L100.5443 105.1757+" />+<path d="M100.5443 105.1757+L100.4838 105.4176+" />+<path d="M100.4838 105.4176+L100.4233 105.5386+" />+<path d="M100.4233 105.5386+L100.3628 105.5991+" />+<path d="M100.3628 105.5991+L100.2419 105.6595+" />+<path d="M100.2419 105.6595+L100.1209 105.6595+" />+<path d="M100.1209 105.6595+L100.0000 105.5991+" />+<path d="M100.0000 105.5991+L99.9395 105.5386+" />+<path d="M99.9395 105.5386+L99.8790 105.4176+" />+<path d="M99.8790 105.4176+L99.8186 105.1757+" />+<path d="M99.8186 105.1757+L99.8186 104.8733+" />+<path d="M99.8186 104.8733+L99.8790 104.6314+" />+<path d="M99.8790 104.6314+L99.9395 104.5105+" />+<path d="M99.9395 104.5105+L100.0000 104.4500+" />+<path d="M100.0000 104.4500+L100.1209 104.3895+" />+<path d="M101.6328 104.8129+L101.6328 105.6595+" />+<path d="M101.3304 104.3291+L101.0281 105.2362+" />+<path d="M101.0281 105.2362+L101.8142 105.2362+" />+<path d="M102.1166 104.3895+L102.5399 105.6595+" />+<path d="M102.5399 105.6595+L102.9633 104.3895+" />+<path d="M103.3866 105.1757+L104.3543 105.1757+" />+<path d="M104.8986 105.5991+L105.0800 105.6595+" />+<path d="M105.0800 105.6595+L105.3824 105.6595+" />+<path d="M105.3824 105.6595+L105.5033 105.5991+" />+<path d="M105.5033 105.5991+L105.5638 105.5386+" />+<path d="M105.5638 105.5386+L105.6243 105.4176+" />+<path d="M105.6243 105.4176+L105.6243 105.2967+" />+<path d="M105.6243 105.2967+L105.5638 105.1757+" />+<path d="M105.5638 105.1757+L105.5033 105.1152+" />+<path d="M105.5033 105.1152+L105.3824 105.0548+" />+<path d="M105.3824 105.0548+L105.1405 104.9943+" />+<path d="M105.1405 104.9943+L105.0195 104.9338+" />+<path d="M105.0195 104.9338+L104.9590 104.8733+" />+<path d="M104.9590 104.8733+L104.8986 104.7524+" />+<path d="M104.8986 104.7524+L104.8986 104.6314+" />+<path d="M104.8986 104.6314+L104.9590 104.5105+" />+<path d="M104.9590 104.5105+L105.0195 104.4500+" />+<path d="M105.0195 104.4500+L105.1405 104.3895+" />+<path d="M105.1405 104.3895+L105.4428 104.3895+" />+<path d="M105.4428 104.3895+L105.6243 104.4500+" />+</g></g> +</svg>+      </div>+    </div>+    <aside>+      <div class="ah"><span class="atitle">Pins <span class="acount">4</span></span><input id="q" placeholder="Filter…"></div>+      <div class="pins" id="pins"></div>+    </aside>+  </main>+  <footer><span class="it"><span class="k">MFR</span><span class="v">JST</span></span><span class="it"><span class="k">PINS</span><span class="v">4</span></span><span class="it descit"><span class="k">DESC</span><span class="v">Four-position JST GH off-board housing</span></span></footer>+  <div id="tip"></div>+<script>// viewer_core.js — the ONE symbol-viewer engine, compiled into BOTH the live+// adom-symbol app (SymView) AND the standalone embed export. Neither file should+// reimplement pan/zoom or pin-hover; they call into here so they can never drift.+window.AdomSymViewer = (function(){+  var ZOOM_K = 0.0022;            // wheel sensitivity (lower = gentler). The feel.+  var MIN_SCALE = 0.05, MAX_SCALE = 60;++  function clampScale(s){ return Math.max(MIN_SCALE, Math.min(s, MAX_SCALE)); }++  // Device-independent wheel zoom: normalize deltaMode + cap one notch, then hand+  // the pointer-anchored factor to the host's zoomAt(cx, cy, factor). This is the+  // exact math the app has always used — the embed now shares it verbatim.+  function attachWheelZoom(el, zoomAt){+    el.addEventListener('wheel', function(e){+      e.preventDefault();+      var d = e.deltaY;+      if(e.deltaMode === 1) d *= 16;                  // lines  -> px+      else if(e.deltaMode === 2) d *= el.clientHeight; // pages -> px+      d = Math.max(-50, Math.min(50, d));              // cap one event's contribution+      var r = el.getBoundingClientRect();+      zoomAt(e.clientX - r.left, e.clientY - r.top, Math.exp(-d * ZOOM_K));+    }, { passive: false });+  }++  // ---- shared pin-hover engine (glyph pairing + hit-box geometry) ----+  function norm(s){ return String(s || '').replace(/[~{}]/g, '').trim(); }++  // Pair each invisible <text opacity="0"> with the visible <g class="stroked-text">+  // glyph that follows it in document order (handles rotated top/bottom pins).+  function glyphLabels(svg){+    var out = [], pending = null;+    if(!svg) return out;+    svg.querySelectorAll('text, g.stroked-text').forEach(function(n){+      if(n.classList && n.classList.contains('stroked-text')){+        if(pending){ var k = norm(pending.textContent); if(k) out.push({ k: k, group: n }); pending = null; }+      } else if(n.getAttribute && n.getAttribute('opacity') === '0'){ pending = n; }+    });+    return out;+  }++  // Build one transparent hit-rect per pin label (number + name), matched to each+  // pin's glyph by proximity to the pin tip (so duplicate names resolve to the+  // right pin). Rects are appended to `svg` in user space so they pan/zoom with it.+  //   pins:   [{number,name,x,y,angle,length,...}]+  //   offset: {x,y} symbol->svg-unit origin (state.offset)+  //   NS:     the svg namespace+  //   cb:     { enter(pin,ev), move(ev), leave(), click(pin,ev)? }+  // Returns { textMap } so the host can highlight a pin's glyphs on demand.+  function buildPinHits(svg, pins, offset, NS, cb){+    var textMap = new Map();+    if(!svg || !offset || !pins || !pins.length) return { textMap: textMap };+    cb = cb || {};+    var gl = glyphLabels(svg);+    gl.forEach(function(o){ if(!textMap.has(o.k)) textMap.set(o.k, []); textMap.get(o.k).push(o.group); });+    var labels = [];+    gl.forEach(function(o){ var b; try { b = o.group.getBBox(); } catch(e){ return; }+      if(!b || !b.width) return;+      labels.push({ k: o.k, box: b, cx: b.x + b.width/2, cy: b.y + b.height/2, used: false }); });+    function pick(k, ax, ay){ k = norm(k); var best = null, bd = 1e9;+      labels.forEach(function(l){ if(l.used || l.k !== k) return; var d = Math.hypot(l.cx - ax, l.cy - ay); if(d < bd){ bd = d; best = l; } });+      if(best) best.used = true; return best; }+    function addBox(b, p){+      var pad = 0.45, r = document.createElementNS(NS, 'rect');+      r.setAttribute('class', 'hit');+      r.setAttribute('x', b.x - pad); r.setAttribute('y', b.y - pad);+      r.setAttribute('width', b.width + pad*2); r.setAttribute('height', b.height + pad*2); r.setAttribute('rx', .3);+      r.addEventListener('mouseenter', function(ev){ if(cb.enter) cb.enter(p, ev); });+      r.addEventListener('mousemove', function(ev){ if(cb.move) cb.move(ev); });+      r.addEventListener('mouseleave', function(){ if(cb.leave) cb.leave(); });+      if(cb.click) r.addEventListener('click', function(ev){ cb.click(p, ev); });+      svg.appendChild(r);+    }+    pins.forEach(function(p){+      var tipX = offset.x + p.x, tipY = offset.y - p.y, L = p.length || 2.54, dx = 0, dy = 0;+      if(p.angle === 0) dx = 1; else if(p.angle === 180) dx = -1; else if(p.angle === 90) dy = -1; else if(p.angle === 270) dy = 1;+      var nl = pick(p.number, tipX + dx*L*0.5, tipY + dy*L*0.5 - (dx !== 0 ? 0.9 : 0));  // number: over the wire+      var ml = pick(p.name,   tipX + dx*(L+2), tipY + dy*(L+2));                          // name: inside the body+      if(nl) addBox(nl.box, p);+      if(ml) addBox(ml.box, p);+      if(!nl && !ml){                                                                      // discrete parts: no glyphs+        var ex = tipX + dx*L, ey = tipY + dy*L, HT = 1.0;+        addBox({ x: Math.min(tipX, ex) - (dx === 0 ? HT : 0.3), y: Math.min(tipY, ey) - (dy === 0 ? HT : 0.3),+                 width: Math.abs(ex - tipX) + (dx === 0 ? HT*2 : 0.6), height: Math.abs(ey - tipY) + (dy === 0 ? HT*2 : 0.6) }, p);+      }+    });+    return { textMap: textMap };+  }++  return {+    ZOOM_K: ZOOM_K, clampScale: clampScale, attachWheelZoom: attachWheelZoom,+    norm: norm, glyphLabels: glyphLabels, buildPinHits: buildPinHits+  };+})();+</script>+<script>+var PINS=[{"angle":0,"color":"#78909c","desc":"","length":2.54,"name":"1","number":"1","type":"Passive","x":-2.54,"y":3.81},{"angle":0,"color":"#78909c","desc":"","length":2.54,"name":"2","number":"2","type":"Passive","x":-2.54,"y":1.27},{"angle":0,"color":"#78909c","desc":"","length":2.54,"name":"3","number":"3","type":"Passive","x":-2.54,"y":-1.27},{"angle":0,"color":"#78909c","desc":"","length":2.54,"name":"4","number":"4","type":"Passive","x":-2.54,"y":-3.81}], OFF={"x":100,"y":100};+(function(){+  // The symbol svg is the DIRECT child of #vp; querySelector('svg') alone would+  // grab a toolbar button's zoom icon (also broke pan/zoom before this fix).+  var vp=document.getElementById('vp'), svg=vp.querySelector(':scope > svg')||vp.querySelector('svg');+  if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+  var scale=1,tx=0,ty=0;+  function apply(){ if(svg) svg.style.transform='translate('+tx+'px,'+ty+'px) scale('+scale+')'; }+  // pointer-anchored zoom with the SHARED scale clamp (same limits as the app).+  function zoomAt(cx,cy,f){ var ns=AdomSymViewer.clampScale(scale*f); var r=ns/scale; tx=cx-(cx-tx)*r; ty=cy-(cy-ty)*r; scale=ns; apply(); }+  function fit(){ scale=1;tx=0;ty=0;apply(); }+  // Wheel/trackpad zoom feel comes from the SHARED engine — identical to SymView.+  AdomSymViewer.attachWheelZoom(vp, zoomAt);+  var drag=false,lx=0,ly=0;+  vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.tools'))return; /* let toolbar buttons receive their click */ drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+  vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+  vp.addEventListener('pointerup',function(e){ drag=false;vp.classList.remove('grab'); });+  document.getElementById('zin').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1.2); };+  document.getElementById('zout').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1/1.2); };+  document.getElementById('fit').onclick=fit;+  // pin panel+  var box=document.getElementById('pins');+  function render(filter){+    box.innerHTML='';+    var f=(filter||'').toLowerCase();+    var shown=PINS.filter(function(p){ return !f || (p.name+' '+p.number+' '+p.type).toLowerCase().indexOf(f)>=0; });+    if(!shown.length){ box.innerHTML='<div class="empty">No pins match.</div>'; return; }+    shown.forEach(function(p){+      var el=document.createElement('div'); el.className='pin';+      var col=p.color||'#8b949e';+      el.innerHTML='<div class="row"><span class="num">'+esc(p.number)+'</span>'+        +'<span class="nme">'+esc(p.name)+'</span>'+        +'<span class="ty" style="color:'+col+';border-color:'+col+'66">'+esc(p.type||'')+'</span></div>'+        +(p.desc?'<div class="d">'+esc(p.desc)+'</div>':'');+      el.onclick=function(){ el.classList.toggle('on'); };+      el.addEventListener('mouseenter',function(){ highlightPin(p); });+      el.addEventListener('mouseleave',function(){ clearHL(); });+      box.appendChild(el);+    });+  }+  function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return{'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'}[c];}); }+  document.getElementById('q').addEventListener('input',function(e){ render(e.target.value); });+  render('');++  // ── pin hover: highlight + tooltip on the SVG, parity with the live SymView ──+  var NS='http://www.w3.org/2000/svg';+  var tip=document.getElementById('tip');+  var textMap=new Map();+  function highlightPin(p){+    clearHL();+    [p.name,p.number].forEach(function(k){ var a=textMap.get(AdomSymViewer.norm(k)); if(a) a.forEach(function(g){ g.classList.add('hl'); }); });+    var m=document.getElementById('pinmark');+    if(m && OFF){ m.setAttribute('cx',OFF.x+p.x); m.setAttribute('cy',OFF.y-p.y); m.setAttribute('r',0.7); m.style.opacity='1'; }+  }+  function clearHL(){+    if(svg) svg.querySelectorAll('.hl').forEach(function(e){ e.classList.remove('hl'); });+    var m=document.getElementById('pinmark'); if(m) m.style.opacity='0';+  }+  function showTip(p,x,y){+    var col=p.color||'#8b949e';+    var h='<div class="r1"><span class="nm">'+esc(p.name||'(unnamed)')+'</span><span class="pn">Pin '+esc(p.number)+'</span></div>';+    if(p.type) h+='<span class="badge" style="background:'+col+'22;color:'+col+';border:1px solid '+col+'44">'+esc(p.type)+'</span>';+    if(p.desc) h+='<div class="desc">'+esc(p.desc)+'</div>';+    tip.innerHTML=h; tip.classList.add('show'); posTip(x,y);+  }+  function posTip(x,y){+    var w=tip.offsetWidth||260, hh=tip.offsetHeight||110, tx=x+14, ty=y+14;+    if(tx+w>innerWidth-14) tx=x-w-14;+    if(ty+hh>innerHeight-14) ty=y-hh-14;+    tip.style.left=Math.max(8,tx)+'px'; tip.style.top=Math.max(8,ty)+'px';+  }+  function hideTip(){ tip.classList.remove('show'); clearHL(); }+  // Build the pin hit-zones with the SHARED engine — the exact glyph-pairing ++  // hit-box code the app's SymView uses. The embed only supplies the tooltip.+  if(svg && OFF){+    if(!document.getElementById('pinmark')){ var pm=document.createElementNS(NS,'circle'); pm.id='pinmark'; svg.appendChild(pm); }+    var hideT=null;+    var hits=AdomSymViewer.buildPinHits(svg, PINS, OFF, NS, {+      enter:function(p,ev){ clearTimeout(hideT); showTip(p,ev.clientX,ev.clientY); highlightPin(p); },+      move:function(ev){ if(tip.classList.contains('show')) posTip(ev.clientX,ev.clientY); },+      leave:function(){ clearTimeout(hideT); hideT=setTimeout(hideTip,45); }+    });+    textMap=hits.textMap;+  }++  apply();+})();++// ── app-info header popover: interactive hover you can move into (600ms show,+//    220ms hide-grace) so the wiki link stays reachable. Per adom-app-header.md. ──+(function(){+  var SHOW_DELAY=600, HIDE_GRACE=220;+  document.querySelectorAll('header [data-tooltip-target]').forEach(function(trigger){+    var target=document.getElementById(trigger.dataset.tooltipTarget);+    if(!target) return;+    var showTimer=null, hideTimer=null;+    function show(){ clearTimeout(hideTimer); if(target.classList.contains('show')) return; clearTimeout(showTimer); showTimer=setTimeout(function(){ target.classList.add('show'); }, SHOW_DELAY); }+    function queueHide(){ clearTimeout(showTimer); clearTimeout(hideTimer); hideTimer=setTimeout(function(){ target.classList.remove('show'); }, HIDE_GRACE); }+    trigger.addEventListener('mouseenter',show); trigger.addEventListener('mouseleave',queueHide);+    trigger.addEventListener('focus',show);      trigger.addEventListener('blur',queueHide);+    target.addEventListener('mouseenter',show);  target.addEventListener('mouseleave',queueHide);+    trigger.addEventListener('click',function(e){ clearTimeout(showTimer); target.classList.toggle('show'); e.stopPropagation(); });+    document.addEventListener('click',function(e){ if(!target.contains(e.target) && !trigger.contains(e.target)) target.classList.remove('show'); });+  });+})();+</script>+</body></html>