@portrayal/juniper-mx240 0.0.0-stage → 5.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,471 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="443.0mm" height="221.2mm" viewBox="0 0 443.0 221.2" data-device="mx240" data-view="front" data-weight="23.6 kg chassis with midplane, fan tray and air filter; 58.1 kg maximum configuration (Table 88)" data-depth-total="705 mm including cable management (Table 88)" data-throughput="3 Tbps-class (datasheet family table)" data-power-typical-w="1860" data-power-envelope="unstated" data-power-typical-scope="AC typical power draw from the MX Series family datasheet, which names no configuration, ambient or side; DC 1690 W" data-base-system-w="40" data-cooling-system-w="85 W high-capacity (70 W normal); dedicated PSU tap, excluded from the output-power budget per the guide note" data-psu-system-output="AC normal-capacity 2054 W low-line / 1590 W high-line; DC normal-capacity 1600 W (Table 95, SYSTEM output for the required PSU set - no per-module nameplate is published)" data-max-thermal-output="AC 7161 BTU/h (2100 W); DC 5074 BTU/h (1488 W) (environmental table; provisioning ceiling)" data-operating-temp="0 C to 40 C" data-storage-temp="-40 C to 70 C in shipping container" data-humidity="5-90 percent noncondensing" data-altitude="no performance degradation to 3048 m" data-seismic="Designed to meet Telcordia Technologies Zone 4 earthquake requirements (environmental table wording, transcribed)" data-eol="announced" data-eol-announcement="https://support.juniper.net/support/eol/product/m_series/">
3
+ <style>
4
+ [data-path] { cursor: pointer; }
5
+ .state-on { --led-color: #22c55e; }
6
+ .state-up { --led-color: #22c55e; }
7
+ /* link and up are the same fact on an Ethernet lamp; see docs/rj45-family-design.md */
8
+ .state-link { --led-color: #22c55e; }
9
+ .state-activity { --led-color: #86efac; }
10
+ .state-ok { --led-color: #22c55e; }
11
+ .state-fault { --led-color: #ef4444; }
12
+ .state-fail { --led-color: #ef4444; }
13
+ .state-locate { --led-color: #3b82f6; }
14
+ .state-absent { opacity: 0.35; }
15
+ /* A SWITCHED OUTLET WITH NO LAMP is dimmed when it is off, as absent is but
16
+ less (docs/pdu-model-design.md section 3.2): every switched PDU in the
17
+ library has a lamp per outlet, and this is the fallback so the first one
18
+ without does not invent a lamp. An outlet a lamp is bound to by `for:`
19
+ carries data-lamped (mark_lamped) and is never dimmed: its lamp says it. */
20
+ [data-class='inlet'][data-states~='off'].state-off:not([data-lamped]) { opacity: 0.55; }
21
+ /* A state is a colour AND a behaviour. Solid and blinking of the same colour
22
+ are different facts on real hardware: on the S9510-28DC a solid green PWR
23
+ is "system power good" and a blinking green PWR is "power good but BMC
24
+ power fail". A blinking state that renders solid is the same failure as a
25
+ state class nothing paints - it looks modelled and is not.
26
+ blink animates opacity rather than fill, because each skin carries its own
27
+ unlit colour in the fill fallback and a keyframe cannot name it. alternate
28
+ animates fill, because two colours is the whole point, and takes its first
29
+ value from the element's own fill. */
30
+ @keyframes portrayal-blink {
31
+ 0%, 49.9% { opacity: 1; }
32
+ 50%, 100% { opacity: 0; }
33
+ }
34
+ @keyframes portrayal-alternate {
35
+ 0%, 49.9% { fill: var(--led-color, #3a3f44); }
36
+ 50%, 100% { fill: var(--led-color-alt, #3a3f44); }
37
+ }
38
+ .portrayal-highlight { filter: drop-shadow(0 0 1.2px #f59e0b) drop-shadow(0 0 0.5px #f59e0b); }
39
+ .portrayal-dim { opacity: 0.25; }
40
+ [data-class='region'].portrayal-highlight { stroke: #f59e0b; stroke-width: 0.7; filter: none; }
41
+ .state-fail[data-class='psu'], .state-fail[data-class='fan'] { filter: drop-shadow(0 0 1.4px #ef4444); }
42
+
43
+ g[data-ref^='juniper/mx240-craft@'] .state-blinking { --led-color: #39b54a; }
44
+ g[data-ref^='juniper/mx240-craft@'] .state-blinking { animation: portrayal-blink 1s linear infinite; }
45
+ g[data-ref^='juniper/mx240-craft@'] .state-green { --led-color: #39b54a; }
46
+ g[data-ref^='juniper/mx240-craft@'] .state-red { --led-color: #d0021b; }
47
+ g[data-ref^='juniper/mx240-craft@'] .state-yellow { --led-color: #f5a623; }
48
+ </style>
49
+ <metadata>{"device":"Juniper MX240","device-version":"5.0.2","generator":{"tool":"portrayal-render","version":"0.2.0"},"resolved-components":{"common/esd-jack@1":"1.0.0","common/rj45-eth@1":"1.2.0","juniper/mx-dpc-blank@2":"2.0.0","juniper/mx240-craft@1":"1.1.0","juniper/re-s-1300@2":"2.0.0","juniper/scb-mx@3":"3.0.0","std/rj45@2":"2.1.0","std/usb-a@1":"1.3.0"},"source-sha256":"909378526d3f74e5a000bcf154818a7a9429d679c77f15e0e04fabd97f8c2ab4","view":"front"}</metadata>
50
+ <rect id="chassis-faceplate" data-path="chassis" data-class="chassis" data-model="MX240" x="0" y="0" width="443" height="221.2" rx="1.2" fill="#43474c" stroke="#22262a" stroke-width="0.5" />
51
+ <defs>
52
+ <pattern id="portrayal-vent" width="8.86" height="5.11" patternUnits="userSpaceOnUse">
53
+ <path d="M 2.55 0 L 1.275 2.208 L -1.275 2.208 L -2.55 0 L -1.275 -2.208 L 1.275 -2.208 Z" fill="#17191c" />
54
+ <path d="M 11.41 0 L 10.135 2.208 L 7.585 2.208 L 6.31 0 L 7.585 -2.208 L 10.135 -2.208 Z" fill="#17191c" />
55
+ <path d="M 6.98 2.555 L 5.705 4.763 L 3.155 4.763 L 1.88 2.555 L 3.155 0.347 L 5.705 0.347 Z" fill="#17191c" />
56
+ <path d="M 2.55 5.11 L 1.275 7.318 L -1.275 7.318 L -2.55 5.11 L -1.275 2.902 L 1.275 2.902 Z" fill="#17191c" />
57
+ <path d="M 11.41 5.11 L 10.135 7.318 L 7.585 7.318 L 6.31 5.11 L 7.585 2.902 L 10.135 2.902 Z" fill="#17191c" />
58
+ </pattern>
59
+ </defs>
60
+ <g id="--decor" data-class="decor">
61
+ <rect id="vent-field-0" data-kind="vent-field" data-aperture="air" x="25.1" y="3" width="231.8" height="23.6" rx="0.6" fill="url(#portrayal-vent)" data-vent="40" />
62
+ <rect id="plate-0" data-kind="plate" x="10.5" y="83.8" width="24.9" height="124" rx="0.6" fill="#7b7c80" />
63
+ <rect id="plate-1" data-kind="plate" x="16.8" y="95.7" width="10.6" height="7.2" rx="3" fill="#e8e9eb" />
64
+ <rect id="plate-2" data-kind="plate" x="16.8" y="126.7" width="10.6" height="7.2" rx="3" fill="#e8e9eb" />
65
+ <rect id="plate-3" data-kind="plate" x="16.8" y="157.7" width="5.3" height="7.2" rx="3" fill="#8fcbeb" />
66
+ <rect id="plate-4" data-kind="plate" x="22.1" y="157.7" width="5.3" height="7.2" rx="3" fill="#e8e9eb" />
67
+ <rect id="plate-5" data-kind="plate" x="16.8" y="188.7" width="10.6" height="7.2" rx="3" fill="#8fcbeb" />
68
+ </g>
69
+ <g id="--cutouts" data-class="cutouts">
70
+ <ellipse cx="8" cy="17" rx="2" ry="2" fill="#101214" id="cutout--esd-front" data-path="cutout:esd-front" data-class="cutout" />
71
+ </g>
72
+ <g id="--silkscreen" data-class="silkscreen">
73
+ <path d="M -1.4 1.2 L 0 -1.2 L 1.4 1.2 Z M -2.1 2.2 L -0.9 2.2 M 0.9 2.2 L 2.1 2.2" fill="none" stroke="#c7ccd1" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" transform="translate(8 24.4)" data-path="silk:0" data-class="silkscreen" data-group="silkscreen" data-group-role="marking" data-for="chassis" />
74
+ <text x="22.1" y="100.2" font-family="sans-serif" font-size="2.6" text-anchor="middle" fill="#3a3e43" data-path="silk:1" data-class="silkscreen" data-group="silkscreen" data-group-role="marking" data-for="dpc2">2</text>
75
+ <text x="22.1" y="131.2" font-family="sans-serif" font-size="2.6" text-anchor="middle" fill="#3a3e43" data-path="silk:2" data-class="silkscreen" data-group="silkscreen" data-group-role="marking" data-for="dpc1">1</text>
76
+ <text x="22.1" y="162.2" font-family="sans-serif" font-size="2.2" text-anchor="middle" fill="#3a3e43" data-path="silk:3" data-class="silkscreen" data-group="silkscreen" data-group-role="marking" data-for="scb1-dpc0">1/0</text>
77
+ <text x="22.1" y="193.2" font-family="sans-serif" font-size="2.6" text-anchor="middle" fill="#3a3e43" data-path="silk:4" data-class="silkscreen" data-group="silkscreen" data-group-role="marking" data-for="scb0">0</text>
78
+ </g>
79
+ <g id="craft" data-path="craft" data-class="bay" data-group="craft" data-group-role="management" data-rel-pos="0">
80
+ <title>craft</title>
81
+ <rect id="craft--opening" x="11.5" y="32.8" width="420.9" height="42.5" fill="#101214" />
82
+ <g id="craft--module" data-path="craft/module" data-class="display" data-behaviour="fills" data-ref="juniper/mx240-craft@1:1.1.0" data-model="MX240 Craft Interface" data-power-absent="not-published" data-states="absent" transform="translate(221.95,54.05) translate(-210.45,-21.25)">
83
+ <title>craft--module</title>
84
+ <rect id="craft--module--face" x="0" y="0" width="420.9" height="42.5" rx="0.6" fill="#8b8f94" stroke="#6d7278" stroke-width="0.4" />
85
+ <rect x="0" y="40.7" width="420.9" height="1.8" fill="#b7dcec" />
86
+ <g id="craft--module--silkscreen">
87
+ <g id="craft--module--t1-silkscreen">
88
+ <text x="14.0" y="10.5" font-family="Arial" font-size="5.2" fill="#f0f1f2" text-anchor="start">JUNIPER</text>
89
+ </g>
90
+ <g id="craft--module--t2-silkscreen">
91
+ <text x="30.5" y="13.5" font-family="Arial" font-size="1.6" fill="#d7dadd" text-anchor="middle">NETWORKS</text>
92
+ </g>
93
+ <g id="craft--module--t3-silkscreen">
94
+ <text x="48.0" y="10.8" font-family="Arial" font-size="3.6" fill="#f0f1f2" text-anchor="start">MX240</text>
95
+ </g>
96
+ <g id="craft--module--t4-silkscreen">
97
+ <text x="404.0" y="30.0" font-family="Arial" font-size="3.0" fill="#f0f1f2" text-anchor="middle">junos</text>
98
+ </g>
99
+ </g>
100
+ <circle id="craft--module--led-re0-master" cx="95.9" cy="7.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-re0-master" data-class="led" data-states="green off" />
101
+ <circle id="craft--module--led-re0-online" cx="95.9" cy="12.1" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-re0-online" data-class="led" data-states="green off" />
102
+ <circle id="craft--module--led-re0-offline" cx="95.9" cy="16.7" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-re0-offline" data-class="led" data-states="red off" />
103
+ <g id="craft--module--t5-silkscreen">
104
+ <text x="95.9" y="21.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">RE0</text>
105
+ </g>
106
+ <circle id="craft--module--led-re1-master" cx="128.1" cy="7.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-re1-master" data-class="led" data-states="green off" />
107
+ <circle id="craft--module--led-re1-online" cx="128.1" cy="12.1" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-re1-online" data-class="led" data-states="green off" />
108
+ <circle id="craft--module--led-re1-offline" cx="128.1" cy="16.7" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-re1-offline" data-class="led" data-states="red off" />
109
+ <g id="craft--module--t6-silkscreen">
110
+ <text x="128.1" y="21.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">RE1</text>
111
+ </g>
112
+ <g id="craft--module--t7-silkscreen">
113
+ <text x="112.0" y="8.1" font-family="Arial" font-size="1.7" fill="#3a3e43" text-anchor="middle">MASTER</text>
114
+ </g>
115
+ <g id="craft--module--t8-silkscreen">
116
+ <text x="112.0" y="12.7" font-family="Arial" font-size="1.7" fill="#3a3e43" text-anchor="middle">ONLINE</text>
117
+ </g>
118
+ <g id="craft--module--t9-silkscreen">
119
+ <text x="112.0" y="17.3" font-family="Arial" font-size="1.7" fill="#3a3e43" text-anchor="middle">OFFLINE</text>
120
+ </g>
121
+ <circle id="craft--module--led-fan-ok" cx="176.4" cy="7.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-fan-ok" data-class="led" data-states="green off" />
122
+ <circle id="craft--module--led-fan-fail" cx="176.4" cy="12.1" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-fan-fail" data-class="led" data-states="red off" />
123
+ <g id="craft--module--t10-silkscreen">
124
+ <text x="176.4" y="18.3" font-family="Arial" font-size="1.7" fill="#3a3e43" text-anchor="middle">FAN</text>
125
+ </g>
126
+ <circle id="craft--module--led-pem0-ok" cx="229.8" cy="7.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem0-ok" data-class="led" data-states="green off" />
127
+ <circle id="craft--module--led-pem0-fail" cx="229.8" cy="12.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem0-fail" data-class="led" data-states="red off" />
128
+ <g id="craft--module--t11-silkscreen">
129
+ <text x="229.8" y="18.3" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">0</text>
130
+ </g>
131
+ <circle id="craft--module--led-pem1-ok" cx="236.4" cy="7.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem1-ok" data-class="led" data-states="green off" />
132
+ <circle id="craft--module--led-pem1-fail" cx="236.4" cy="12.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem1-fail" data-class="led" data-states="red off" />
133
+ <g id="craft--module--t12-silkscreen">
134
+ <text x="236.4" y="18.3" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">1</text>
135
+ </g>
136
+ <circle id="craft--module--led-pem2-ok" cx="243.3" cy="7.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem2-ok" data-class="led" data-states="green off" />
137
+ <circle id="craft--module--led-pem2-fail" cx="243.3" cy="12.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem2-fail" data-class="led" data-states="red off" />
138
+ <g id="craft--module--t13-silkscreen">
139
+ <text x="243.3" y="18.3" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">2</text>
140
+ </g>
141
+ <circle id="craft--module--led-pem3-ok" cx="250.1" cy="7.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem3-ok" data-class="led" data-states="green off" />
142
+ <circle id="craft--module--led-pem3-fail" cx="250.1" cy="12.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-pem3-fail" data-class="led" data-states="red off" />
143
+ <g id="craft--module--t14-silkscreen">
144
+ <text x="250.1" y="18.3" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">3</text>
145
+ </g>
146
+ <g id="craft--module--t15-silkscreen">
147
+ <text x="222.0" y="18.3" font-family="Arial" font-size="1.7" fill="#3a3e43" text-anchor="end">PEM</text>
148
+ </g>
149
+ <path id="craft--module--led-alarm-minor" d="M 294.0 8.2 l 3.4 6.2 l -6.8 0 Z" fill="var(--led-color, #e8e26a)" stroke="#b8b23e" stroke-width="0.4" data-path="craft/module/led-alarm-minor" data-class="led" data-states="yellow off" />
150
+ <circle id="craft--module--led-alarm-major" cx="319.2" cy="11.5" r="3.4" fill="var(--led-color, #e88a97)" stroke="#c05a68" stroke-width="0.4" data-path="craft/module/led-alarm-major" data-class="led" data-states="red off" />
151
+ <circle id="craft--module--btn-aco" cx="336.5" cy="11.5" r="4.2" fill="#d7dadd" stroke="#9ba0a6" stroke-width="0.4" />
152
+ <g id="craft--module--t16-silkscreen">
153
+ <text x="336.5" y="12.3" font-family="Arial" font-size="1.3" fill="#3a3e43" text-anchor="middle">ACO/LT</text>
154
+ </g>
155
+ <g id="craft--module--t17-silkscreen">
156
+ <text x="372.5" y="5.4" font-family="Arial" font-size="1.4" fill="#3a3e43" text-anchor="middle">YELLOW ALARM</text>
157
+ </g>
158
+ <rect id="craft--module--relay-yellow" x="359.5" y="6.6" width="26.0" height="7.4" rx="0.8" fill="#3f8f4f" stroke="#2c6338" stroke-width="0.4" />
159
+ <circle cx="364.5" cy="10.3" r="2.0" fill="#173820" stroke="#2c6338" stroke-width="0.3" />
160
+ <g id="craft--module--t18-silkscreen">
161
+ <text x="364.5" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle">NC</text>
162
+ </g>
163
+ <circle cx="372.5" cy="10.3" r="2.0" fill="#173820" stroke="#2c6338" stroke-width="0.3" />
164
+ <g id="craft--module--t19-silkscreen">
165
+ <text x="372.5" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle">C</text>
166
+ </g>
167
+ <circle cx="380.5" cy="10.3" r="2.0" fill="#173820" stroke="#2c6338" stroke-width="0.3" />
168
+ <g id="craft--module--t20-silkscreen">
169
+ <text x="380.5" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle">NO</text>
170
+ </g>
171
+ <g id="craft--module--t21-silkscreen">
172
+ <text x="405.5" y="5.4" font-family="Arial" font-size="1.4" fill="#3a3e43" text-anchor="middle">RED ALARM</text>
173
+ </g>
174
+ <rect id="craft--module--relay-red" x="392.5" y="6.6" width="26.0" height="7.4" rx="0.8" fill="#3f8f4f" stroke="#2c6338" stroke-width="0.4" />
175
+ <circle cx="397.5" cy="10.3" r="2.0" fill="#173820" stroke="#2c6338" stroke-width="0.3" />
176
+ <g id="craft--module--t22-silkscreen">
177
+ <text x="397.5" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle">NC</text>
178
+ </g>
179
+ <circle cx="405.5" cy="10.3" r="2.0" fill="#173820" stroke="#2c6338" stroke-width="0.3" />
180
+ <g id="craft--module--t23-silkscreen">
181
+ <text x="405.5" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle">C</text>
182
+ </g>
183
+ <circle cx="413.5" cy="10.3" r="2.0" fill="#173820" stroke="#2c6338" stroke-width="0.3" />
184
+ <g id="craft--module--t24-silkscreen">
185
+ <text x="413.5" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle">NO</text>
186
+ </g>
187
+ <g id="craft--module--t25-silkscreen">
188
+ <text x="82.3" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">OK</text>
189
+ </g>
190
+ <circle id="craft--module--led-slot-0-ok" cx="87.8" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-0-ok" data-class="led" data-states="green blinking off" />
191
+ <g id="craft--module--t26-silkscreen">
192
+ <text x="98.8" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">FAIL</text>
193
+ </g>
194
+ <circle id="craft--module--led-slot-0-fail" cx="105.3" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-0-fail" data-class="led" data-states="red off" />
195
+ <ellipse cx="97.3" cy="31.2" rx="6.4" ry="4.2" fill="#9fc8e8" stroke="#6d9cc0" stroke-width="0.4" />
196
+ <g id="craft--module--t27-silkscreen">
197
+ <text x="97.3" y="32.4" font-family="Arial" font-size="2.2" fill="#26313a" text-anchor="middle">0</text>
198
+ </g>
199
+ <g id="craft--module--t28-silkscreen">
200
+ <text x="111.1" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">OK</text>
201
+ </g>
202
+ <circle id="craft--module--led-slot-1-0-ok" cx="116.6" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-1-0-ok" data-class="led" data-states="green blinking off" />
203
+ <g id="craft--module--t29-silkscreen">
204
+ <text x="127.6" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">FAIL</text>
205
+ </g>
206
+ <circle id="craft--module--led-slot-1-0-fail" cx="134.1" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-1-0-fail" data-class="led" data-states="red off" />
207
+ <ellipse cx="126.1" cy="31.2" rx="6.4" ry="4.2" fill="#9fc8e8" stroke="#6d9cc0" stroke-width="0.4" />
208
+ <g id="craft--module--t30-silkscreen">
209
+ <text x="126.1" y="32.4" font-family="Arial" font-size="2.2" fill="#26313a" text-anchor="middle">1/0</text>
210
+ </g>
211
+ <g id="craft--module--t31-silkscreen">
212
+ <text x="145.6" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">OK</text>
213
+ </g>
214
+ <circle id="craft--module--led-slot-1-ok" cx="151.1" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-1-ok" data-class="led" data-states="green blinking off" />
215
+ <g id="craft--module--t32-silkscreen">
216
+ <text x="162.1" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">FAIL</text>
217
+ </g>
218
+ <circle id="craft--module--led-slot-1-fail" cx="168.6" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-1-fail" data-class="led" data-states="red off" />
219
+ <ellipse cx="160.6" cy="31.2" rx="6.4" ry="4.2" fill="#9fc8e8" stroke="#6d9cc0" stroke-width="0.4" />
220
+ <g id="craft--module--t33-silkscreen">
221
+ <text x="160.6" y="32.4" font-family="Arial" font-size="2.2" fill="#26313a" text-anchor="middle">1</text>
222
+ </g>
223
+ <g id="craft--module--t34-silkscreen">
224
+ <text x="176.2" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">OK</text>
225
+ </g>
226
+ <circle id="craft--module--led-slot-2-ok" cx="181.7" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-2-ok" data-class="led" data-states="green blinking off" />
227
+ <g id="craft--module--t35-silkscreen">
228
+ <text x="192.7" y="26.1" font-family="Arial" font-size="1.6" fill="#3a3e43" text-anchor="middle">FAIL</text>
229
+ </g>
230
+ <circle id="craft--module--led-slot-2-fail" cx="199.2" cy="25.5" r="0.9" fill="var(--led-color, #0f1113)" stroke="#3a3e43" stroke-width="0.25" data-path="craft/module/led-slot-2-fail" data-class="led" data-states="red off" />
231
+ <ellipse cx="191.2" cy="31.2" rx="6.4" ry="4.2" fill="#9fc8e8" stroke="#6d9cc0" stroke-width="0.4" />
232
+ <g id="craft--module--t36-silkscreen">
233
+ <text x="191.2" y="32.4" font-family="Arial" font-size="2.2" fill="#26313a" text-anchor="middle">2</text>
234
+ </g>
235
+ <g id="craft--module--panel-screws">
236
+ <circle cx="6.5" cy="21.2" r="2.0" fill="#b0b4b9" stroke="#7d8288" stroke-width="0.35" />
237
+ <circle cx="414.4" cy="21.2" r="2.0" fill="#b0b4b9" stroke="#7d8288" stroke-width="0.35" />
238
+ </g>
239
+ </g>
240
+ </g>
241
+ <g id="dpc2" data-path="dpc2" data-class="bay" data-group="slots" data-group-role="traffic" data-rel-pos="3">
242
+ <title>dpc2</title>
243
+ <rect id="dpc2--opening" x="37.25" y="84.55" width="396" height="29.5" fill="#101214" />
244
+ <g id="dpc2--module" data-path="dpc2/module" data-class="blank" data-behaviour="fills" data-ref="juniper/mx-dpc-blank@2:2.0.0" data-model="MX Series DPC slot blank" data-states="absent" transform="translate(235.25,99.3) translate(-206.75,-14.75)">
245
+ <title>dpc2--module</title>
246
+ <rect id="dpc2--module--plate" x="8.75" y="0" width="396" height="29.5" rx="0.6" fill="#c9ccd0" stroke="#9ba0a6" stroke-width="0.4" />
247
+ <g id="dpc2--module--knob-left">
248
+ <rect x="4.7" y="9.9" width="19.6" height="9.0" rx="4.5" fill="#6f7378" stroke="#4f5358" stroke-width="0.3" />
249
+ <rect x="10.8" y="11.6" width="1.8" height="5.6" rx="0.9" fill="#2b2f33" />
250
+ </g>
251
+ <g id="dpc2--module--knob-right">
252
+ <rect x="389.2" y="9.9" width="19.6" height="9.0" rx="4.5" fill="#6f7378" stroke="#4f5358" stroke-width="0.3" />
253
+ <rect x="399.4" y="11.6" width="1.8" height="5.6" rx="0.9" fill="#2b2f33" />
254
+ </g>
255
+ <g id="dpc2--module--silkscreen">
256
+ <path id="dpc2--module--latch-mark" d="M 20.7 9.3 L 25.7 5.1 M 23.8 5.6 Q 27.2 9.0 26.9 13.6 M 24.1 14.4 L 28.8 14.4" fill="none" stroke="#3a3e43" stroke-width="0.3" />
257
+ <text x="27.3" y="5.3" font-family="Arial" font-size="4.2" fill="#3a3e43" text-anchor="middle" transform="rotate(90 27.3 5.3)">0</text>
258
+ <text x="31.1" y="14.7" font-family="Arial" font-size="4.2" fill="#3a3e43" text-anchor="middle" transform="rotate(90 31.1 14.7)">1</text>
259
+ </g>
260
+ </g>
261
+ </g>
262
+ <g id="dpc1" data-path="dpc1" data-class="bay" data-group="slots" data-group-role="traffic" data-rel-pos="2">
263
+ <title>dpc1</title>
264
+ <rect id="dpc1--opening" x="37.25" y="115.55" width="396" height="29.5" fill="#101214" />
265
+ <g id="dpc1--module" data-path="dpc1/module" data-class="blank" data-behaviour="fills" data-ref="juniper/mx-dpc-blank@2:2.0.0" data-model="MX Series DPC slot blank" data-states="absent" transform="translate(235.25,130.3) translate(-206.75,-14.75)">
266
+ <title>dpc1--module</title>
267
+ <rect id="dpc1--module--plate" x="8.75" y="0" width="396" height="29.5" rx="0.6" fill="#c9ccd0" stroke="#9ba0a6" stroke-width="0.4" />
268
+ <g id="dpc1--module--knob-left">
269
+ <rect x="4.7" y="9.9" width="19.6" height="9.0" rx="4.5" fill="#6f7378" stroke="#4f5358" stroke-width="0.3" />
270
+ <rect x="10.8" y="11.6" width="1.8" height="5.6" rx="0.9" fill="#2b2f33" />
271
+ </g>
272
+ <g id="dpc1--module--knob-right">
273
+ <rect x="389.2" y="9.9" width="19.6" height="9.0" rx="4.5" fill="#6f7378" stroke="#4f5358" stroke-width="0.3" />
274
+ <rect x="399.4" y="11.6" width="1.8" height="5.6" rx="0.9" fill="#2b2f33" />
275
+ </g>
276
+ <g id="dpc1--module--silkscreen">
277
+ <path id="dpc1--module--latch-mark" d="M 20.7 9.3 L 25.7 5.1 M 23.8 5.6 Q 27.2 9.0 26.9 13.6 M 24.1 14.4 L 28.8 14.4" fill="none" stroke="#3a3e43" stroke-width="0.3" />
278
+ <text x="27.3" y="5.3" font-family="Arial" font-size="4.2" fill="#3a3e43" text-anchor="middle" transform="rotate(90 27.3 5.3)">0</text>
279
+ <text x="31.1" y="14.7" font-family="Arial" font-size="4.2" fill="#3a3e43" text-anchor="middle" transform="rotate(90 31.1 14.7)">1</text>
280
+ </g>
281
+ </g>
282
+ </g>
283
+ <g id="scb1-dpc0" data-path="scb1-dpc0" data-class="bay" data-group="slots" data-group-role="traffic" data-rel-pos="1">
284
+ <title>scb1-dpc0</title>
285
+ <rect id="scb1-dpc0--opening" x="37.25" y="146.55" width="396" height="29.5" fill="#101214" />
286
+ <g id="scb1-dpc0--module" data-path="scb1-dpc0/module" data-class="blank" data-behaviour="fills" data-ref="juniper/mx-dpc-blank@2:2.0.0" data-model="MX Series DPC slot blank" data-states="absent" transform="translate(235.25,161.3) translate(-206.75,-14.75)">
287
+ <title>scb1-dpc0--module</title>
288
+ <rect id="scb1-dpc0--module--plate" x="8.75" y="0" width="396" height="29.5" rx="0.6" fill="#c9ccd0" stroke="#9ba0a6" stroke-width="0.4" />
289
+ <g id="scb1-dpc0--module--knob-left">
290
+ <rect x="4.7" y="9.9" width="19.6" height="9.0" rx="4.5" fill="#6f7378" stroke="#4f5358" stroke-width="0.3" />
291
+ <rect x="10.8" y="11.6" width="1.8" height="5.6" rx="0.9" fill="#2b2f33" />
292
+ </g>
293
+ <g id="scb1-dpc0--module--knob-right">
294
+ <rect x="389.2" y="9.9" width="19.6" height="9.0" rx="4.5" fill="#6f7378" stroke="#4f5358" stroke-width="0.3" />
295
+ <rect x="399.4" y="11.6" width="1.8" height="5.6" rx="0.9" fill="#2b2f33" />
296
+ </g>
297
+ <g id="scb1-dpc0--module--silkscreen">
298
+ <path id="scb1-dpc0--module--latch-mark" d="M 20.7 9.3 L 25.7 5.1 M 23.8 5.6 Q 27.2 9.0 26.9 13.6 M 24.1 14.4 L 28.8 14.4" fill="none" stroke="#3a3e43" stroke-width="0.3" />
299
+ <text x="27.3" y="5.3" font-family="Arial" font-size="4.2" fill="#3a3e43" text-anchor="middle" transform="rotate(90 27.3 5.3)">0</text>
300
+ <text x="31.1" y="14.7" font-family="Arial" font-size="4.2" fill="#3a3e43" text-anchor="middle" transform="rotate(90 31.1 14.7)">1</text>
301
+ </g>
302
+ </g>
303
+ </g>
304
+ <g id="scb0" data-path="scb0" data-class="bay" data-group="scbs" data-group-role="service" data-rel-pos="0">
305
+ <title>scb0</title>
306
+ <rect id="scb0--opening" x="37.25" y="177.55" width="396" height="29.5" fill="#101214" />
307
+ <g id="scb0--module" data-path="scb0/module" data-class="supervisor" data-behaviour="fills" data-ref="juniper/scb-mx@3:3.0.0" data-model="SCB-MX" data-power-draw-max-w="185" data-power-draw-typical-w="155" data-states="ok fail absent" transform="translate(235.25,192.3) translate(-206.75,-14.75)">
308
+ <title>scb0--module</title>
309
+ <rect id="scb0--module--plate" x="8.75" y="0" width="396" height="29.5" rx="0.6" fill="#c9ccd0" stroke="#9ba0a6" stroke-width="0.4" />
310
+ <g id="scb0--module--re" data-path="scb0/module/re" data-class="bay">
311
+ <rect id="scb0--module--re--opening" x="91.44" y="1.0" width="271.9" height="27.5" fill="#bfc3c7" />
312
+ <g id="scb0--module--re--module" data-path="scb0/module/re/module" data-class="supervisor" data-behaviour="fills" data-ref="juniper/re-s-1300@2:2.0.0" data-cpu="1.3 GHz" data-lifecycle-note="EOL per TSB16556; modelled because it is the RE the reference photograph carries" data-memory="2 GB" data-model="RE-S-1300-2048" data-power-draw-max-w="90" data-states="ok fail absent" transform="translate(91.44,1.0)">
313
+ <title>scb0--module--re--module</title>
314
+ <rect id="scb0--module--re--module--face" x="0" y="0" width="271.9" height="27.5" rx="0.6" fill="#c9ccd0" stroke="#9ba0a6" stroke-width="0.4" />
315
+ <g id="scb0--module--re--module--latch" data-path="scb0/module/re/module/latch" data-class="latch">
316
+ <rect x="1.0" y="6.0" width="5.0" height="16.0" rx="1.6" fill="#b0b4b9" stroke="#7d8288" stroke-width="0.4" />
317
+ </g>
318
+ <g id="scb0--module--re--module--captive-screw-right">
319
+ <circle cx="266.4" cy="10.5" r="3.6" fill="#b0b4b9" stroke="#7d8288" stroke-width="0.4" />
320
+ <path d="M 264.9 10.5 L 267.9 10.5 M 266.4 9.0 L 266.4 12.0" stroke="#3a3e43" stroke-width="0.5" />
321
+ </g>
322
+ <g id="scb0--module--re--module--lamps">
323
+ <circle id="scb0--module--re--module--led-hdd" cx="42.7" cy="11.6" r="0.9" fill="#0f1113" stroke="#3a3e43" stroke-width="0.25" />
324
+ <circle id="scb0--module--re--module--led-master" cx="47.6" cy="11.6" r="0.9" fill="#0f1113" stroke="#3a3e43" stroke-width="0.25" />
325
+ <circle id="scb0--module--re--module--led-ok-fail" cx="42.7" cy="16.4" r="0.9" fill="var(--led-color, #3a3f44)" stroke="#3a3e43" stroke-width="0.25" />
326
+ <circle id="scb0--module--re--module--led-online" cx="47.6" cy="16.4" r="0.9" fill="#0f1113" stroke="#3a3e43" stroke-width="0.25" />
327
+ <circle id="scb0--module--re--module--btn-online" cx="87.4" cy="14.6" r="1.9" fill="#26292d" stroke="#565b60" stroke-width="0.35" />
328
+ <circle id="scb0--module--re--module--btn-reset" cx="97.0" cy="16.2" r="1.1" fill="#17191c" />
329
+ </g>
330
+ <g id="scb0--module--re--module--silkscreen">
331
+ <g id="scb0--module--re--module--t41-silkscreen">
332
+ <text x="12.0" y="8.6" font-family="Arial" font-size="2.0" fill="#3a3e43" text-anchor="start">RE-S-1300</text>
333
+ </g>
334
+ <g id="scb0--module--re--module--t42-silkscreen">
335
+ <text x="40.7" y="12.2" font-family="Arial" font-size="1.4" fill="#3a3e43" text-anchor="end">HDD</text>
336
+ </g>
337
+ <g id="scb0--module--re--module--t43-silkscreen">
338
+ <text x="49.6" y="12.2" font-family="Arial" font-size="1.4" fill="#3a3e43" text-anchor="start">MASTER</text>
339
+ </g>
340
+ <g id="scb0--module--re--module--t44-silkscreen">
341
+ <text x="40.7" y="17.0" font-family="Arial" font-size="1.4" fill="#3a3e43" text-anchor="end">OK/FAIL</text>
342
+ </g>
343
+ <g id="scb0--module--re--module--t45-silkscreen">
344
+ <text x="49.6" y="17.0" font-family="Arial" font-size="1.4" fill="#3a3e43" text-anchor="start">ONLINE</text>
345
+ </g>
346
+ <g id="scb0--module--re--module--t46-silkscreen">
347
+ <text x="87.4" y="9.6" font-family="Arial" font-size="1.3" fill="#3a3e43" text-anchor="middle">ONLINE/</text>
348
+ </g>
349
+ <g id="scb0--module--re--module--t47-silkscreen">
350
+ <text x="87.4" y="11.3" font-family="Arial" font-size="1.3" fill="#3a3e43" text-anchor="middle">OFFLINE</text>
351
+ </g>
352
+ <g id="scb0--module--re--module--t48-silkscreen">
353
+ <text x="100.5" y="16.8" font-family="Arial" font-size="1.3" fill="#3a3e43" text-anchor="start">RESET</text>
354
+ </g>
355
+ <g id="scb0--module--re--module--t49-silkscreen">
356
+ <text x="170.0" y="5.4" font-family="Arial" font-size="1.5" fill="#3a3e43" text-anchor="middle">USB</text>
357
+ </g>
358
+ <g id="scb0--module--re--module--t50-silkscreen">
359
+ <text x="187.9" y="5.4" font-family="Arial" font-size="1.5" fill="#3a3e43" text-anchor="middle">AUX</text>
360
+ </g>
361
+ <g id="scb0--module--re--module--t51-silkscreen">
362
+ <text x="205.3" y="5.4" font-family="Arial" font-size="1.5" fill="#3a3e43" text-anchor="middle">CONSOLE</text>
363
+ </g>
364
+ <g id="scb0--module--re--module--t52-silkscreen">
365
+ <text x="222.8" y="5.4" font-family="Arial" font-size="1.5" fill="#3a3e43" text-anchor="middle">ETHERNET</text>
366
+ </g>
367
+ </g>
368
+ <g id="scb0--module--re--module--usb" data-path="scb0/module/re/module/usb" data-class="port" data-ref="std/usb-a@1:1.3.0" data-depth="13.7" data-wall="#a7adb4" data-function="USB service port" data-media="usb-a" transform="translate(164.0,11.5) rotate(90 6.0 2.25)" data-group="mgmt" data-group-role="management">
369
+ <title>scb0--module--re--module--usb</title>
370
+ <rect id="scb0--module--re--module--usb--opening" x="0" y="0" width="12" height="4.5" fill="#17191c" data-path="scb0/module/re/module/usb/opening" data-class="cutout" />
371
+ <rect id="scb0--module--re--module--usb--tongue" x="0.9" y="0.8" width="10.2" height="1.5" rx="0.2" fill="#2b6cb0" data-z-top="12.1" />
372
+ <g data-cp="mate" data-cp-at="6 2.25" data-cp-dir="front" />
373
+ </g>
374
+ <g id="scb0--module--re--module--aux" data-path="scb0/module/re/module/aux" data-class="port" data-ref="std/rj45@2:2.1.0" data-depth="18.6" data-wall="#3a3f45" data-cavity="cavity" data-function="auxiliary console" data-media="rj45-serial" transform="translate(180,7.15)" data-group="mgmt" data-group-role="management">
375
+ <title>scb0--module--re--module--aux</title>
376
+ <path id="scb0--module--re--module--aux--housing" fill-rule="evenodd" fill="#b0b5bb" data-fill-from="finish" stroke="#1c1f23" stroke-width="0.15" d=" M 0.4 0 h 15.0 a 0.4 0.4 0 0 1 0.4 0.4 v 12.4 a 0.4 0.4 0 0 1 -0.4 0.4 h -15.0 a 0.4 0.4 0 0 1 -0.4 -0.4 v -12.4 a 0.4 0.4 0 0 1 0.4 -0.4 z M 1.945 2.0 h 11.91 v 6.83 h -2.805 v 1.69 h -1.12 v 2.68 h -4.06 v -2.68 h -1.12 v -1.69 h -2.805 z" />
377
+ <path id="scb0--module--re--module--aux--cavity" fill="#0a0c0e" d=" M 1.945 2.0 h 11.91 v 6.83 h -2.805 v 1.69 h -1.12 v 2.68 h -4.06 v -2.68 h -1.12 v -1.69 h -2.805 z" />
378
+ <path id="scb0--module--re--module--aux--opening" fill="none" d="M 1.945 2.0 h 11.91 v 11.2 h -11.91 z" data-path="scb0/module/re/module/aux/opening" data-class="cutout" />
379
+ <g id="scb0--module--re--module--aux--pins" fill="#a8873c">
380
+ <rect x="4.10" y="2.6" width="0.46" height="2.3" />
381
+ <rect x="5.12" y="2.6" width="0.46" height="2.3" />
382
+ <rect x="6.14" y="2.6" width="0.46" height="2.3" />
383
+ <rect x="7.16" y="2.6" width="0.46" height="2.3" />
384
+ <rect x="8.18" y="2.6" width="0.46" height="2.3" />
385
+ <rect x="9.20" y="2.6" width="0.46" height="2.3" />
386
+ <rect x="10.22" y="2.6" width="0.46" height="2.3" />
387
+ <rect x="11.24" y="2.6" width="0.46" height="2.3" />
388
+ </g>
389
+ <g data-cp="mate" data-cp-at="7.9 6.6" data-cp-dir="front" />
390
+ </g>
391
+ <g id="scb0--module--re--module--console" data-path="scb0/module/re/module/console" data-class="port" data-ref="std/rj45@2:2.1.0" data-depth="18.6" data-wall="#3a3f45" data-cavity="cavity" data-function="serial console" data-media="rj45-serial" transform="translate(197.4,7.15)" data-group="mgmt" data-group-role="management">
392
+ <title>scb0--module--re--module--console</title>
393
+ <path id="scb0--module--re--module--console--housing" fill-rule="evenodd" fill="#b0b5bb" data-fill-from="finish" stroke="#1c1f23" stroke-width="0.15" d=" M 0.4 0 h 15.0 a 0.4 0.4 0 0 1 0.4 0.4 v 12.4 a 0.4 0.4 0 0 1 -0.4 0.4 h -15.0 a 0.4 0.4 0 0 1 -0.4 -0.4 v -12.4 a 0.4 0.4 0 0 1 0.4 -0.4 z M 1.945 2.0 h 11.91 v 6.83 h -2.805 v 1.69 h -1.12 v 2.68 h -4.06 v -2.68 h -1.12 v -1.69 h -2.805 z" />
394
+ <path id="scb0--module--re--module--console--cavity" fill="#0a0c0e" d=" M 1.945 2.0 h 11.91 v 6.83 h -2.805 v 1.69 h -1.12 v 2.68 h -4.06 v -2.68 h -1.12 v -1.69 h -2.805 z" />
395
+ <path id="scb0--module--re--module--console--opening" fill="none" d="M 1.945 2.0 h 11.91 v 11.2 h -11.91 z" data-path="scb0/module/re/module/console/opening" data-class="cutout" />
396
+ <g id="scb0--module--re--module--console--pins" fill="#a8873c">
397
+ <rect x="4.10" y="2.6" width="0.46" height="2.3" />
398
+ <rect x="5.12" y="2.6" width="0.46" height="2.3" />
399
+ <rect x="6.14" y="2.6" width="0.46" height="2.3" />
400
+ <rect x="7.16" y="2.6" width="0.46" height="2.3" />
401
+ <rect x="8.18" y="2.6" width="0.46" height="2.3" />
402
+ <rect x="9.20" y="2.6" width="0.46" height="2.3" />
403
+ <rect x="10.22" y="2.6" width="0.46" height="2.3" />
404
+ <rect x="11.24" y="2.6" width="0.46" height="2.3" />
405
+ </g>
406
+ <g data-cp="mate" data-cp-at="7.9 6.6" data-cp-dir="front" />
407
+ </g>
408
+ <g id="scb0--module--re--module--ethernet" data-path="scb0/module/re/module/ethernet" data-class="port" data-ref="common/rj45-eth@1:1.2.0" data-depth="18.6" data-function="fxp0 out-of-band management" data-media="rj45" transform="translate(214.9,7.15)" data-group="mgmt" data-group-role="management">
409
+ <title>scb0--module--re--module--ethernet</title>
410
+ <g id="scb0--module--re--module--ethernet--jack" data-path="scb0/module/re/module/ethernet/jack" data-class="port" data-inner="1" data-ref="std/rj45@2:2.1.0" data-depth="18.6" data-wall="#3a3f45" data-cavity="cavity" data-media="rj45" transform="translate(0.0,0.0)">
411
+ <title>scb0--module--re--module--ethernet--jack</title>
412
+ <path id="scb0--module--re--module--ethernet--jack--housing" fill-rule="evenodd" fill="#b0b5bb" data-fill-from="finish" stroke="#1c1f23" stroke-width="0.15" d=" M 0.4 0 h 15.0 a 0.4 0.4 0 0 1 0.4 0.4 v 12.4 a 0.4 0.4 0 0 1 -0.4 0.4 h -15.0 a 0.4 0.4 0 0 1 -0.4 -0.4 v -12.4 a 0.4 0.4 0 0 1 0.4 -0.4 z M 1.945 2.0 h 11.91 v 6.83 h -2.805 v 1.69 h -1.12 v 2.68 h -4.06 v -2.68 h -1.12 v -1.69 h -2.805 z" />
413
+ <path id="scb0--module--re--module--ethernet--jack--cavity" fill="#0a0c0e" d=" M 1.945 2.0 h 11.91 v 6.83 h -2.805 v 1.69 h -1.12 v 2.68 h -4.06 v -2.68 h -1.12 v -1.69 h -2.805 z" />
414
+ <path id="scb0--module--re--module--ethernet--jack--opening" fill="none" d="M 1.945 2.0 h 11.91 v 11.2 h -11.91 z" data-path="scb0/module/re/module/ethernet/jack/opening" data-class="cutout" />
415
+ <g id="scb0--module--re--module--ethernet--jack--pins" fill="#a8873c">
416
+ <rect x="4.10" y="2.6" width="0.46" height="2.3" />
417
+ <rect x="5.12" y="2.6" width="0.46" height="2.3" />
418
+ <rect x="6.14" y="2.6" width="0.46" height="2.3" />
419
+ <rect x="7.16" y="2.6" width="0.46" height="2.3" />
420
+ <rect x="8.18" y="2.6" width="0.46" height="2.3" />
421
+ <rect x="9.20" y="2.6" width="0.46" height="2.3" />
422
+ <rect x="10.22" y="2.6" width="0.46" height="2.3" />
423
+ <rect x="11.24" y="2.6" width="0.46" height="2.3" />
424
+ </g>
425
+ <g data-cp="mate" data-cp-at="7.9 6.6" data-cp-dir="front" />
426
+ </g>
427
+ <path id="scb0--module--re--module--ethernet--face" fill-rule="evenodd" fill="#b0b5bb" data-fill-from="finish" d=" M 0.4 0 h 15.0 a 0.4 0.4 0 0 1 0.4 0.4 v 12.4 a 0.4 0.4 0 0 1 -0.4 0.4 h -15.0 a 0.4 0.4 0 0 1 -0.4 -0.4 v -12.4 a 0.4 0.4 0 0 1 0.4 -0.4 z M 1.945 2.0 h 11.91 v 6.83 h -2.805 v 1.69 h -1.12 v 2.68 h -4.06 v -2.68 h -1.12 v -1.69 h -2.805 z" />
428
+ <rect id="scb0--module--re--module--ethernet--led-a" x="1.2" y="11.83" width="2.0" height="1.1" rx="0.2" fill="var(--led-color, #3a3f44)" data-path="scb0/module/re/module/ethernet/led-a" data-class="led" data-states="off link" data-z-out="0.3" data-z-color="#0d0f11" />
429
+ <rect id="scb0--module--re--module--ethernet--led-b" x="12.6" y="11.83" width="2.0" height="1.1" rx="0.2" fill="var(--led-color, #3a3f44)" data-path="scb0/module/re/module/ethernet/led-b" data-class="led" data-states="off activity" data-z-out="0.3" data-z-color="#0d0f11" />
430
+ <g data-cp="net" data-cp-at="7.9 6.6" data-cp-dir="front" />
431
+ </g>
432
+ </g>
433
+ </g>
434
+ <g id="scb0--module--lever-left" data-path="scb0/module/lever-left" data-class="latch">
435
+ <rect x="0" y="11.05" width="29" height="7.4" rx="2.6" fill="#55595e" stroke="#3a3e43" stroke-width="0.3" />
436
+ </g>
437
+ <g id="scb0--module--lever-right" data-path="scb0/module/lever-right" data-class="latch">
438
+ <rect x="384.5" y="11.05" width="29" height="7.4" rx="2.6" fill="#55595e" stroke="#3a3e43" stroke-width="0.3" />
439
+ </g>
440
+ <g id="scb0--module--lamps">
441
+ <circle id="scb0--module--led-ok-fail" cx="33.87" cy="8.0" r="0.9" fill="var(--led-color, #3a3f44)" stroke="#3a3e43" stroke-width="0.25" />
442
+ <circle id="scb0--module--led-fabric-only" cx="41.09" cy="8.0" r="0.9" fill="#0f1113" stroke="#3a3e43" stroke-width="0.25" />
443
+ <circle id="scb0--module--led-fabric-active" cx="48.31" cy="8.0" r="0.9" fill="#0f1113" stroke="#3a3e43" stroke-width="0.25" />
444
+ </g>
445
+ <g id="scb0--module--silkscreen">
446
+ <g id="scb0--module--v37-silkscreen">
447
+ <text x="33.87" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle" transform="rotate(270 33.87 16.5)">OK/FAIL</text>
448
+ </g>
449
+ <g id="scb0--module--v38-silkscreen">
450
+ <text x="41.09" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle" transform="rotate(270 41.09 16.5)">FABRIC ONLY</text>
451
+ </g>
452
+ <g id="scb0--module--v39-silkscreen">
453
+ <text x="48.31" y="16.5" font-family="Arial" font-size="1.2" fill="#3a3e43" text-anchor="middle" transform="rotate(270 48.31 16.5)">FABRIC ACTIVE</text>
454
+ </g>
455
+ <g id="scb0--module--t40-silkscreen">
456
+ <text x="11.4" y="25.5" font-family="Arial" font-size="2.2" fill="#3a3e43" text-anchor="start">SCB-MX</text>
457
+ </g>
458
+ </g>
459
+ <g id="scb0--module--panel-screws">
460
+ <circle cx="85.3" cy="9.3" r="3.0" fill="#b0b4b9" stroke="#7d8288" stroke-width="0.35" />
461
+ <circle cx="369.7" cy="8.0" r="3.0" fill="#b0b4b9" stroke="#7d8288" stroke-width="0.35" />
462
+ </g>
463
+ </g>
464
+ </g>
465
+ <g id="esd-front-jack" data-path="esd-front-jack" data-class="ground" data-behaviour="mounts" data-ref="common/esd-jack@1:1.0.0" data-media="esd" data-rel-pos="0" transform="translate(5.0,14.0)" data-group="esd" data-group-role="furniture" data-description="the wrist-strap ESD points, front top-left (guide Figure 1 callout) and rear (the ESD procedure text: &quot;one of the ESD points on the chassis&quot;)" data-for="chassis">
466
+ <title>esd-front-jack</title>
467
+ <circle id="esd-front-jack--bezel" cx="3" cy="3" r="2.9" fill="#6e737a" stroke="#4a4e54" stroke-width="0.3" />
468
+ <circle id="esd-front-jack--bore" cx="3" cy="3" r="2.0" fill="#15181b" stroke="#3a3d42" stroke-width="0.25" />
469
+ <circle id="esd-front-jack--contact" cx="3" cy="3" r="0.85" fill="#2a2e33" />
470
+ </g>
471
+ </svg>
@@ -0,0 +1 @@
1
+ {"components":{},"config":"base","configs":["ac","base","dc"],"device":"mx240","device-version":"5.0.2","elements":[{"box":{"h":221.2,"w":622.0,"x":0.0,"y":0.0},"class":"chassis","id":"chassis-faceplate","parent":null,"path":"chassis"}],"generator":{"tool":"portrayal-render","version":"0.2.0"},"source-sha256":"909378526d3f74e5a000bcf154818a7a9429d679c77f15e0e04fabd97f8c2ab4","view":"left","viewBox":[0.0,0.0,622.0,221.2]}
@@ -0,0 +1,48 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="622.0mm" height="221.2mm" viewBox="0 0 622.0 221.2" data-device="mx240" data-view="left" data-weight="23.6 kg chassis with midplane, fan tray and air filter; 58.1 kg maximum configuration (Table 88)" data-depth-total="705 mm including cable management (Table 88)" data-throughput="3 Tbps-class (datasheet family table)" data-power-typical-w="1860" data-power-envelope="unstated" data-power-typical-scope="AC typical power draw from the MX Series family datasheet, which names no configuration, ambient or side; DC 1690 W" data-base-system-w="40" data-cooling-system-w="85 W high-capacity (70 W normal); dedicated PSU tap, excluded from the output-power budget per the guide note" data-psu-system-output="AC normal-capacity 2054 W low-line / 1590 W high-line; DC normal-capacity 1600 W (Table 95, SYSTEM output for the required PSU set - no per-module nameplate is published)" data-max-thermal-output="AC 7161 BTU/h (2100 W); DC 5074 BTU/h (1488 W) (environmental table; provisioning ceiling)" data-operating-temp="0 C to 40 C" data-storage-temp="-40 C to 70 C in shipping container" data-humidity="5-90 percent noncondensing" data-altitude="no performance degradation to 3048 m" data-seismic="Designed to meet Telcordia Technologies Zone 4 earthquake requirements (environmental table wording, transcribed)" data-eol="announced" data-eol-announcement="https://support.juniper.net/support/eol/product/m_series/">
3
+ <style>
4
+ [data-path] { cursor: pointer; }
5
+ .state-on { --led-color: #22c55e; }
6
+ .state-up { --led-color: #22c55e; }
7
+ /* link and up are the same fact on an Ethernet lamp; see docs/rj45-family-design.md */
8
+ .state-link { --led-color: #22c55e; }
9
+ .state-activity { --led-color: #86efac; }
10
+ .state-ok { --led-color: #22c55e; }
11
+ .state-fault { --led-color: #ef4444; }
12
+ .state-fail { --led-color: #ef4444; }
13
+ .state-locate { --led-color: #3b82f6; }
14
+ .state-absent { opacity: 0.35; }
15
+ /* A SWITCHED OUTLET WITH NO LAMP is dimmed when it is off, as absent is but
16
+ less (docs/pdu-model-design.md section 3.2): every switched PDU in the
17
+ library has a lamp per outlet, and this is the fallback so the first one
18
+ without does not invent a lamp. An outlet a lamp is bound to by `for:`
19
+ carries data-lamped (mark_lamped) and is never dimmed: its lamp says it. */
20
+ [data-class='inlet'][data-states~='off'].state-off:not([data-lamped]) { opacity: 0.55; }
21
+ /* A state is a colour AND a behaviour. Solid and blinking of the same colour
22
+ are different facts on real hardware: on the S9510-28DC a solid green PWR
23
+ is "system power good" and a blinking green PWR is "power good but BMC
24
+ power fail". A blinking state that renders solid is the same failure as a
25
+ state class nothing paints - it looks modelled and is not.
26
+ blink animates opacity rather than fill, because each skin carries its own
27
+ unlit colour in the fill fallback and a keyframe cannot name it. alternate
28
+ animates fill, because two colours is the whole point, and takes its first
29
+ value from the element's own fill. */
30
+ @keyframes portrayal-blink {
31
+ 0%, 49.9% { opacity: 1; }
32
+ 50%, 100% { opacity: 0; }
33
+ }
34
+ @keyframes portrayal-alternate {
35
+ 0%, 49.9% { fill: var(--led-color, #3a3f44); }
36
+ 50%, 100% { fill: var(--led-color-alt, #3a3f44); }
37
+ }
38
+ .portrayal-highlight { filter: drop-shadow(0 0 1.2px #f59e0b) drop-shadow(0 0 0.5px #f59e0b); }
39
+ .portrayal-dim { opacity: 0.25; }
40
+ [data-class='region'].portrayal-highlight { stroke: #f59e0b; stroke-width: 0.7; filter: none; }
41
+ .state-fail[data-class='psu'], .state-fail[data-class='fan'] { filter: drop-shadow(0 0 1.4px #ef4444); }
42
+ </style>
43
+ <metadata>{"device":"Juniper MX240","device-version":"5.0.2","generator":{"tool":"portrayal-render","version":"0.2.0"},"resolved-components":{},"source-sha256":"909378526d3f74e5a000bcf154818a7a9429d679c77f15e0e04fabd97f8c2ab4","view":"left"}</metadata>
44
+ <rect id="chassis-faceplate" data-path="chassis" data-class="chassis" data-model="MX240" x="0" y="0" width="622" height="221.2" rx="1.2" fill="#43474c" stroke="#22262a" stroke-width="0.5" />
45
+ <g id="--decor" data-class="decor">
46
+ <rect id="plate-0" data-kind="plate" x="0" y="100" width="622" height="20" rx="0.6" fill="#3a3d42" />
47
+ </g>
48
+ </svg>