1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/dashboard/patientprofile.jsx");import __vite__cjsImport0_react_jsxDevRuntime from "/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=dfc5466a"; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"]; 2var _s = $RefreshSig$(); 3import __vite__cjsImport1_react from "/node_modules/.vite/deps/react.js?v=dfc5466a"; const React = __vite__cjsImport1_react.__esModule ? __vite__cjsImport1_react.default : __vite__cjsImport1_react; const useState = __vite__cjsImport1_react["useState"]; 4import { 5 User, 6 FileText, 7 Activity, 8 PieChart, 9 AlertTriangle, 10 Pill, 11 ChevronRight, 12 Stethoscope 13} from "/node_modules/.vite/deps/lucide-react.js?v=dfc5466a"; 14import PatientDemographics from "/src/dashboard/PatientDemographics.jsx"; 15import ActiveMed from "/src/dashboard/Activemedication.jsx"; 16import Cds from "/src/dashboard/cds.jsx"; 17import PatternAnalysis from "/src/dashboard/PatternAnalysis.jsx"; 18export default function Canvas() { 19 _s(); 20 const [items, setItems] = useState([]); 21 const [activeMenu, setActiveMenu] = useState("Patient Data"); 22 const onDrop = (e) => { 23 e.preventDefault(); 24 const type = e.dataTransfer.getData("nodeType"); 25 if (!type) return; 26 setItems( 27 (prev) => [ 28 ...prev, 29 { 30 id: Date.now(), 31 type, 32 x: e.clientX, 33 y: e.clientY 34 } 35 ] 36 ); 37 }; 38 const onDragOver = (e) => e.preventDefault(); 39 const removeItem = (id) => { 40 setItems((prev) => prev.filter((item) => item.id !== id)); 41 }; 42 const menuItems = [ 43 { id: "patient", label: "Patient Data", icon: /* @__PURE__ */ jsxDEV(User, { size: 20 }, void 0, false, { 44 fileName: "/app/src/dashboard/patientprofile.jsx", 45 lineNumber: 43, 46 columnNumber: 49 47 }, this) }, 48 { id: "retrieval", label: "Data Retrieval", icon: /* @__PURE__ */ jsxDEV(FileText, { size: 20 }, void 0, false, { 49 fileName: "/app/src/dashboard/patientprofile.jsx", 50 lineNumber: 44, 51 columnNumber: 53 52 }, this) }, 53 { id: "cds", label: "Clinical Decision Support", icon: /* @__PURE__ */ jsxDEV(Activity, { size: 20 }, void 0, false, { 54 fileName: "/app/src/dashboard/patientprofile.jsx", 55 lineNumber: 45, 56 columnNumber: 58 57 }, this) }, 58 { id: "analysis", label: "Pattern Analysis", icon: /* @__PURE__ */ jsxDEV(PieChart, { size: 20 }, void 0, false, { 59 fileName: "/app/src/dashboard/patientprofile.jsx", 60 lineNumber: 46, 61 columnNumber: 54 62 }, this) }, 63 { id: "risk", label: "Risk Score", icon: /* @__PURE__ */ jsxDEV(AlertTriangle, { size: 20 }, void 0, false, { 64 fileName: "/app/src/dashboard/patientprofile.jsx", 65 lineNumber: 47, 66 columnNumber: 44 67 }, this) }, 68 { id: "meds", label: "Active Medications", icon: /* @__PURE__ */ jsxDEV(Pill, { size: 20 }, void 0, false, { 69 fileName: "/app/src/dashboard/patientprofile.jsx", 70 lineNumber: 48, 71 columnNumber: 52 72 }, this) } 73 ]; 74 return /* @__PURE__ */ jsxDEV("div", { style: styles.container, children: [ 75 /* @__PURE__ */ jsxDEV("div", { style: styles.sidebar, children: [
76 /* @__PURE__ */ jsxDEV("div", { style: styles.profileSection, children: [ 77 /* @__PURE__ */ jsxDEV("div", { style: styles.profileImage, children: /* @__PURE__ */ jsxDEV(User, { size: 48, color: "#ffffff" }, void 0, false, { 78 fileName: "/app/src/dashboard/patientprofile.jsx", 79 lineNumber: 58, 80 columnNumber: 13 81 }, this) }, void 0, false, { 82 fileName: "/app/src/dashboard/patientprofile.jsx", 83 lineNumber: 57, 84 columnNumber: 11 85 }, this), 86 /* @__PURE__ */ jsxDEV("div", { style: styles.profileInfo, children: [ 87 /* @__PURE__ */ jsxDEV("h3", { style: styles.profileName, children: "Dr. Alex Morgan" }, void 0, false, { 88 fileName: "/app/src/dashboard/patientprofile.jsx", 89 lineNumber: 61, 90 columnNumber: 13 91 }, this), 92 /* @__PURE__ */ jsxDEV("p", { style: styles.profileRole, children: "Senior Physician" }, void 0, false, { 93 fileName: "/app/src/dashboard/patientprofile.jsx", 94 lineNumber: 62, 95 columnNumber: 13 96 }, this) 97 ] }, void 0, true, { 98 fileName: "/app/src/dashboard/patientprofile.jsx", 99 lineNumber: 60, 100 columnNumber: 11 101 }, this) 102 ] }, void 0, true, { 103 fileName: "/app/src/dashboard/patientprofile.jsx", 104 lineNumber: 56, 105 columnNumber: 9 106 }, this),
107 /* @__PURE__ */ jsxDEV("div", { style: styles.dashboardHeader, children: [ 108 /* @__PURE__ */ jsxDEV("div", { style: styles.headerIcon, children: /* @__PURE__ */ jsxDEV(Stethoscope, { size: 22, color: "#3a8ffe" }, void 0, false, { 109 fileName: "/app/src/dashboard/patientprofile.jsx", 110 lineNumber: 69, 111 columnNumber: 13 112 }, this) }, void 0, false, { 113 fileName: "/app/src/dashboard/patientprofile.jsx", 114 lineNumber: 68, 115 columnNumber: 11 116 }, this), 117 /* @__PURE__ */ jsxDEV("div", { style: styles.headerText, children: [ 118 /* @__PURE__ */ jsxDEV("p", { style: styles.headerSubtitle, children: "Clinical Intelligence" }, void 0, false, { 119 fileName: "/app/src/dashboard/patientprofile.jsx", 120 lineNumber: 72, 121 columnNumber: 13 122 }, this), 123 /* @__PURE__ */ jsxDEV("h2", { style: styles.headerTitle, children: "Dashboard" }, void 0, false, { 124 fileName: "/app/src/dashboard/patientprofile.jsx", 125 lineNumber: 73, 126 columnNumber: 13 127 }, this) 128 ] }, void 0, true, { 129 fileName: "/app/src/dashboard/patientprofile.jsx", 130 lineNumber: 71, 131 columnNumber: 11 132 }, this) 133 ] }, void 0, true, { 134 fileName: "/app/src/dashboard/patientprofile.jsx", 135 lineNumber: 67, 136 columnNumber: 9 137 }, this),
138 /* @__PURE__ */ jsxDEV("div", { style: styles.menuList, children: menuItems.map( 139 (item) => /* @__PURE__ */ jsxDEV( 140 "div", 141 { 142 style: { 143 ...styles.menuItem, 144 ...activeMenu === item.label ? styles.activeMenuItem : {} 145 }, 146 onClick: () => setActiveMenu(item.label), 147 children: [ 148 /* @__PURE__ */ jsxDEV("div", { style: styles.menuIcon, children: item.icon }, void 0, false, { 149 fileName: "/app/src/dashboard/patientprofile.jsx", 150 lineNumber: 88, 151 columnNumber: 15 152 }, this), 153 /* @__PURE__ */ jsxDEV("span", { style: styles.menuLabel, children: item.label }, void 0, false, { 154 fileName: "/app/src/dashboard/patientprofile.jsx", 155 lineNumber: 89, 156 columnNumber: 15 157 }, this), 158 /* @__PURE__ */ jsxDEV( 159 ChevronRight, 160 { 161 size: 18, 162 style: styles.chevron, 163 color: activeMenu === item.label ? "#3a8ffe" : "#888" 164 }, 165 void 0, 166 false, 167 { 168 fileName: "/app/src/dashboard/patientprofile.jsx", 169 lineNumber: 90, 170 columnNumber: 15 171 }, 172 this 173 ) 174 ] 175 }, 176 item.id, 177 true, 178 { 179 fileName: "/app/src/dashboard/patientprofile.jsx", 180 lineNumber: 80, 181 columnNumber: 11 182 }, 183 this 184 ) 185 ) }, void 0, false, { 186 fileName: "/app/src/dashboard/patientprofile.jsx", 187 lineNumber: 78, 188 columnNumber: 9 189 }, this),
190 /* @__PURE__ */ jsxDEV("div", { style: styles.statusBar, children: [ 191 /* @__PURE__ */ jsxDEV("div", { style: styles.statusDot }, void 0, false, { 192 fileName: "/app/src/dashboard/patientprofile.jsx", 193 lineNumber: 101, 194 columnNumber: 11 195 }, this), 196 /* @__PURE__ */ jsxDEV("span", { style: styles.statusText, children: "System Active" }, void 0, false, { 197 fileName: "/app/src/dashboard/patientprofile.jsx", 198 lineNumber: 102, 199 columnNumber: 11 200 }, this) 201 ] }, void 0, true, { 202 fileName: "/app/src/dashboard/patientprofile.jsx", 203 lineNumber: 100, 204 columnNumber: 9 205 }, this) 206 ] }, void 0, true, { 207 fileName: "/app/src/dashboard/patientprofile.jsx", 208 lineNumber: 54, 209 columnNumber: 7 210 }, this), 211 /* @__PURE__ */ jsxDEV("div", { style: styles.canvas, onDrop, onDragOver, children: [ 212 /* @__PURE__ */ jsxDEV("div", { style: styles.blueShape1 }, void 0, false, { 213 fileName: "/app/src/dashboard/patientprofile.jsx", 214 lineNumber: 109, 215 columnNumber: 9 216 }, this),
217 /* @__PURE__ */ jsxDEV("div", { style: styles.blueShape2 }, void 0, false, { 218 fileName: "/app/src/dashboard/patientprofile.jsx", 219 lineNumber: 110, 220 columnNumber: 9 221 }, this), 222 /* @__PURE__ */ jsxDEV("div", { style: styles.gridContainer, children: /* @__PURE__ */ jsxDEV("div", { style: styles.glassCard, children: activeMenu === "Patient Data" ? /* @__PURE__ */ jsxDEV("div", { style: { 223 display: "grid", 224 gridTemplateColumns: "repeat(auto-fit, minmax(500px, 1fr))", 225 gap: "24px", 226 justifyItems: "center", 227 // centers items horizontally in their grid cell 228 alignItems: "start" 229 // align top edges 230 }, children: [ 231 /* @__PURE__ */ jsxDEV(PatientDemographics, {}, void 0, false, { 232 fileName: "/app/src/dashboard/patientprofile.jsx", 233 lineNumber: 124, 234 columnNumber: 5 235 }, this), 236 /* @__PURE__ */ jsxDEV(ActiveMed, {}, void 0, false, { 237 fileName: "/app/src/dashboard/patientprofile.jsx", 238 lineNumber: 125, 239 columnNumber: 5 240 }, this),
241 /* @__PURE__ */ jsxDEV(Cds, {}, void 0, false, { 242 fileName: "/app/src/dashboard/patientprofile.jsx", 243 lineNumber: 126, 244 columnNumber: 5 245 }, this), 246 /* @__PURE__ */ jsxDEV(PatternAnalysis, {}, void 0, false, { 247 fileName: "/app/src/dashboard/patientprofile.jsx", 248 lineNumber: 127, 249 columnNumber: 5 250 }, this) 251 ] }, void 0, true, { 252 fileName: "/app/src/dashboard/patientprofile.jsx", 253 lineNumber: 117, 254 columnNumber: 13 255 }, this) : /* @__PURE__ */ jsxDEV("div", { style: styles.canvasHeader, children: [ 256 /* @__PURE__ */ jsxDEV("h1", { style: styles.canvasTitle, children: "Clinical Workflow Canvas" }, void 0, false, { 257 fileName: "/app/src/dashboard/patientprofile.jsx", 258 lineNumber: 131, 259 columnNumber: 5 260 }, this), 261 /* @__PURE__ */ jsxDEV("p", { style: styles.canvasSubtitle, children: "Drag and drop clinical modules to build patient care pathways" }, void 0, false, { 262 fileName: "/app/src/dashboard/patientprofile.jsx", 263 lineNumber: 132, 264 columnNumber: 5 265 }, this) 266 ] }, void 0, true, { 267 fileName: "/app/src/dashboard/patientprofile.jsx", 268 lineNumber: 130, 269 columnNumber: 13 270 }, this) }, void 0, false, { 271 fileName: "/app/src/dashboard/patientprofile.jsx", 272 lineNumber: 115, 273 columnNumber: 3 274 }, this) }, void 0, false, { 275 fileName: "/app/src/dashboard/patientprofile.jsx", 276 lineNumber: 114, 277 columnNumber: 9 278 }, this), 279 items.map( 280 (item) => /* @__PURE__ */ jsxDEV( 281 "div", 282 { 283 style: { 284 ...styles.node, 285 left: item.x - 80, 286 top: item.y - 40 287 }, 288 children: [
289 /* @__PURE__ */ jsxDEV("span", { children: item.type }, void 0, false, { 290 fileName: "/app/src/dashboard/patientprofile.jsx", 291 lineNumber: 152, 292 columnNumber: 13 293 }, this), 294 /* @__PURE__ */ jsxDEV( 295 "button", 296 { 297 style: styles.removeBtn, 298 onClick: () => removeItem(item.id), 299 children: "â" 300 }, 301 void 0, 302 false, 303 { 304 fileName: "/app/src/dashboard/patientprofile.jsx", 305 lineNumber: 153, 306 columnNumber: 13 307 }, 308 this 309 ) 310 ] 311 }, 312 item.id, 313 true, 314 { 315 fileName: "/app/src/dashboard/patientprofile.jsx", 316 lineNumber: 144, 317 columnNumber: 9 318 }, 319 this 320 ) 321 ) 322 ] }, void 0, true, { 323 fileName: "/app/src/dashboard/patientprofile.jsx", 324 lineNumber: 107, 325 columnNumber: 7 326 }, this) 327 ] }, void 0, true, { 328 fileName: "/app/src/dashboard/patientprofile.jsx", 329 lineNumber: 52, 330 columnNumber: 5 331 }, this); 332} 333_s(Canvas, "jJW8frCfrNq+dxTQvkpZbm/fdnM="); 334_c = Canvas; 335const styles = { 336 container: { 337 display: "flex", 338 minHeight: "100vh", 339 width: "100%", 340 fontFamily: "'SF Pro Display', 'Segoe UI', 'Roboto', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif", 341 color: "#222" 342 // soft text color 343 }, 344 /* ===== SIDEBAR STYLES ===== */ 345 sidebar: { 346 width: "280px", 347 minHeight: "100vh", 348 padding: "24px 16px", 349 background: "rgba(255, 255, 255, 0.12)", 350 // softer glass 351 backdropFilter: "blur(22px) saturate(180%)", 352 WebkitBackdropFilter: "blur(22px) saturate(180%)", 353 borderRight: "1px solid rgba(255, 255, 255, 0.15)", 354 boxShadow: "0 4px 16px rgba(0,0,0,0.05)", 355 display: "flex", 356 flexDirection: "column", 357 zIndex: 30 358 }, 359 /* Profile Section */ 360 profileSection: { 361 display: "flex", 362 alignItems: "center", 363 gap: "12px", 364 marginBottom: "32px", 365 paddingBottom: "24px", 366 borderBottom: "1px solid rgba(255, 255, 255, 0.1)" 367 }, 368 profileImage: { 369 width: "64px", 370 height: "64px", 371 borderRadius: "50%", 372 background: "rgba(74, 111, 255, 0.3)", 373 display: "flex", 374 alignItems: "center", 375 justifyContent: "center" 376 }, 377 profileName: { 378 margin: 0, 379 fontSize: "15px", 380 fontWeight: 400, 381 color: "#111" 382 }, 383 profileRole: { 384 margin: "4px 0 0 0", 385 fontSize: "12px", 386 color: "#555", 387 fontWeight: 400 388 }, 389 dashboardHeader: { 390 display: "flex", 391 alignItems: "center", 392 gap: "12px", 393 marginBottom: "32px", 394 padding: "16px", 395 background: "rgba(255, 255, 255, 0.15)", 396 borderRadius: "16px", 397 boxShadow: "0 4px 12px rgba(0,0,0,0.05)" 398 }, 399 headerText: { 400 flex: 1 401 }, 402 headerSubtitle: { 403 margin: 0, 404 fontSize: "11px", 405 fontWeight: 400, 406 color: "#3a8ffe", 407 textTransform: "uppercase", 408 letterSpacing: "0.5px" 409 }, 410 headerTitle: { 411 margin: "4px 0 0 0", 412 fontSize: "18px", 413 fontWeight: 400, 414 color: "#222", 415 letterSpacing: "-0.3px" 416 }, 417 menuList: { 418 flex: 1, 419 display: "flex", 420 flexDirection: "column", 421 gap: "6px" 422 }, 423 menuItem: { 424 display: "flex", 425 alignItems: "center", 426 gap: "12px", 427 padding: "12px 14px", 428 borderRadius: "14px", 429 background: "rgba(255, 255, 255, 0.1)", 430 border: "1px solid rgba(255, 255, 255, 0.08)", 431 cursor: "pointer", 432 transition: "all 0.2s ease", 433 fontWeight: 400, 434 color: "#222", 435 fontSize: "14px" 436 }, 437 activeMenuItem: { 438 background: "rgba(58, 143, 254, 0.08)", 439 border: "1px solid rgba(58, 143, 254, 0.2)", 440 boxShadow: "0 2px 8px rgba(58, 143, 254, 0.1)" 441 }, 442 menuIcon: { 443 display: "flex", 444 alignItems: "center", 445 justifyContent: "center", 446 opacity: 0.8 447 }, 448 chevron: { 449 opacity: 0.5 450 }, 451 statusBar: { 452 display: "flex", 453 alignItems: "center", 454 gap: "8px", 455 padding: "10px 14px", 456 marginTop: "20px", 457 background: "rgba(255,255,255,0.12)", 458 border: "1px solid rgba(255,255,255,0.1)", 459 borderRadius: "12px", 460 fontSize: "12px", 461 color: "#555", 462 fontWeight: 400 463 }, 464 statusDot: { 465 width: "8px", 466 height: "8px", 467 borderRadius: "50%", 468 background: "#4ade80" 469 }, 470 /* Canvas styles */ 471 canvas: { 472 position: "relative", 473 flex: 1, 474 minHeight: "100vh", 475 overflowY: "auto", 476 overflowX: "hidden", 477 padding: "40px 20px", 478 fontWeight: 400, 479 color: "#222" 480 }, 481 /* ===== CANVAS STYLES ===== */ 482 canvas: { 483 position: "relative", 484 flex: 1, 485 minHeight: "100vh", 486 overflowY: "auto", 487 // â allow vertical scroll 488 overflowX: "hidden", 489 padding: "40px 20px" 490 },
491 /* Background Blobs */ 492 blueShape1: { 493 position: "fixed", 494 top: "30%", 495 left: "5%", 496 width: "700px", 497 height: "700px", 498 background: "linear-gradient(135deg, #9fccf3ff, #7fb7e8ff )", 499 borderRadius: "50%", 500 opacity: 0.2, 501 filter: "blur(60px)", 502 zIndex: 0 503 }, 504 blueShape2: { 505 position: "fixed", 506 bottom: "50%", 507 right: "5%", 508 width: "500px", 509 height: "500px", 510 background: "linear-gradient(135deg, #667eea, #75ec98ff)", 511 borderRadius: "50%", 512 opacity: 0.2, 513 filter: "blur(100px)", 514 zIndex: 0 515 }, 516 /* Full Background Grid */ 517 gridContainer: { 518 position: "relative", 519 // â change from absolute 520 width: "100%", 521 minHeight: "100%", 522 display: "flex", 523 justifyContent: "center", 524 alignItems: "flex-start", 525 paddingBottom: "40px" 526 }, 527 /* Glass Card */ 528 glassCard: { 529 width: "95%", 530 minHeight: "95vh", 531 padding: "28px", 532 borderRadius: "26px", 533 background: "rgba(255, 255, 255, 0.20)", 534 backdropFilter: "blur(34px) saturate(220%)", 535 WebkitBackdropFilter: "blur(34px) saturate(220%)", 536 border: "1px solid rgba(255, 255, 255, 0.9)", 537 boxShadow: "0 40px 80px rgba(0, 80, 200, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.95), inset 0 -1px 0 rgba(255, 255, 255, 0.45)", 538 color: "#111", 539 display: "flex", 540 flexDirection: "column", 541 alignItems: "flex-start", 542 justifyContent: "flex-start", 543 alignItems: "stretch" 544 }, 545 /* Canvas Header */ 546 canvasHeader: { 547 textAlign: "center", 548 padding: "40px 20px", 549 maxWidth: "800px" 550 }, 551 canvasTitle: { 552 fontSize: "48px", 553 fontWeight: 800, 554 color: "#111", 555 margin: 0, 556 letterSpacing: "-1.5px", 557 lineHeight: "1.1", 558 background: "linear-gradient(135deg, #3a8ffe, #667eea)", 559 WebkitBackgroundClip: "text", 560 WebkitTextFillColor: "transparent", 561 backgroundClip: "text" 562 }, 563 canvasSubtitle: { 564 fontSize: "18px", 565 fontWeight: 400, 566 color: "#666", 567 margin: "16px 0 0 0", 568 lineHeight: "1.5", 569 maxWidth: "600px" 570 }, 571 /* Dropped Nodes (Glass) */ 572 node: { 573 position: "absolute", 574 minWidth: "160px", 575 padding: "14px 18px", 576 borderRadius: "20px", 577 background: "rgba(255, 255, 255, 0.35)", 578 backdropFilter: "blur(30px) saturate(200%)", 579 WebkitBackdropFilter: "blur(30px) saturate(200%)", 580 border: "1px solid rgba(255, 255, 255, 0.85)", 581 boxShadow: "0 20px 40px rgba(0, 80, 200, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.9)", 582 display: "flex", 583 justifyContent: "space-between", 584 alignItems: "center", 585 fontSize: "14px", 586 fontWeight: 600, 587 cursor: "move", 588 zIndex: 20 589 }, 590 removeBtn: { 591 width: "26px", 592 height: "26px", 593 borderRadius: "50%", 594 border: "1px solid rgba(255, 255, 255, 0.8)", 595 background: "rgba(255, 255, 255, 0.6)", 596 cursor: "pointer", 597 fontWeight: "bold" 598 }, 599 contentStack: { 600 width: "100%", 601 display: "flex", 602 flexDirection: "row", 603 // â horizontal now 604 gap: "24px", 605 // space between the two components 606 alignItems: "flex-start" 607 // optional: align top edges 608 } 609}; 610var _c; 611$RefreshReg$(_c, "Canvas"); 612import * as RefreshRuntime from "/@react-refresh"; 613const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope; 614if (import.meta.hot && !inWebWorker) { 615 if (!window.$RefreshReg$) { 616 throw new Error( 617 "@vitejs/plugin-react can't detect preamble. Something is wrong." 618 ); 619 } 620 RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => { 621 RefreshRuntime.registerExportsForReactRefresh("/app/src/dashboard/patientprofile.jsx", currentExports); 622 import.meta.hot.accept((nextExports) => { 623 if (!nextExports) return; 624 const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/app/src/dashboard/patientprofile.jsx", currentExports, nextExports); 625 if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage); 626 }); 627 }); 628} 629function $RefreshReg$(type, id) { 630 return RefreshRuntime.register(type, "/app/src/dashboard/patientprofile.jsx " + id); 631} 632function $RefreshSig$() { 633 return RefreshRuntime.createSignatureFunctionForTransform(); 634} 635 636//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBMENrRDs7QUExQ2xELE9BQU9BLFNBQVNDLGdCQUFnQjtBQUNoQztBQUFBLEVBQ0VDO0FBQUFBLEVBQ0FDO0FBQUFBLEVBQ0FDO0FBQUFBLEVBQ0FDO0FBQUFBLEVBQ0FDO0FBQUFBLEVBQ0FDO0FBQUFBLEVBQ0FDO0FBQUFBLEVBQ0FDO0FBQUFBLE9BQ0s7QUFDUCxPQUFPQyx5QkFBeUI7QUFDaEMsT0FBT0MsZUFBZTtBQUN0QixPQUFPQyxTQUFTO0FBQ2hCLE9BQU9DLHFCQUFxQjtBQUM1Qix3QkFBd0JDLFNBQVM7QU
636FBQUMsS0FBQTtBQUMvQixRQUFNLENBQUNDLE9BQU9DLFFBQVEsSUFBSWhCLFNBQVMsRUFBRTtBQUNyQyxRQUFNLENBQUNpQixZQUFZQyxhQUFhLElBQUlsQixTQUFTLGNBQWM7QUFFM0QsUUFBTW1CLFNBQVNBLENBQUNDLE1BQU07QUFDcEJBLE1BQUVDLGVBQWU7QUFDakIsVUFBTUMsT0FBT0YsRUFBRUcsYUFBYUMsUUFBUSxVQUFVO0FBQzlDLFFBQUksQ0FBQ0YsS0FBTTtBQUVYTjtBQUFBQSxNQUFTLENBQUNTLFNBQVM7QUFBQSxRQUNqQixHQUFHQTtBQUFBQSxRQUNIO0FBQUEsVUFDRUMsSUFBSUMsS0FBS0MsSUFBSTtBQUFBLFVBQ2JOO0FBQUFBLFVBQ0FPLEdBQUdULEVBQUVVO0FBQUFBLFVBQ0xDLEdBQUdYLEVBQUVZO0FBQUFBLFFBQ1A7QUFBQSxNQUFDO0FBQUEsSUFDRjtBQUFBLEVBQ0g7QUFFQSxRQUFNQyxhQUFhQSxDQUFDYixNQUFNQSxFQUFFQyxlQUFlO0FBRTNDLFFBQU1hLGFBQWFBLENBQUNSLE9BQU87QUFDekJWLGFBQVMsQ0FBQ1MsU0FBU0EsS0FBS1UsT0FBTyxDQUFDQyxTQUFTQSxLQUFLVixPQUFPQSxFQUFFLENBQUM7QUFBQSxFQUMxRDtBQUVBLFFBQU1XLFlBQVk7QUFBQSxJQUNoQixFQUFFWCxJQUFJLFdBQVdZLE9BQU8sZ0JBQWdCQyxNQUFNLHVCQUFDLFFBQUssTUFBTSxNQUFaO0FBQUE7QUFBQTtBQUFBO0FBQUEsV0FBZSxFQUFJO0FBQUEsSUFDakUsRUFBRWIsSUFBSSxhQUFhWSxPQUFPLGtCQUFrQkMsTUFBTSx1QkFBQyxZQUFTLE1BQU0sTUFBaEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxXQUFtQixFQUFJO0FBQUEsSUFDekUsRUFBRWIsSUFBSSxPQUFPWSxPQUFPLDZCQUE2QkMsTUFBTSx1QkFBQyxZQUFTLE1BQU0sTUFBaEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxXQUFtQixFQUFJO0FBQUEsSUFDOUUsRUFBRWIsSUFBSSxZQUFZWSxPQUFPLG9CQUFvQkMsTUF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pYW5nbGUiLCJQaWxsIiwiQ2hldnJvblJpZ2h0IiwiU3RldGhvc2NvcGUiLCJQYXRpZW50RGVtb2dyYXBoaWNzIiwiQWN0aXZlTWVkIiwiQ2RzIiwiUGF0dGVybkFuYWx5c2lzIiwiQ2FudmFzIiwiX3MiLCJpdGVtcyIsInNldEl0ZW1zIiwiYWN0aXZlTWVudSIsInNldEFjdGl2ZU1lbnUiLCJvbkRyb3AiLCJlIiwicHJldmVudERlZmF1bHQiLCJ0eXBlIiwiZGF0YVRyYW5zZmVyIiwiZ2V0RGF0YSIsInByZXYiLCJpZCIsIkRhdGUiLCJub3ciLCJ4IiwiY2xpZW50WCIsInkiLCJjbGllbnRZIiwib25EcmFnT3ZlciIsInJlbW92ZUl0ZW0iLCJmaWx0ZXIiLCJpdGVtIiwibWVudUl0ZW1zIiwibGFiZWwiLCJpY29uIiwic3R5bGVzIiwiY29udGFpbmVyIiwic2lkZWJhciIsInByb2ZpbGVTZWN0aW9uIiwicHJvZmlsZUltYWdlIiwicHJvZmlsZUluZm8iLCJwcm9maWxlTmFtZSIsInByb2ZpbGVSb2xlIiwiZGFzaGJvYXJkSGVhZGVyIiwiaGVhZGVySWNvb
636iIsImhlYWRlclRleHQiLCJoZWFkZXJTdWJ0aXRsZSIsImhlYWRlclRpdGxlIiwibWVudUxpc3QiLCJtYXAiLCJtZW51SXRlbSIsImFjdGl2ZU1lbnVJdGVtIiwibWVudUljb24iLCJtZW51TGFiZWwiLCJjaGV2cm9uIiwic3RhdHVzQmFyIiwic3RhdHVzRG90Iiwic3RhdHVzVGV4dCIsImNhbnZhcyIsImJsdWVTaGFwZTEiLCJibHVlU2hhcGUyIiwiZ3JpZENvbnRhaW5lciIsImdsYXNzQ2FyZCIsImRpc3BsYXkiLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwiZ2FwIiwianVzdGlmeUl0ZW1zIiwiYWxpZ25JdGVtcyIsImNhbnZhc0hlYWRlciIsImNhbnZhc1RpdGxlIiwiY2FudmFzU3VidGl0bGUiLCJub2RlIiwibGVmdCIsInRvcCIsInJlbW92ZUJ0biIsIl9jIiwibWluSGVpZ2h0Iiwid2lkdGgiLCJmb250RmFtaWx5IiwiY29sb3IiLCJwYWRkaW5nIiwiYmFja2dyb3VuZCIsImJhY2tkcm9wRmlsdGVyIiwiV2Via2l0QmFja2Ryb3BGaWx0ZXIiLCJib3JkZXJSaWdodCIsImJveFNoYWRvdyIsImZsZXhEaXJlY3Rpb24iLCJ6SW5kZXgiLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5nQm90dG9tIiwiYm9yZGVyQm90dG9tIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwianVzdGlmeUNvbnRlbnQiLCJtYXJnaW4iLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJmbGV4IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJib3JkZXIiLCJjdXJzb3IiLCJ0cmFuc2l0aW9uIiwib3BhY2l0eSIsIm1hcmdpblRvcCIsInBvc2l0aW9uIiwib3ZlcmZsb3dZIiwib3ZlcmZsb3dYIiwiYm90dG9tIiwicmlnaHQiLCJ0ZXh0QWxpZ24iLCJtYXhXaWR0aCIsImxpbmVIZWlnaHQiLCJXZWJraXRCYWNrZ3JvdW5kQ2xpcCIsIldlYmtpdFRleHRGaWxsQ29sb3IiLCJiYWNrZ3JvdW5kQ2xpcCIsIm1pbldpZHRoIiwiY29udGVudFN0YWNrIiwiJFJlZnJlc2hSZWckIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbInBhdGllbnRwcm9maWxlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFxuICBVc2VyLCBcbiAgRmlsZVRleHQsIFxuICBBY3Rpdml0eSwgXG4gIFBpZUNoYXJ0LCBcbiAgQWxlcnRUcmlhbmdsZSwgXG4gIFBpbGwsXG4gIENoZXZyb25SaWdodCxcbiAgU3RldGhvc2NvcGVcbn0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xuaW1wb3J0IFBhdGllbnREZW1vZ3JhcGh
636pY3MgZnJvbSAnLi9QYXRpZW50RGVtb2dyYXBoaWNzJztcbmltcG9ydCBBY3RpdmVNZWQgZnJvbSAnLi9BY3RpdmVtZWRpY2F0aW9uJztcbmltcG9ydCBDZHMgZnJvbSAnLi9jZHMuanN4JztcbmltcG9ydCBQYXR0ZXJuQW5hbHlzaXMgZnJvbSAnLi9QYXR0ZXJuQW5hbHlzaXMuanN4JzsgLy8gQWRqdXN0IHBhdGggYXMgbmVlZGVkXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDYW52YXMoKSB7XG4gIGNvbnN0IFtpdGVtcywgc2V0SXRlbXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbYWN0aXZlTWVudSwgc2V0QWN0aXZlTWVudV0gPSB1c2VTdGF0ZShcIlBhdGllbnQgRGF0YVwiKTtcblxuICBjb25zdCBvbkRyb3AgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB0eXBlID0gZS5kYXRhVHJhbnNmZXIuZ2V0RGF0YShcIm5vZGVUeXBlXCIpO1xuICAgIGlmICghdHlwZSkgcmV0dXJuO1xuXG4gICAgc2V0SXRlbXMoKHByZXYpID0+IFtcbiAgICAgIC4uLnByZXYsXG4gICAgICB7XG4gICAgICAgIGlkOiBEYXRlLm5vdygpLFxuICAgICAgICB0eXBlLFxuICAgICAgICB4OiBlLmNsaWVudFgsXG4gICAgICAgIHk6IGUuY2xpZW50WSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH07XG5cbiAgY29uc3Qgb25EcmFnT3ZlciA9IChlKSA9PiBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgY29uc3QgcmVtb3ZlSXRlbSA9IChpZCkgPT4ge1xuICAgIHNldEl0ZW1zKChwcmV2KSA9PiBwcmV2LmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pZCAhPT0gaWQpKTtcbiAgfTtcblxuICBjb25zdCBtZW51SXRlbXMgPSBbXG4gICAgeyBpZDogXCJwYXRpZW50XCIsIGxhYmVsOiBcIlBhdGllbnQgRGF0YVwiLCBpY29uOiA8VXNlciBzaXplPXsyMH0gLz4gfSxcbiAgICB7IGlkOiBcInJldHJpZXZhbFwiLCBsYWJlbDogXCJEYXRhIFJldHJpZXZhbFwiLCBpY29uOiA8RmlsZVRleHQgc2l6ZT17MjB9IC8+IH0sXG4gICAgeyBpZDogXCJjZHNcIiwgbGFiZWw6IFwiQ2xpbmljYWwgRGVjaXNpb24gU3VwcG9ydFwiLCBpY29uOiA8QWN0aXZpdHkgc2l6ZT17MjB9IC8+IH0sXG4gICAgeyBpZDogXCJhbmFseXNpc1wiLCBsYWJlbDogXCJQYXR0ZXJuIEFuYWx5c2lzXCIsIGljb246IDxQaWVDaGFydCBzaXplPXsyMH0gLz4gfSxcbiAgICB7IGlkOiBcInJpc2tcIiwgbGFiZWw6IFwiUmlzayBTY29yZVwiLCBpY29uOiA8QWxlcnRUcmlhbmdsZSBzaXplPXsyMH0gLz4gfSxcbiAgICB7IGlkOiBcIm1lZHNcIiwgbGFiZWw6IFwiQWN0aXZlIE1lZGljYXRpb25zXCIsIGljb246IDxQaWxsIHNpemU9ezIwfSAvPiB9LFxuICBdO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17c3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICB7LyogTGVmdCBTaWRlIEdsYXNzIE1lbnUgKi99XG4gICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMuc2lkZWJhcn0+XG4gICAgICAgIHsvKiBQcm9maWxlIFNlY3Rpb24gKi99XG4gICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5wcm9maWxlU2VjdGlvbn0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLnByb2ZpbGVJbWFnZX0+XG4gICAgICAgICAgICA8VXNlciBzaXplPXs0OH0gY29sb3I9XCIjZmZmZmZmXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMucHJvZmlsZUluZm99PlxuICAgICAgICAgICAgPGgzIHN0eWxlPXtzdHlsZXMucHJvZmlsZU5hbWV9PkRyLiBBbGV4IE1vcmdhbjwvaDM+XG4gICAgICAgICAgICA8cCBzdHlsZT17c3R5bGVzLnByb2ZpbGVSb2xlfT5TZW5pb3IgUGh5c2ljaWFuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogRGFzaGJvYXJkIFRpdGxlICovfVxuICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMuZGFzaGJvYXJkSGVhZGVyfT5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMuaGVhZGVySWNvbn0+XG4gICAgICAgICAgICA8U3RldGhvc2NvcGUgc2l6ZT17MjJ9IGNvbG9yPVwiIzNhOGZmZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmhlYWRlclRleHR9PlxuICAgICAgICAgICAgPHAgc3R5bGU9e3N0eWxlcy5oZWFkZXJTdWJ0aXRsZX0+Q2xpbmljYWwgSW50ZWxsaWdlbmNlPC9wPlxuICAgICAgICAgICAgPGgyIHN0eWxlPXtzdHlsZXMuaGVhZGVyVGl0bGV9PkRhc2hib2FyZDwvaDI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBNZW51IEl0ZW1zICovfVxuICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMubWVudUxpc3R9PlxuICAgICAgICAgIHttZW51SXRlbXMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAuLi5zdHlsZXMubWVudUl0ZW0sXG4gICAgICAgICAgICAgICAgLi4uKGFjdGl2ZU1lbnUgPT09IGl0ZW0ubGFiZWwgPyBzdHlsZXMuYWN0aXZlTWVudUl0ZW0gOiB7fSksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEFjdGl2ZU1lbnUoaXRlbS5sYWJlbCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5tZW51SWNvbn0+e2l0ZW0uaWNvbn08L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3N0eWxlcy5tZW51TGFiZWx9PntpdGVtLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPENoZXZyb25SaWdodCBcbiAgICAgICAgICAgICAgICBzaXplPXsxOH0gXG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5jaGV2cm9ufVxuICAgICAgICAgICAgICAgIGNvbG9yPXthY3RpdmVNZW51ID09PSBpdGVtLmxhYmVsID8gXCIjM2E4ZmZlXCIgOiBcIiM4ODhcIn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogU3RhdHVzIEluZGljYXRvciAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLnN0YXR1c0Jhcn0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLnN0YXR1c0RvdH0gLz5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17c3R5bGVzLnN0YXR1c1RleHR9PlN5c3RlbSBBY3RpdmU8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBNYWluIENhbnZhcyBBcmVhICovfVxuICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmNhbnZhc30gb25Ecm9wPXtvbkRyb3B9IG9uRHJhZ092ZXI9e29uRHJhZ092ZXJ9PlxuICAgICAgICB7LyogQmFja2dyb3VuZCBCbG9icyAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmJsdWVTaGFwZTF9IC8+XG4gICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5ibHVlU2hhcGUyfSAvPlxuXG4gICAgICAgI
636HsvKiBGdWxsLWNvdmVyIEdyaWQgKi99XG4gICAgICAgIHsvKiBGdWxsLWNvdmVyIEdyaWQgKi99XG48ZGl2IHN0eWxlPXtzdHlsZXMuZ3JpZENvbnRhaW5lcn0+XG4gIDxkaXYgc3R5bGU9e3N0eWxlcy5nbGFzc0NhcmR9PlxuIHthY3RpdmVNZW51ID09PSBcIlBhdGllbnQgRGF0YVwiID8gKFxuICA8ZGl2IHN0eWxlPXt7XG4gICAgZGlzcGxheTogXCJncmlkXCIsXG4gICAgZ3JpZFRlbXBsYXRlQ29sdW1uczogXCJyZXBlYXQoYXV0by1maXQsIG1pbm1heCg1MDBweCwgMWZyKSlcIixcbiAgICBnYXA6IFwiMjRweFwiLFxuICAgIGp1c3RpZnlJdGVtczogXCJjZW50ZXJcIiwgIC8vIGNlbnRlcnMgaXRlbXMgaG9yaXpvbnRhbGx5IGluIHRoZWlyIGdyaWQgY2VsbFxuICAgIGFsaWduSXRlbXM6IFwic3RhcnRcIiwgICAgIC8vIGFsaWduIHRvcCBlZGdlc1xuICB9fT5cbiAgICA8UGF0aWVudERlbW9ncmFwaGljcyAvPlxuICAgIDxBY3RpdmVNZWQgLz5cbiAgICA8Q2RzIC8+XG4gICAgPFBhdHRlcm5BbmFseXNpcy8+XG4gIDwvZGl2PlxuKSA6IChcbiAgPGRpdiBzdHlsZT17c3R5bGVzLmNhbnZhc0hlYWRlcn0+XG4gICAgPGgxIHN0eWxlPXtzdHlsZXMuY2FudmFzVGl0bGV9PkNsaW5pY2FsIFdvcmtmbG93IENhbnZhczwvaDE+XG4gICAgPHAgc3R5bGU9e3N0eWxlcy5jYW52YXNTdWJ0aXRsZX0+XG4gICAgICBEcmFnIGFuZCBkcm9wIGNsaW5pY2FsIG1vZHVsZXMgdG8gYnVpbGQgcGF0aWVudCBjYXJlIHBhdGh3YXlzXG4gICAgPC9wPlxuICA8L2Rpdj5cbil9XG5cbiAgPC9kaXY+XG48L2Rpdj5cblxuXG4gICAgICAgIHsvKiBEcm9wcGVkIE5vZGVzICovfVxuICAgICAgICB7aXRlbXMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgLi4uc3R5bGVzLm5vZGUsXG4gICAgICAgICAgICAgIGxlZnQ6IGl0ZW0ueCAtIDgwLFxuICAgICAgICAgICAgICB0b3A6IGl0ZW0ueSAtIDQwLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Bhbj57aXRlbS50eXBlfTwvc3Bhbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5yZW1vdmVCdG59XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJlbW92ZUl0ZW0oaXRlbS5pZCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIOKclVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09IFNUWUxFUyA9PT09PT09PT09PT09PT09PT09PSAqL1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gICBjb250YWluZXI6IHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBtaW5IZWlnaHQ6IFwiMTAwdmhcIixcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgZm9udEZhbWlseTogXCInU0YgUHJvIERpc3BsYXknLCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmXCIsXG4gICAgY29sb3I6IFwiIzIyMlwiLCAvLyBzb2Z0IHRleHQgY29sb3JcbiAgfSxcblxuICAvKiA9PT09PSBTSURFQkFSIFNUWUxFUyA9PT09PSAqL1xuICAgc2lkZWJhcjoge1xuICAgIHdpZHRoOiBcIjI4MHB4XCIsXG4gICAgbWluSGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgcGFkZGluZzogXCIyNHB4IDE2cHhcIixcbiAgICBiYWNrZ3JvdW5kOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMilcIiwgLy8gc29mdGVyIGdsYXNzXG4gICAgYmFja2Ryb3BGaWx0ZXI6IFwiYmx1cigyMnB4KSBzYXR1cmF0ZSgxODAlKVwiLFxuICAgIFdlYmtpdEJhY2tkcm9wRmlsdGVyOiBcImJsdXIoMjJweCkgc2F0dXJhdGUoMTgwJSlcIixcbiAgICBib3JkZXJSaWdodDogXCIxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KVwiLFxuICAgIGJveFNoYWRvdzogXCIwIDRweCAxNnB4IHJnYmEoMCwwLDAsMC4wNSlcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIHpJbmRleDogMzAsXG4gIH0sXG5cbiAgLyogUHJvZmlsZSBTZWN0aW9uICovXG4gIHByb2ZpbGVTZWN0aW9uOiB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBnYXA6IFwiMTJweFwiLFxuICAgIG1hcmdpbkJvdHRvbTogXCIzMnB4XCIsXG4gICAgcGFkZGluZ0JvdHRvbTogXCIyNHB4XCIsXG4gICAgYm9yZGVyQm90dG9tOiBcIjFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSlcIixcbiAgfSxcblxuICBwcm9maWxlSW1hZ2U6IHtcbiAgICB3aWR0aDogXCI2NHB4XCIsXG4gICAgaGVpZ2h0OiBcIjY0cHhcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiNTAlXCIsXG4gICAgYmFja2dyb3VuZDogXCJyZ2JhKDc0LCAxMTEsIDI1NSwgMC4zKVwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gIH0sXG5cbiAgcHJvZmlsZU5hbWU6IHtcbiAgICBtYXJnaW46IDAsXG4gICAgZm9udFNpemU6IFwiMTVweFwiLFxuICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICBjb2xvcjogXCIjMTExXCIsXG4gIH0sXG5cbiAgcHJvZmlsZVJvbGU6IHtcbiAgICBtYXJnaW46IFwiNHB4IDAgMCAwXCIsXG4gICAgZm9udFNpemU6IFwiMTJweFwiLFxuICAgIGNvbG9yOiBcIiM1NTVcIixcbiAgICBmb250V2VpZ2h0OiA0MDAsXG4gIH0sXG5cbiAgZGFzaGJvYXJkSGVhZGVyOiB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBnYXA6IFwiMTJweFwiLFxuICAgIG1hcmdpbkJvdHRvbTogXCIzMnB4XCIsXG4gICAgcGFkZGluZzogXCIxNnB4XCIsXG4gICAgYmFja2dyb3VuZDogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpXCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcIjE2cHhcIixcbiAgICBib3hTaGFkb3c6IFwiMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMDUpXCIsXG4gIH0sXG5cbiAgaGVhZGVyVGV4dDoge1xuICAgIGZsZXg6IDEsXG4gIH0sXG4gICAgaGVhZGVyU3VidGl0bGU6IHtcbiAgICBtYXJnaW46IDAsXG4gICAgZm9udFNpemU6IFwiMTFweFwiLFxuICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICBjb2xvcjogXCIjM2E4ZmZlXCIsXG4gICAgdGV4dFRyYW5zZm9ybTogXCJ1cHBlcmNhc2VcIixcbiAgICBsZXR0ZXJTcGFjaW5nOiBcIjAuNXB4XCIsXG4gIH0sXG5cbiAgaGVhZGVyVGl0bGU6IHtcbiAgICBtYXJnaW46IFwiNHB4IDAgMCAwXCIsXG4gICAgZm9udFNpemU6IFwiMThweFwiLFxuICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICBjb2xvcjogXCIjMjIyXCIsXG4gICAgbGV0dGVyU3BhY2luZzogXCItMC4zcHhcIixcbiAgfSxcblxuICBtZW51TGlzdDoge1xuICAgIGZsZXg6IDEsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbj
636ogXCJjb2x1bW5cIixcbiAgICBnYXA6IFwiNnB4XCIsXG4gIH0sXG5cbiAgbWVudUl0ZW06IHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGdhcDogXCIxMnB4XCIsXG4gICAgcGFkZGluZzogXCIxMnB4IDE0cHhcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiMTRweFwiLFxuICAgIGJhY2tncm91bmQ6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpXCIsXG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpXCIsXG4gICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICB0cmFuc2l0aW9uOiBcImFsbCAwLjJzIGVhc2VcIixcbiAgICBmb250V2VpZ2h0OiA0MDAsXG4gICAgY29sb3I6IFwiIzIyMlwiLFxuICAgIGZvbnRTaXplOiBcIjE0cHhcIixcbiAgfSxcblxuICBhY3RpdmVNZW51SXRlbToge1xuICAgIGJhY2tncm91bmQ6IFwicmdiYSg1OCwgMTQzLCAyNTQsIDAuMDgpXCIsXG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCByZ2JhKDU4LCAxNDMsIDI1NCwgMC4yKVwiLFxuICAgIGJveFNoYWRvdzogXCIwIDJweCA4cHggcmdiYSg1OCwgMTQzLCAyNTQsIDAuMSlcIixcbiAgfSxcblxuICBtZW51SWNvbjoge1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgb3BhY2l0eTogMC44LFxuICB9LFxuXG4gIGNoZXZyb246IHtcbiAgICBvcGFjaXR5OiAwLjUsXG4gIH0sXG5cbiAgc3RhdHVzQmFyOiB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBnYXA6IFwiOHB4XCIsXG4gICAgcGFkZGluZzogXCIxMHB4IDE0cHhcIixcbiAgICBtYXJnaW5Ub3A6IFwiMjBweFwiLFxuICAgIGJhY2tncm91bmQ6IFwicmdiYSgyNTUsMjU1LDI1NSwwLjEyKVwiLFxuICAgIGJvcmRlcjogXCIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpXCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcIjEycHhcIixcbiAgICBmb250U2l6ZTogXCIxMnB4XCIsXG4gICAgY29sb3I6IFwiIzU1NVwiLFxuICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgfSxcblxuICBzdGF0dXNEb3Q6IHtcbiAgICB3aWR0aDogXCI4cHhcIixcbiAgICBoZWlnaHQ6IFwiOHB4XCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcIjUwJVwiLFxuICAgIGJhY2tncm91bmQ6IFwiIzRhZGU4MFwiLFxuICB9LFxuXG4gIC8qIENhbnZhcyBzdHlsZXMgKi9cbiAgY2FudmFzOiB7XG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgICBmbGV4OiAxLFxuICAgIG1pbkhlaWdodDogXCIxMDB2aFwiLFxuICAgIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gICAgb3ZlcmZsb3dYOiBcImhpZGRlblwiLFxuICAgIHBhZGRpbmc6IFwiNDBweCAyMHB4XCIsXG4gICAgZm9udFdlaWdodDogNDAwLFxuICAgIGNvbG9yOiBcIiMyMjJcIixcbiAgfSxcblxuICAvKiA9PT09PSBDQU5WQVMgU1RZTEVTID09PT09ICovXG5jYW52YXM6IHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgZmxleDogMSxcbiAgbWluSGVpZ2h0OiBcIjEwMHZoXCIsXG4gIG92ZXJmbG93WTogXCJhdXRvXCIsIC8vIOKchSBhbGxvdyB2ZXJ0aWNhbCBzY3JvbGxcbiAgb3ZlcmZsb3dYOiBcImhpZGRlblwiLFxuICBwYWRkaW5nOiBcIjQwcHggMjBweFwiLFxufVxuLFxuXG4gIC8qIEJhY2tncm91bmQgQmxvYnMgKi9cbiAgYmx1ZVNoYXBlMToge1xuICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgdG9wOiBcIjMwJVwiLFxuICAgIGxlZnQ6IFwiNSVcIixcbiAgICB3aWR0aDogXCI3MDBweFwiLFxuICAgIGhlaWdodDogXCI3MDBweFwiLFxuICAgIGJhY2tncm91bmQ6IFwibGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzlmY2NmM2ZmLCAjN2ZiN2U4ZmYgKVwiLFxuICAgIGJvcmRlclJhZGl1czogXCI1MCVcIixcbiAgICBvcGFjaXR5OiAwLjIsXG4gICAgZmlsdGVyOiBcImJsdXIoNjBweClcIixcbiAgICB6SW5kZXg6IDAsXG4gIH0sXG5cbiAgYmx1ZVNoYXBlMjoge1xuICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgYm90dG9tOiBcIjUwJVwiLFxuICAgIHJpZ2h0OiBcIjUlXCIsXG4gICAgd2lkdGg6IFwiNTAwcHhcIixcbiAgICBoZWlnaHQ6IFwiNTAwcHhcIixcbiAgICBiYWNrZ3JvdW5kOiBcImxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEsICM3NWVjOThmZilcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiNTAlXCIsXG4gICAgb3BhY2l0eTogMC4yLFxuICAgIGZpbHRlcjogXCJibHVyKDEwMHB4KVwiLFxuICAgIHpJbmRleDogMCxcbiAgfSxcblxuICAvKiBGdWxsIEJhY2tncm91bmQgR3JpZCAqL1xuIGdyaWRDb250YWluZXI6IHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIiwgLy8g4pyFIGNoYW5nZSBmcm9tIGFic29sdXRlXG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICBhbGlnbkl0ZW1zOiBcImZsZXgtc3RhcnRcIixcbiAgcGFkZGluZ0JvdHRvbTogXCI0MHB4XCIsXG59XG4sXG5cbiAgLyogR2xhc3MgQ2FyZCAqL1xuICBnbGFzc0NhcmQ6IHtcbiAgICB3aWR0aDogXCI5NSVcIixcbiAgIG1pbkhlaWdodDogXCI5NXZoXCIsXG4gICAgcGFkZGluZzogXCIyOHB4XCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcIjI2cHhcIixcbiAgICBiYWNrZ3JvdW5kOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4y
636MClcIixcbiAgICBiYWNrZHJvcEZpbHRlcjogXCJibHVyKDM0cHgpIHNhdHVyYXRlKDIyMCUpXCIsXG4gICAgV2Via2l0QmFja2Ryb3BGaWx0ZXI6IFwiYmx1cigzNHB4KSBzYXR1cmF0ZSgyMjAlKVwiLFxuICAgIGJvcmRlcjogXCIxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpXCIsXG4gICAgYm94U2hhZG93OlxuICAgICAgXCIwIDQwcHggODBweCByZ2JhKDAsIDgwLCAyMDAsIDAuMTgpLCBcIiArXG4gICAgICBcImluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSwgXCIgK1xuICAgICAgXCJpbnNldCAwIC0xcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpXCIsXG4gICAgY29sb3I6IFwiIzExMVwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgYWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiZmxleC1zdGFydFwiLFxuICAgICAgYWxpZ25JdGVtczogXCJzdHJldGNoXCIsIFxuICB9LFxuXG4gIC8qIENhbnZhcyBIZWFkZXIgKi9cbiAgY2FudmFzSGVhZGVyOiB7XG4gICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgIHBhZGRpbmc6IFwiNDBweCAyMHB4XCIsXG4gICAgbWF4V2lkdGg6IFwiODAwcHhcIixcbiAgfSxcblxuICBjYW52YXNUaXRsZToge1xuICAgIGZvbnRTaXplOiBcIjQ4cHhcIixcbiAgICBmb250V2VpZ2h0OiA4MDAsXG4gICAgY29sb3I6IFwiIzExMVwiLFxuICAgIG1hcmdpbjogMCxcbiAgICBsZXR0ZXJTcGFjaW5nOiBcIi0xLjVweFwiLFxuICAgIGxpbmVIZWlnaHQ6IFwiMS4xXCIsXG4gICAgYmFja2dyb3VuZDogXCJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjM2E4ZmZlLCAjNjY3ZWVhKVwiLFxuICAgIFdlYmtpdEJhY2tncm91bmRDbGlwOiBcInRleHRcIixcbiAgICBXZWJraXRUZXh0RmlsbENvbG9yOiBcInRyYW5zcGFyZW50XCIsXG4gICAgYmFja2dyb3VuZENsaXA6IFwidGV4dFwiLFxuICB9LFxuXG4gIGNhbnZhc1N1YnRpdGxlOiB7XG4gICAgZm9udFNpemU6IFwiMThweFwiLFxuICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICBjb2xvcjogXCIjNjY2XCIsXG4gICAgbWFyZ2luOiBcIjE2cHggMCAwIDBcIixcbiAgICBsaW5lSGVpZ2h0OiBcIjEuNVwiLFxuICAgIG1heFdpZHRoOiBcIjYwMHB4XCIsXG4gIH0sXG5cbiAgLyogRHJvcHBlZCBOb2RlcyAoR2xhc3MpICovXG4gIG5vZGU6IHtcbiAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgIG1pbldpZHRoOiBcIjE2MHB4XCIsXG4gICAgcGFkZGluZzogXCIxNHB4IDE4cHhcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiMjBweFwiLFxuICAgIGJhY2tncm91bmQ6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KVwiLFxuICAgIGJhY2tkcm9wRmlsdGVyOiBcImJsdXIoMzBweCkgc2F0dXJhdGUoMjAwJSlcIixcbiAgICBXZWJraXRCYWNrZHJvcEZpbHRlcjogXCJibHVyKDMwcHgpIHNhdHVyYXRlKDIwMCUpXCIsXG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpXCIsXG4gICAgYm94U2hhZG93OlxuICAgICAgXCIwIDIwcHggNDBweCByZ2JhKDAsIDgwLCAyMDAsIDAuMTQpLCBcIiArXG4gICAgICBcImluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZm9udFNpemU6IFwiMTRweFwiLFxuICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICBjdXJzb3I6IFwibW92ZVwiLFxuICAgIHpJbmRleDogMjAsXG4gIH0sXG5cbiAgcmVtb3ZlQnRuOiB7XG4gICAgd2lkdGg6IFwiMjZweFwiLFxuICAgIGhlaWdodDogXCIyNnB4XCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcIjUwJVwiLFxuICAgIGJvcmRlcjogXCIxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpXCIsXG4gICAgYmFja2dyb3VuZDogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNilcIixcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICB9LFxuY29udGVudFN0YWNrOiB7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwicm93XCIsIC8vIOKGkCBob3Jpem9udGFsIG5vd1xuICBnYXA6IFwiMjRweFwiLCAgICAgICAgICAgLy8gc3BhY2UgYmV0d2VlbiB0aGUgdHdvIGNvbXBvbmVudHNcbiAgYWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsIC8vIG9wdGlvbmFsOiBhbGlnbiB0b3AgZWRnZXNcbn0sXG5cbn07Il0sImZpbGUiOiIvYXBwL3NyYy9kYXNoYm9hcmQvcGF0aWVudHByb2ZpbGUuanN4In0=
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.