From d20c4aa598264accaf38cf8417bdd404eba60e86 Mon Sep 17 00:00:00 2001 From: German Date: Wed, 4 Mar 2020 13:06:09 +0100 Subject: [PATCH 1/3] Add labels into tooltips with interpolation --- .gitignore | 4 +- dist/LICENSE | 201 - dist/README.md | 234 - dist/img/agenty-flowcharting.png | Bin 1722 -> 0 bytes dist/img/agenty-flowcharting.svg | 18 - dist/libs/Graph_custom.js | 132 - dist/libs/drawio/shapes/bpmn/mxBpmnShape2.js | 760 - dist/libs/drawio/shapes/er/mxER.js | 1468 - dist/libs/drawio/shapes/ios7/mxIOS7Ui.js | 1719 - .../drawio/shapes/mockup/mxMockupButtons.js | 1028 - .../shapes/mockup/mxMockupContainers.js | 2119 - .../drawio/shapes/mockup/mxMockupForms.js | 2503 - .../drawio/shapes/mockup/mxMockupGraphics.js | 1235 - .../drawio/shapes/mockup/mxMockupMarkup.js | 200 - .../libs/drawio/shapes/mockup/mxMockupMisc.js | 1680 - .../shapes/mockup/mxMockupNavigation.js | 845 - .../libs/drawio/shapes/mockup/mxMockupText.js | 867 - dist/libs/drawio/shapes/mockup/mxMockupiOS.js | 6691 -- dist/libs/drawio/shapes/mxAWS3D.js | 9169 --- dist/libs/drawio/shapes/mxAWS4.js | 421 - dist/libs/drawio/shapes/mxAndroid.js | 1510 - dist/libs/drawio/shapes/mxArchiMate.js | 1220 - dist/libs/drawio/shapes/mxArchiMate3.js | 2849 - dist/libs/drawio/shapes/mxArrows.js | 2691 - dist/libs/drawio/shapes/mxAtlassian.js | 291 - dist/libs/drawio/shapes/mxBasic.js | 4644 -- dist/libs/drawio/shapes/mxBootstrap.js | 1003 - dist/libs/drawio/shapes/mxCabinets.js | 257 - dist/libs/drawio/shapes/mxDFD.js | 447 - dist/libs/drawio/shapes/mxEip.js | 570 - dist/libs/drawio/shapes/mxElectrical.js | 1776 - dist/libs/drawio/shapes/mxFloorplan.js | 763 - dist/libs/drawio/shapes/mxFlowchart.js | 86 - dist/libs/drawio/shapes/mxGCP2.js | 370 - dist/libs/drawio/shapes/mxGmdl.js | 967 - dist/libs/drawio/shapes/mxInfographic.js | 2668 - dist/libs/drawio/shapes/mxLeanMap.js | 2229 - dist/libs/drawio/shapes/mxNetworks.js | 120 - dist/libs/drawio/shapes/mxSysML.js | 3144 - .../drawio/shapes/pid2/mxPidInstruments.js | 685 - dist/libs/drawio/shapes/pid2/mxPidMisc.js | 500 - dist/libs/drawio/shapes/pid2/mxPidValves.js | 1149 - dist/libs/drawio/shapes/rack/mxRack.js | 1263 - dist/libs/drawio/stencils/android/android.xml | 1905 - dist/libs/drawio/stencils/arrows.xml | 846 - dist/libs/drawio/stencils/atlassian.xml | 713 - dist/libs/drawio/stencils/aws/compute.xml | 720 - .../drawio/stencils/aws/content_delivery.xml | 445 - dist/libs/drawio/stencils/aws/database.xml | 1358 - .../stencils/aws/deployment_management.xml | 306 - dist/libs/drawio/stencils/aws/groups.xml | 1798 - dist/libs/drawio/stencils/aws/messaging.xml | 670 - dist/libs/drawio/stencils/aws/misc.xml | 274 - dist/libs/drawio/stencils/aws/networking.xml | 872 - .../stencils/aws/non_service_specific.xml | 734 - .../stencils/aws/on_demand_workforce.xml | 422 - dist/libs/drawio/stencils/aws/storage.xml | 376 - .../aws2/administration_and_security.xml | 358 - dist/libs/drawio/stencils/aws2/analytics.xml | 1318 - .../drawio/stencils/aws2/app_services.xml | 2362 - .../stencils/aws2/compute_and_networking.xml | 6215 -- dist/libs/drawio/stencils/aws2/database.xml | 6832 -- .../aws2/deployment_and_management.xml | 2785 - .../drawio/stencils/aws2/developer_tools.xml | 294 - .../stencils/aws2/enterprise_applications.xml | 235 - .../drawio/stencils/aws2/game_development.xml | 126 - .../stencils/aws2/internet_of_things.xml | 4799 -- .../drawio/stencils/aws2/management_tools.xml | 208 - .../drawio/stencils/aws2/mobile_services.xml | 1141 - dist/libs/drawio/stencils/aws2/networking.xml | 277 - .../stencils/aws2/non-service_specific.xml | 2641 - .../stencils/aws2/on-demand_workforce.xml | 886 - dist/libs/drawio/stencils/aws2/sdks.xml | 1351 - .../stencils/aws2/security_and_identity.xml | 715 - .../aws2/storage_and_content_delivery.xml | 2780 - dist/libs/drawio/stencils/aws3.xml | 34201 ---------- dist/libs/drawio/stencils/aws3d.xml | 569 - dist/libs/drawio/stencils/aws4.xml | 56477 ---------------- dist/libs/drawio/stencils/azure.xml | 5541 -- dist/libs/drawio/stencils/basic.xml | 909 - dist/libs/drawio/stencils/bootstrap.xml | 99 - dist/libs/drawio/stencils/bpmn.xml | 1162 - dist/libs/drawio/stencils/cabinets.xml | 2359 - dist/libs/drawio/stencils/cisco/buildings.xml | 1449 - .../cisco/computers_and_peripherals.xml | 2438 - .../cisco/controllers_and_modules.xml | 1209 - dist/libs/drawio/stencils/cisco/directors.xml | 533 - .../stencils/cisco/hubs_and_gateways.xml | 812 - dist/libs/drawio/stencils/cisco/misc.xml | 15890 ----- .../stencils/cisco/modems_and_phones.xml | 1871 - dist/libs/drawio/stencils/cisco/people.xml | 2192 - dist/libs/drawio/stencils/cisco/routers.xml | 3146 - dist/libs/drawio/stencils/cisco/security.xml | 942 - dist/libs/drawio/stencils/cisco/servers.xml | 1637 - dist/libs/drawio/stencils/cisco/storage.xml | 1648 - dist/libs/drawio/stencils/cisco/switches.xml | 3320 - dist/libs/drawio/stencils/cisco/wireless.xml | 1135 - .../stencils/cisco_safe/architecture.xml | 5338 -- .../drawio/stencils/cisco_safe/capability.xml | 8999 --- .../drawio/stencils/cisco_safe/design.xml | 7556 --- .../drawio/stencils/cisco_safe/threat.xml | 9524 --- dist/libs/drawio/stencils/citrix.xml | 20213 ------ .../drawio/stencils/clipart/Gear_128x128.png | Bin 10678 -> 0 bytes dist/libs/drawio/stencils/eip.xml | 2003 - .../drawio/stencils/electrical/abstract.xml | 667 - .../drawio/stencils/electrical/capacitors.xml | 439 - .../drawio/stencils/electrical/diodes.xml | 352 - .../electrical/electro-mechanical.xml | 1722 - .../drawio/stencils/electrical/iec417.xml | 1143 - .../stencils/electrical/iec_logic_gates.xml | 120 - .../drawio/stencils/electrical/inductors.xml | 993 - .../stencils/electrical/instruments.xml | 146 - .../stencils/electrical/logic_gates.xml | 672 - .../stencils/electrical/miscellaneous.xml | 1649 - .../drawio/stencils/electrical/mosfets1.xml | 821 - .../drawio/stencils/electrical/mosfets2.xml | 560 - .../drawio/stencils/electrical/op_amps.xml | 438 - .../stencils/electrical/opto_electronics.xml | 654 - .../drawio/stencils/electrical/plc_ladder.xml | 122 - .../electrical/power_semiconductors.xml | 743 - .../libs/drawio/stencils/electrical/radio.xml | 268 - .../drawio/stencils/electrical/resistors.xml | 617 - .../drawio/stencils/electrical/rot_mech.xml | 367 - .../stencils/electrical/signal_sources.xml | 413 - .../electrical/thermionic_devices.xml | 295 - .../stencils/electrical/transistors.xml | 600 - .../stencils/electrical/transmission.xml | 297 - .../drawio/stencils/electrical/waveforms.xml | 361 - dist/libs/drawio/stencils/floorplan.xml | 1809 - dist/libs/drawio/stencils/flowchart.xml | 921 - dist/libs/drawio/stencils/gcp/big_data.xml | 777 - dist/libs/drawio/stencils/gcp/compute.xml | 708 - .../drawio/stencils/gcp/developer_tools.xml | 289 - dist/libs/drawio/stencils/gcp/extras.xml | 748 - .../stencils/gcp/identity_and_security.xml | 681 - .../drawio/stencils/gcp/machine_learning.xml | 632 - .../drawio/stencils/gcp/management_tools.xml | 761 - dist/libs/drawio/stencils/gcp/networking.xml | 951 - .../drawio/stencils/gcp/product_cards.xml | 106 - .../drawio/stencils/gcp/storage_databases.xml | 593 - dist/libs/drawio/stencils/gcp2.xml | 23206 ------- dist/libs/drawio/stencils/gmdl.xml | 2952 - dist/libs/drawio/stencils/ios7/icons.xml | 2484 - dist/libs/drawio/stencils/ios7/misc.xml | 2184 - dist/libs/drawio/stencils/lean_mapping.xml | 462 - .../drawio/stencils/mockup/advertising.xml | 223 - .../libs/drawio/stencils/mockup/calendars.xml | 1595 - dist/libs/drawio/stencils/mockup/carousel.xml | 599 - .../stencils/mockup/charts_and_tables.xml | 626 - dist/libs/drawio/stencils/mockup/controls.xml | 648 - .../drawio/stencils/mockup/form_elements.xml | 433 - .../stencils/mockup/menus_and_buttons.xml | 848 - dist/libs/drawio/stencils/mockup/misc.xml | 2183 - dist/libs/drawio/stencils/mockup/tabs.xml | 193 - dist/libs/drawio/stencils/mscae/cloud.xml | 10257 --- .../libs/drawio/stencils/mscae/deprecated.xml | 946 - .../libs/drawio/stencils/mscae/enterprise.xml | 5289 -- dist/libs/drawio/stencils/mscae/general.xml | 1412 - .../drawio/stencils/mscae/general_symbols.xml | 587 - dist/libs/drawio/stencils/mscae/intune.xml | 3517 - dist/libs/drawio/stencils/mscae/oms.xml | 1458 - .../libs/drawio/stencils/mscae/opsmanager.xml | 2900 - dist/libs/drawio/stencils/mscae/other.xml | 1292 - .../drawio/stencils/mscae/system_center.xml | 675 - dist/libs/drawio/stencils/mscae/vm.xml | 1949 - dist/libs/drawio/stencils/networks.xml | 4976 -- dist/libs/drawio/stencils/office/clouds.xml | 847 - .../drawio/stencils/office/communications.xml | 7570 --- dist/libs/drawio/stencils/office/concepts.xml | 6700 -- .../libs/drawio/stencils/office/databases.xml | 1748 - dist/libs/drawio/stencils/office/devices.xml | 3171 - dist/libs/drawio/stencils/office/security.xml | 2258 - dist/libs/drawio/stencils/office/servers.xml | 8510 --- dist/libs/drawio/stencils/office/services.xml | 3232 - dist/libs/drawio/stencils/office/sites.xml | 1731 - dist/libs/drawio/stencils/office/users.xml | 2307 - dist/libs/drawio/stencils/pid/agitators.xml | 193 - .../stencils/pid/apparatus_elements.xml | 94 - dist/libs/drawio/stencils/pid/centrifuges.xml | 240 - dist/libs/drawio/stencils/pid/compressors.xml | 376 - .../drawio/stencils/pid/compressors_iso.xml | 286 - .../drawio/stencils/pid/crushers_grinding.xml | 385 - dist/libs/drawio/stencils/pid/driers.xml | 235 - dist/libs/drawio/stencils/pid/engines.xml | 142 - dist/libs/drawio/stencils/pid/feeders.xml | 105 - dist/libs/drawio/stencils/pid/filters.xml | 429 - dist/libs/drawio/stencils/pid/fittings.xml | 628 - .../libs/drawio/stencils/pid/flow_sensors.xml | 328 - .../drawio/stencils/pid/heat_exchangers.xml | 809 - dist/libs/drawio/stencils/pid/instruments.xml | 571 - dist/libs/drawio/stencils/pid/misc.xml | 2058 - dist/libs/drawio/stencils/pid/mixers.xml | 97 - dist/libs/drawio/stencils/pid/piping.xml | 748 - dist/libs/drawio/stencils/pid/pumps.xml | 602 - dist/libs/drawio/stencils/pid/pumps_din.xml | 221 - dist/libs/drawio/stencils/pid/pumps_iso.xml | 199 - dist/libs/drawio/stencils/pid/separators.xml | 423 - .../drawio/stencils/pid/shaping_machines.xml | 188 - dist/libs/drawio/stencils/pid/valves.xml | 846 - dist/libs/drawio/stencils/pid/vessels.xml | 1847 - dist/libs/drawio/stencils/rack/apc.xml | 277 - dist/libs/drawio/stencils/rack/cisco.xml | 16373 ----- dist/libs/drawio/stencils/rack/dell.xml | 5617 -- dist/libs/drawio/stencils/rack/f5.xml | 7923 --- dist/libs/drawio/stencils/rack/general.xml | 3477 - dist/libs/drawio/stencils/rack/hp.xml | 2057 - dist/libs/drawio/stencils/rack/ibm.xml | 2657 - dist/libs/drawio/stencils/rack/oracle.xml | 5140 -- dist/libs/drawio/stencils/signs/animals.xml | 1515 - dist/libs/drawio/stencils/signs/food.xml | 615 - .../libs/drawio/stencils/signs/healthcare.xml | 5753 -- dist/libs/drawio/stencils/signs/nature.xml | 1049 - dist/libs/drawio/stencils/signs/people.xml | 1603 - dist/libs/drawio/stencils/signs/safety.xml | 1644 - dist/libs/drawio/stencils/signs/science.xml | 434 - dist/libs/drawio/stencils/signs/sports.xml | 6035 -- dist/libs/drawio/stencils/signs/tech.xml | 1295 - .../drawio/stencils/signs/transportation.xml | 6297 -- dist/libs/drawio/stencils/signs/travel.xml | 3450 - dist/libs/drawio/stencils/sitemap.xml | 4221 -- dist/libs/drawio/stencils/veeam/2d.xml | 11861 ---- dist/libs/drawio/stencils/veeam/3d.xml | 11155 --- dist/libs/drawio/stencils/veeam/veeam.xml | 12363 ---- dist/libs/drawio/stencils/vvd.xml | 11419 ---- dist/libs/drawio/stencils/webicons.xml | 15274 ----- dist/libs/drawio/stencils/weblogos.xml | 12167 ---- .../mxgraph/javascript/dist/css/common.css | 171 - .../mxgraph/javascript/dist/css/explorer.css | 18 - .../mxgraph/javascript/dist/images/button.gif | Bin 137 -> 0 bytes .../mxgraph/javascript/dist/images/close.gif | Bin 70 -> 0 bytes .../javascript/dist/images/collapsed.gif | Bin 877 -> 0 bytes .../mxgraph/javascript/dist/images/error.gif | Bin 907 -> 0 bytes .../javascript/dist/images/expanded.gif | Bin 878 -> 0 bytes .../mxgraph/javascript/dist/images/grid.gif | Bin 64 -> 0 bytes .../javascript/dist/images/maximize.gif | Bin 843 -> 0 bytes .../javascript/dist/images/minimize.gif | Bin 64 -> 0 bytes .../javascript/dist/images/normalize.gif | Bin 845 -> 0 bytes .../mxgraph/javascript/dist/images/point.gif | Bin 55 -> 0 bytes .../mxgraph/javascript/dist/images/resize.gif | Bin 74 -> 0 bytes .../javascript/dist/images/separator.gif | Bin 146 -> 0 bytes .../javascript/dist/images/submenu.gif | Bin 56 -> 0 bytes .../javascript/dist/images/transparent.gif | Bin 90 -> 0 bytes .../javascript/dist/images/warning copy.gif | Bin 276 -> 0 bytes .../javascript/dist/images/warning.gif | Bin 276 -> 0 bytes .../javascript/dist/images/warning.png | Bin 425 -> 0 bytes .../javascript/dist/images/window-title.gif | Bin 275 -> 0 bytes .../mxgraph/javascript/dist/images/window.gif | Bin 75 -> 0 bytes .../javascript/dist/resources/graph.txt | 11 - .../javascript/dist/styles/default.xml | 105 - dist/libs/sanitizer.min.js | 92 - dist/libs/shapes.min.js | 2758 - dist/libs/stencils.min.js | 206 - dist/libs/viewer.min.js | 3560 - dist/module.js | 47 - dist/partials/flowchart_options.html | 201 - dist/partials/inspect_options.html | 190 - dist/partials/mapping_options.html | 988 - dist/partials/module.html | 14 - dist/plugin.json | 48 - dist/static/css/flowchart.dark.css | 766 - dist/static/css/flowchart.light.css | 766 - dist/static/defaultGraph.drawio | 1 - src/tooltipHandler.ts | 61 +- yarn.lock | 11905 ---- 264 files changed, 44 insertions(+), 623418 deletions(-) delete mode 100644 dist/LICENSE delete mode 100644 dist/README.md delete mode 100644 dist/img/agenty-flowcharting.png delete mode 100644 dist/img/agenty-flowcharting.svg delete mode 100644 dist/libs/Graph_custom.js delete mode 100644 dist/libs/drawio/shapes/bpmn/mxBpmnShape2.js delete mode 100644 dist/libs/drawio/shapes/er/mxER.js delete mode 100644 dist/libs/drawio/shapes/ios7/mxIOS7Ui.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupButtons.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupContainers.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupForms.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupGraphics.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupMarkup.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupMisc.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupNavigation.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupText.js delete mode 100644 dist/libs/drawio/shapes/mockup/mxMockupiOS.js delete mode 100644 dist/libs/drawio/shapes/mxAWS3D.js delete mode 100644 dist/libs/drawio/shapes/mxAWS4.js delete mode 100644 dist/libs/drawio/shapes/mxAndroid.js delete mode 100644 dist/libs/drawio/shapes/mxArchiMate.js delete mode 100644 dist/libs/drawio/shapes/mxArchiMate3.js delete mode 100644 dist/libs/drawio/shapes/mxArrows.js delete mode 100644 dist/libs/drawio/shapes/mxAtlassian.js delete mode 100644 dist/libs/drawio/shapes/mxBasic.js delete mode 100644 dist/libs/drawio/shapes/mxBootstrap.js delete mode 100644 dist/libs/drawio/shapes/mxCabinets.js delete mode 100644 dist/libs/drawio/shapes/mxDFD.js delete mode 100644 dist/libs/drawio/shapes/mxEip.js delete mode 100644 dist/libs/drawio/shapes/mxElectrical.js delete mode 100644 dist/libs/drawio/shapes/mxFloorplan.js delete mode 100644 dist/libs/drawio/shapes/mxFlowchart.js delete mode 100644 dist/libs/drawio/shapes/mxGCP2.js delete mode 100644 dist/libs/drawio/shapes/mxGmdl.js delete mode 100644 dist/libs/drawio/shapes/mxInfographic.js delete mode 100644 dist/libs/drawio/shapes/mxLeanMap.js delete mode 100644 dist/libs/drawio/shapes/mxNetworks.js delete mode 100644 dist/libs/drawio/shapes/mxSysML.js delete mode 100644 dist/libs/drawio/shapes/pid2/mxPidInstruments.js delete mode 100644 dist/libs/drawio/shapes/pid2/mxPidMisc.js delete mode 100644 dist/libs/drawio/shapes/pid2/mxPidValves.js delete mode 100644 dist/libs/drawio/shapes/rack/mxRack.js delete mode 100644 dist/libs/drawio/stencils/android/android.xml delete mode 100644 dist/libs/drawio/stencils/arrows.xml delete mode 100644 dist/libs/drawio/stencils/atlassian.xml delete mode 100644 dist/libs/drawio/stencils/aws/compute.xml delete mode 100644 dist/libs/drawio/stencils/aws/content_delivery.xml delete mode 100644 dist/libs/drawio/stencils/aws/database.xml delete mode 100644 dist/libs/drawio/stencils/aws/deployment_management.xml delete mode 100644 dist/libs/drawio/stencils/aws/groups.xml delete mode 100644 dist/libs/drawio/stencils/aws/messaging.xml delete mode 100644 dist/libs/drawio/stencils/aws/misc.xml delete mode 100644 dist/libs/drawio/stencils/aws/networking.xml delete mode 100644 dist/libs/drawio/stencils/aws/non_service_specific.xml delete mode 100644 dist/libs/drawio/stencils/aws/on_demand_workforce.xml delete mode 100644 dist/libs/drawio/stencils/aws/storage.xml delete mode 100644 dist/libs/drawio/stencils/aws2/administration_and_security.xml delete mode 100644 dist/libs/drawio/stencils/aws2/analytics.xml delete mode 100644 dist/libs/drawio/stencils/aws2/app_services.xml delete mode 100644 dist/libs/drawio/stencils/aws2/compute_and_networking.xml delete mode 100644 dist/libs/drawio/stencils/aws2/database.xml delete mode 100644 dist/libs/drawio/stencils/aws2/deployment_and_management.xml delete mode 100644 dist/libs/drawio/stencils/aws2/developer_tools.xml delete mode 100644 dist/libs/drawio/stencils/aws2/enterprise_applications.xml delete mode 100644 dist/libs/drawio/stencils/aws2/game_development.xml delete mode 100644 dist/libs/drawio/stencils/aws2/internet_of_things.xml delete mode 100644 dist/libs/drawio/stencils/aws2/management_tools.xml delete mode 100644 dist/libs/drawio/stencils/aws2/mobile_services.xml delete mode 100644 dist/libs/drawio/stencils/aws2/networking.xml delete mode 100644 dist/libs/drawio/stencils/aws2/non-service_specific.xml delete mode 100644 dist/libs/drawio/stencils/aws2/on-demand_workforce.xml delete mode 100644 dist/libs/drawio/stencils/aws2/sdks.xml delete mode 100644 dist/libs/drawio/stencils/aws2/security_and_identity.xml delete mode 100644 dist/libs/drawio/stencils/aws2/storage_and_content_delivery.xml delete mode 100644 dist/libs/drawio/stencils/aws3.xml delete mode 100644 dist/libs/drawio/stencils/aws3d.xml delete mode 100644 dist/libs/drawio/stencils/aws4.xml delete mode 100644 dist/libs/drawio/stencils/azure.xml delete mode 100644 dist/libs/drawio/stencils/basic.xml delete mode 100644 dist/libs/drawio/stencils/bootstrap.xml delete mode 100644 dist/libs/drawio/stencils/bpmn.xml delete mode 100644 dist/libs/drawio/stencils/cabinets.xml delete mode 100644 dist/libs/drawio/stencils/cisco/buildings.xml delete mode 100644 dist/libs/drawio/stencils/cisco/computers_and_peripherals.xml delete mode 100644 dist/libs/drawio/stencils/cisco/controllers_and_modules.xml delete mode 100644 dist/libs/drawio/stencils/cisco/directors.xml delete mode 100644 dist/libs/drawio/stencils/cisco/hubs_and_gateways.xml delete mode 100644 dist/libs/drawio/stencils/cisco/misc.xml delete mode 100644 dist/libs/drawio/stencils/cisco/modems_and_phones.xml delete mode 100644 dist/libs/drawio/stencils/cisco/people.xml delete mode 100644 dist/libs/drawio/stencils/cisco/routers.xml delete mode 100644 dist/libs/drawio/stencils/cisco/security.xml delete mode 100644 dist/libs/drawio/stencils/cisco/servers.xml delete mode 100644 dist/libs/drawio/stencils/cisco/storage.xml delete mode 100644 dist/libs/drawio/stencils/cisco/switches.xml delete mode 100644 dist/libs/drawio/stencils/cisco/wireless.xml delete mode 100644 dist/libs/drawio/stencils/cisco_safe/architecture.xml delete mode 100644 dist/libs/drawio/stencils/cisco_safe/capability.xml delete mode 100644 dist/libs/drawio/stencils/cisco_safe/design.xml delete mode 100644 dist/libs/drawio/stencils/cisco_safe/threat.xml delete mode 100644 dist/libs/drawio/stencils/citrix.xml delete mode 100644 dist/libs/drawio/stencils/clipart/Gear_128x128.png delete mode 100644 dist/libs/drawio/stencils/eip.xml delete mode 100644 dist/libs/drawio/stencils/electrical/abstract.xml delete mode 100644 dist/libs/drawio/stencils/electrical/capacitors.xml delete mode 100644 dist/libs/drawio/stencils/electrical/diodes.xml delete mode 100644 dist/libs/drawio/stencils/electrical/electro-mechanical.xml delete mode 100644 dist/libs/drawio/stencils/electrical/iec417.xml delete mode 100644 dist/libs/drawio/stencils/electrical/iec_logic_gates.xml delete mode 100644 dist/libs/drawio/stencils/electrical/inductors.xml delete mode 100644 dist/libs/drawio/stencils/electrical/instruments.xml delete mode 100644 dist/libs/drawio/stencils/electrical/logic_gates.xml delete mode 100644 dist/libs/drawio/stencils/electrical/miscellaneous.xml delete mode 100644 dist/libs/drawio/stencils/electrical/mosfets1.xml delete mode 100644 dist/libs/drawio/stencils/electrical/mosfets2.xml delete mode 100644 dist/libs/drawio/stencils/electrical/op_amps.xml delete mode 100644 dist/libs/drawio/stencils/electrical/opto_electronics.xml delete mode 100644 dist/libs/drawio/stencils/electrical/plc_ladder.xml delete mode 100644 dist/libs/drawio/stencils/electrical/power_semiconductors.xml delete mode 100644 dist/libs/drawio/stencils/electrical/radio.xml delete mode 100644 dist/libs/drawio/stencils/electrical/resistors.xml delete mode 100644 dist/libs/drawio/stencils/electrical/rot_mech.xml delete mode 100644 dist/libs/drawio/stencils/electrical/signal_sources.xml delete mode 100644 dist/libs/drawio/stencils/electrical/thermionic_devices.xml delete mode 100644 dist/libs/drawio/stencils/electrical/transistors.xml delete mode 100644 dist/libs/drawio/stencils/electrical/transmission.xml delete mode 100644 dist/libs/drawio/stencils/electrical/waveforms.xml delete mode 100644 dist/libs/drawio/stencils/floorplan.xml delete mode 100644 dist/libs/drawio/stencils/flowchart.xml delete mode 100644 dist/libs/drawio/stencils/gcp/big_data.xml delete mode 100644 dist/libs/drawio/stencils/gcp/compute.xml delete mode 100644 dist/libs/drawio/stencils/gcp/developer_tools.xml delete mode 100644 dist/libs/drawio/stencils/gcp/extras.xml delete mode 100644 dist/libs/drawio/stencils/gcp/identity_and_security.xml delete mode 100644 dist/libs/drawio/stencils/gcp/machine_learning.xml delete mode 100644 dist/libs/drawio/stencils/gcp/management_tools.xml delete mode 100644 dist/libs/drawio/stencils/gcp/networking.xml delete mode 100644 dist/libs/drawio/stencils/gcp/product_cards.xml delete mode 100644 dist/libs/drawio/stencils/gcp/storage_databases.xml delete mode 100644 dist/libs/drawio/stencils/gcp2.xml delete mode 100644 dist/libs/drawio/stencils/gmdl.xml delete mode 100644 dist/libs/drawio/stencils/ios7/icons.xml delete mode 100644 dist/libs/drawio/stencils/ios7/misc.xml delete mode 100644 dist/libs/drawio/stencils/lean_mapping.xml delete mode 100644 dist/libs/drawio/stencils/mockup/advertising.xml delete mode 100644 dist/libs/drawio/stencils/mockup/calendars.xml delete mode 100644 dist/libs/drawio/stencils/mockup/carousel.xml delete mode 100644 dist/libs/drawio/stencils/mockup/charts_and_tables.xml delete mode 100644 dist/libs/drawio/stencils/mockup/controls.xml delete mode 100644 dist/libs/drawio/stencils/mockup/form_elements.xml delete mode 100644 dist/libs/drawio/stencils/mockup/menus_and_buttons.xml delete mode 100644 dist/libs/drawio/stencils/mockup/misc.xml delete mode 100644 dist/libs/drawio/stencils/mockup/tabs.xml delete mode 100644 dist/libs/drawio/stencils/mscae/cloud.xml delete mode 100644 dist/libs/drawio/stencils/mscae/deprecated.xml delete mode 100644 dist/libs/drawio/stencils/mscae/enterprise.xml delete mode 100644 dist/libs/drawio/stencils/mscae/general.xml delete mode 100644 dist/libs/drawio/stencils/mscae/general_symbols.xml delete mode 100644 dist/libs/drawio/stencils/mscae/intune.xml delete mode 100644 dist/libs/drawio/stencils/mscae/oms.xml delete mode 100644 dist/libs/drawio/stencils/mscae/opsmanager.xml delete mode 100644 dist/libs/drawio/stencils/mscae/other.xml delete mode 100644 dist/libs/drawio/stencils/mscae/system_center.xml delete mode 100644 dist/libs/drawio/stencils/mscae/vm.xml delete mode 100644 dist/libs/drawio/stencils/networks.xml delete mode 100644 dist/libs/drawio/stencils/office/clouds.xml delete mode 100644 dist/libs/drawio/stencils/office/communications.xml delete mode 100644 dist/libs/drawio/stencils/office/concepts.xml delete mode 100644 dist/libs/drawio/stencils/office/databases.xml delete mode 100644 dist/libs/drawio/stencils/office/devices.xml delete mode 100644 dist/libs/drawio/stencils/office/security.xml delete mode 100644 dist/libs/drawio/stencils/office/servers.xml delete mode 100644 dist/libs/drawio/stencils/office/services.xml delete mode 100644 dist/libs/drawio/stencils/office/sites.xml delete mode 100644 dist/libs/drawio/stencils/office/users.xml delete mode 100644 dist/libs/drawio/stencils/pid/agitators.xml delete mode 100644 dist/libs/drawio/stencils/pid/apparatus_elements.xml delete mode 100644 dist/libs/drawio/stencils/pid/centrifuges.xml delete mode 100644 dist/libs/drawio/stencils/pid/compressors.xml delete mode 100644 dist/libs/drawio/stencils/pid/compressors_iso.xml delete mode 100644 dist/libs/drawio/stencils/pid/crushers_grinding.xml delete mode 100644 dist/libs/drawio/stencils/pid/driers.xml delete mode 100644 dist/libs/drawio/stencils/pid/engines.xml delete mode 100644 dist/libs/drawio/stencils/pid/feeders.xml delete mode 100644 dist/libs/drawio/stencils/pid/filters.xml delete mode 100644 dist/libs/drawio/stencils/pid/fittings.xml delete mode 100644 dist/libs/drawio/stencils/pid/flow_sensors.xml delete mode 100644 dist/libs/drawio/stencils/pid/heat_exchangers.xml delete mode 100644 dist/libs/drawio/stencils/pid/instruments.xml delete mode 100644 dist/libs/drawio/stencils/pid/misc.xml delete mode 100644 dist/libs/drawio/stencils/pid/mixers.xml delete mode 100644 dist/libs/drawio/stencils/pid/piping.xml delete mode 100644 dist/libs/drawio/stencils/pid/pumps.xml delete mode 100644 dist/libs/drawio/stencils/pid/pumps_din.xml delete mode 100644 dist/libs/drawio/stencils/pid/pumps_iso.xml delete mode 100644 dist/libs/drawio/stencils/pid/separators.xml delete mode 100644 dist/libs/drawio/stencils/pid/shaping_machines.xml delete mode 100644 dist/libs/drawio/stencils/pid/valves.xml delete mode 100644 dist/libs/drawio/stencils/pid/vessels.xml delete mode 100644 dist/libs/drawio/stencils/rack/apc.xml delete mode 100644 dist/libs/drawio/stencils/rack/cisco.xml delete mode 100644 dist/libs/drawio/stencils/rack/dell.xml delete mode 100644 dist/libs/drawio/stencils/rack/f5.xml delete mode 100644 dist/libs/drawio/stencils/rack/general.xml delete mode 100644 dist/libs/drawio/stencils/rack/hp.xml delete mode 100644 dist/libs/drawio/stencils/rack/ibm.xml delete mode 100644 dist/libs/drawio/stencils/rack/oracle.xml delete mode 100644 dist/libs/drawio/stencils/signs/animals.xml delete mode 100644 dist/libs/drawio/stencils/signs/food.xml delete mode 100644 dist/libs/drawio/stencils/signs/healthcare.xml delete mode 100644 dist/libs/drawio/stencils/signs/nature.xml delete mode 100644 dist/libs/drawio/stencils/signs/people.xml delete mode 100644 dist/libs/drawio/stencils/signs/safety.xml delete mode 100644 dist/libs/drawio/stencils/signs/science.xml delete mode 100644 dist/libs/drawio/stencils/signs/sports.xml delete mode 100644 dist/libs/drawio/stencils/signs/tech.xml delete mode 100644 dist/libs/drawio/stencils/signs/transportation.xml delete mode 100644 dist/libs/drawio/stencils/signs/travel.xml delete mode 100644 dist/libs/drawio/stencils/sitemap.xml delete mode 100644 dist/libs/drawio/stencils/veeam/2d.xml delete mode 100644 dist/libs/drawio/stencils/veeam/3d.xml delete mode 100644 dist/libs/drawio/stencils/veeam/veeam.xml delete mode 100644 dist/libs/drawio/stencils/vvd.xml delete mode 100644 dist/libs/drawio/stencils/webicons.xml delete mode 100644 dist/libs/drawio/stencils/weblogos.xml delete mode 100644 dist/libs/mxgraph/javascript/dist/css/common.css delete mode 100644 dist/libs/mxgraph/javascript/dist/css/explorer.css delete mode 100644 dist/libs/mxgraph/javascript/dist/images/button.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/close.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/collapsed.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/error.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/expanded.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/grid.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/maximize.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/minimize.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/normalize.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/point.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/resize.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/separator.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/submenu.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/transparent.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/warning copy.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/warning.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/warning.png delete mode 100644 dist/libs/mxgraph/javascript/dist/images/window-title.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/images/window.gif delete mode 100644 dist/libs/mxgraph/javascript/dist/resources/graph.txt delete mode 100644 dist/libs/mxgraph/javascript/dist/styles/default.xml delete mode 100644 dist/libs/sanitizer.min.js delete mode 100644 dist/libs/shapes.min.js delete mode 100644 dist/libs/stencils.min.js delete mode 100644 dist/libs/viewer.min.js delete mode 100644 dist/module.js delete mode 100644 dist/partials/flowchart_options.html delete mode 100644 dist/partials/inspect_options.html delete mode 100644 dist/partials/mapping_options.html delete mode 100644 dist/partials/module.html delete mode 100644 dist/plugin.json delete mode 100644 dist/static/css/flowchart.dark.css delete mode 100644 dist/static/css/flowchart.light.css delete mode 100644 dist/static/defaultGraph.drawio delete mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 21a61709..9fc5fa38 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,7 @@ /externals /.vscode /archives +/dist -yarn-error.log \ No newline at end of file +yarn-error.log +yarn.lock diff --git a/dist/LICENSE b/dist/LICENSE deleted file mode 100644 index 29f81d81..00000000 --- a/dist/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/dist/README.md b/dist/README.md deleted file mode 100644 index cbe8921f..00000000 --- a/dist/README.md +++ /dev/null @@ -1,234 +0,0 @@ -# Grafana Plugin Flowcharting - -![Banner](https://github.com/algenty/flowcharting-repository/blob/master/images/banner_large.png?raw=true) - -Flowcharting is a plugin for grafana. It aims to display complexe diagram draws with [draw.io](https://draw.io/) like Visio. Few examples : - * Technical architecture schema (Legacy, Cloud, Azure, AWS, GCP, Kubernetes, Terraform) - * Diagrams (network, electric, flows ...) - * Organic plans - * Floorplans - * UML plan - * Workflows (Jenkins, Ansible Tower, OpenShift, ...) - -Draw your artwork and monitor it. - -## Use case example - - Technical schema example -![example 1](https://github.com/algenty/flowcharting-repository/blob/master/images/fc_archi_example.png?raw=true) - -See more example at draw.io - -# Getting started - - -# Documentation - - -# Project site - - -# Changelog - -## [[0.6.1]](https://algenty.github.io/flowcharting-repository/archives/agenty-flowcharting-panel-0.6.1.zip) - 2019-01-15 -### Fixed - - Fix endless loading when edit graph [(issue #102)](https://github.com/algenty/grafana-flowcharting/issues/102) - - Fix error on edit mode for timeserie [(issue #100)](https://github.com/algenty/grafana-flowcharting/issues/100) - - Fix "Apply button" in inspect mode [(issue #104)](https://github.com/algenty/grafana-flowcharting/issues/104) - -## [[0.6.0]](https://algenty.github.io/flowcharting-repository/archives/agenty-flowcharting-panel-0.6.0.zip) - 2019-12-20 -### Added - - Experimental implementation for table type data (Mysql, Postgres, Zabbix, Streaming, loki and other ...) - - PlaceHolder feature supported [see doc from draw.io](https://desk.draw.io/support/solutions/articles/16000051979) - - Some optimization on : - - tooltips - - States - - Tooltip Graph : - - Histogram ([See example](https://algenty.github.io/flowcharting-repository/images/histogram_ani.png)) - - Variables support in download input url ([See example](https://algenty.github.io/flowcharting-repository/images/url_download_variable_ani.png)) - - Add graduate animation when color changed ([See example](https://video.twimg.com/tweet_video/EISkJwdWwAAi5Qh.mp4)) - - New rule design in editor ([See example](https://algenty.github.io/flowcharting-repository/images/rule_design.png)) - - Typescript migration for best quality code. - - Build migration to grafana-toolkit (thanks Dominik and Ryan). - - New engine graph for best compatibility with draw.io. - - Better Zoom for firefox and IE/edge. - - Add checks/controls on edit mode for XML and URL. - - Regular expression for String type values implemented to define level state. -### Fixed - - Fix download url on first load. - - Fix value null for string [(issue #65)](https://github.com/algenty/grafana-flowcharting/issues/65) - - Fix bug "subways" Editor [(issue #73)](https://github.com/algenty/grafana-flowcharting/issues/73) - - Fix date on 2 digit in tooltip [(issue #77)](https://github.com/algenty/grafana-flowcharting/issues/73) - - Fix minors bug. - -## [[0.5.0]](https://algenty.github.io/flowcharting-repository/archives/agenty-flowcharting-panel-0.5.0.zip) - 2019-10-17 -### Added - - 2 new modes for "Update text value" ([See example](https://algenty.github.io/flowcharting-repository/images/append_mode_ani.png)) - - Append (Space) : Concat metrics with a space as a separator - - Append (New line) : Concat metrics with a line break - - Variabilization in "Url" for link mapping ([See example](https://algenty.github.io/flowcharting-repository/images/variable_link_ani.png)) - - New check box to allow download images from draw.io ([See example](https://algenty.github.io/flowcharting-repository/images/drawio_source_ani.png)) - - New editor option : - - Choose other editor draw.io like internal website - - Choose the theme of editor - - New identification mode for shapes when mouse cursor is over the rules or the mapping ([See example](https://algenty.github.io/flowcharting-repository/images/identification_mode_ani.png)) - - Support Dynamic shapes like Floorplan, isometric plans and more ([See example](https://algenty.github.io/flowcharting-repository/images/dynamic_shapes_ani.png)) - - New color mode for no SVG object like pictures/cliparts/images ([See example](https://algenty.github.io/flowcharting-repository/images/colormode_ani.png)) - - Graphs in tooltip ([See example](https://algenty.github.io/flowcharting-repository/images/tooltip_graph.png)) - - Color graph with defined colors in threshold - - Size of graph ([See example](https://algenty.github.io/flowcharting-repository/images/graph_size.png)) - - Define the orientation in tooltip for each metrics/graph in tooltips : horizontal or vertical ([See example](https://algenty.github.io/flowcharting-repository/images/tooltip_direction_ani.png)) - - Some optimizations, Display is twice as fast on load. - -### Fixed - - Fix color to reset when "Color on" is "Always/Critical" and metric is OK - - Fix border to empty instead black when "color mode" is "Fill" [(issue #24)](https://github.com/algenty/grafana-flowcharting/issues/24) - - Fix error when "Value On" is not "When metric displayed" - - Fix Link [(issue #37)](https://github.com/algenty/grafana-flowcharting/issues/37) - - Fix hyperlink text appears in white over flowchart [(issue #45)](https://github.com/algenty/grafana-flowcharting/issues/45) - - Fix "Multiple FlowCharts On a Dashboard", when edit, both are the same draw [(issue #48)](https://github.com/algenty/grafana-flowcharting/issues/48) - - Fix options after reload or variable changed [(issue #44)](https://github.com/algenty/grafana-flowcharting/issues/48) - - Fix auto reset zoom/unzoom when data refreshed, only ESC or change options on flowchart reset zoom now [(issue #38)](https://github.com/algenty/grafana-flowcharting/issues/38) - - Fix error for BPNM shapes [(Issue #51)](https://github.com/algenty/grafana-flowcharting/issues/51) - - Fix display when center and scale are checked on flowchart options. - - Fix Zoom with mouse wheel for firefox and Edge. - -## [[0.4.0]](https://algenty.github.io/flowcharting-repository/archives/agenty-flowcharting-panel-0.4.0.zip) - 2019-09-26 -### Added - - Draw.io editor ([see example](https://algenty.github.io/flowcharting-repository/images/openEditor_ani.gif)) - - Open draw.io with dark theme for better rendering - - Display waiting screen when loading xml definition. - - Upgrading libraries - - mxGraph 4.0.4 - - draw.io 11.2.8 - - Graph definition - - Adding download function to download source by http on load. ([See example](https://algenty.github.io/flowcharting-repository/images/download_ani.gif)) - - Metric - - Adding string support for state (See example) - - Zoom [(issue #19)](https://github.com/algenty/grafana-flowcharting/issues/19) ([See example](https://algenty.github.io/flowcharting-repository/images/zoom2_ani.gif)) - - On the mouse pointer : Ctrl + Mouse - - Hold right button to move diagram. - - double click on shape to zoom on. - - Escape key to restore. - - Tooltip/popup support ([see example](https://algenty.github.io/flowcharting-repository/images/tooltip2_ani.gif)) - - Grafana style css and date - - Adding metrics with color according levels - - Adding colors on metrics in tooltip - - Adding date of change - - Adding label input for metric - - Variables/templates support, accept variable like ${} ([See example](https://algenty.github.io/flowcharting-repository/images/variable_ani.gif)) - - In xml definition - - In text mapping when type in sring for "Range to text" and "Value to text" - - In link ovewrite - - full shapes from draw.io included ([See example](https://algenty.github.io/flowcharting-repository/images/shapes_ani.gif)) - - Some optimizations on render and display. - -### Fixed - - Optimization when refresh/render [(issue #15)](https://github.com/algenty/grafana-flowcharting/issues/15) - - No decimal fixed when 0 [(issue #23)](https://github.com/algenty/grafana-flowcharting/issues/23) - - Text substring and color [(issues #29)](https://github.com/algenty/grafana-flowcharting/issues/29) - - Fix formatted text when label is html [(issues #21)](https://github.com/algenty/grafana-flowcharting/issues/29) - - Work around a bug since Grafana 6+ [(issues 19426 grafana)](https://github.com/grafana/grafana/issues/19426) - -# Annex -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -# Cooming soon/Roadmap - -## 1.0 Next/Requested enhancements - - [ ] Custom libs. - - [X] Internat draw.io website [(issue #43)](https://github.com/algenty/grafana-flowcharting/issues/43) - - [X] Display tooltip (done in 0.4.0) - - [ ] Export SVG, png, options - - [X] Add data in tooltip (done in 0.4.0) - - [X] Use variables/templates in graph (done in 0.4.0) - - [X] Add custom stencils/libs from draw.io (done in 0.4.0) - - [X] Progressive change color like gauge - - [ ] Support light theme - - [ ] Annotation - - [X] Tooltips on text and arrow/line - - [X] Url source download (done in 0.4.0) - - [ ] Special rule according level (hide, show, change form, move, infront, in back, attributes, ...) - - [ ] Custom variables like ${_label},${_value}, ${_alias}, ${_rule}, ${_level} ... - - [X] Variable support in link (done in 0.5.0) - - [X] Zoom/Unzoom (done in 0.4.0) - - [ ] Shared graph crosshair - - [ ] CSV source - - [ ] Map/search shape by value - - [ ] Variables support for downloaded source and compressed source - - [ ] Multi graph with auto link when errors - - [ ] Gradien Mode for color - - [ ] More than 3 colors - - [X] Graph in tooltip - - [X] Histogram - - [ ] Merge Graphs - - [X] carriage return after new rule in tooltips option - - [X] Filter for null values in graph - - [ ] Inspector on series - - [X] New style for image : imageBackground, imageBorder - - [X] Support cloud images from draw.io - - [X] Support images from draw.io (done in 0.5.0) - - [X] Add append mode on text with CR or space (done in 0.5.0) - -# Support or Contact - - - Having troubles with flowcharting ? Check out [issues](https://github.com/algenty/grafana-flowcharting/issues) - - Email : - - Twitter : https://twitter.com/gf_flowcharting - -# Dependencies - -## Grafane flowcharting plugin dependencies - -* [AngularJS] - HTML enhanced for web apps! -* [lodash] - awesome web-based text editor -* [jquery] - Markdown parser done right. Fast and easy to extend. -* [mxGraph] - great UI boilerplate for modern web apps -* [pako] - Zlib port to javascript -* [vkbeautify] - Pretty prints and minifies XML/JSON/SQL/CSV -* [sanitizer] - Caja's HTML Sanitizer -* [chartist] - Graph for tooltip - -## Build dependencies - -* [jest] - Delightful JavaScript Testing -* [express] - Fast, unopinionated, minimalist web framework -* [babel] - Soft cushion between you all the cool new file formats being developed for node.js such as CoffeeScript, SASS, and Jade. -* [grunt] - The JavaScript Task Runner -* [webpack] - Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff. - -# Installation - -Flowcharting requires [Grafana](https://www.grafana.com/) v5+ to run (not tested lower version) -Download and install it - -## Manualy -```sh -$ cd $grafana_home/data/plugin -$ wget --no-check-certificate https://github.com/algenty/grafana-flowcharting/archive/master.zip -$ unzip master.zip -``` - -## grafana-cli - -```sh -grafana-cli plugins install agenty-flowcharting-panel -``` -## Build - -```sh -$ git clone https://github.com/algenty/grafana-flowcharting -$ yarn build -$ # Make zip file plugin in archives dir -$ yarn build archive -$ # for dev watching -$ yarn build dev -``` - -## Class diagram -https://www.draw.io/?chrome=0&lightbox=1&url=https%3A%2F%2Fraw.githubusercontent.com%2Falgenty%2Fflowcharting-repository%2Fmaster%2Fgraphs%2FFlowcharting_carto.drawio - -## Event diagram (In progress) -https://www.draw.io/?chrome=0&lightbox=1&url=https%3A%2F%2Fraw.githubusercontent.com%2Falgenty%2Fflowcharting-repository%2Fmaster%2Fgraphs%2FFlowcharting_Events.drawio diff --git a/dist/img/agenty-flowcharting.png b/dist/img/agenty-flowcharting.png deleted file mode 100644 index cceb789ce7546ff4160373411f3fc1f9c1a3f5f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1722 zcmV;r21WUaP)0uZ7VHX^N2C~AO9c^8+0_z3p+*W{iqt3? zstBec8lvq7V+zI(esBTQC}C;XOq8&Nh!AK14FXygMJ!7LwAdEfLMdAxyf@>A>H0cv z-g~pwn@svT%enXb=bUrT{ogYJ8cnGn9+~?QNkv2iz!z|nFUW5IzlKmV&-+5i(|cY< z!Otb)xFAgDdY~Agi{dAF9FdQJ93ZCSf<=dwvLct~MPVm0i-ngd?*@QUK>_d`AO%(2 zT?MR?=R@W#VHPXe0Z{&7Dgs-f)!eaJ0Wltub09Wd{lBFO8g_uM$tgf&WTp$Rv0YHk z5sQ~oz#vm5AI@_~Ft8ZX-iN4!0KdHnRZF3AG5A}Yu#jrv$P$zaW&l6f@9zR+t%uZ? z&}|Jnpgb33zrF6F9{C~)W--Z$u8Tv6tkLfG9_zciiCc0qB$E%!~k%Xb3$c=-;gmAAmdc*1Dk1J)$MP6b>Ml zeheRg+Aa3RqfS;L+7eu}WL7PM<|Cn%zg-Qd7TFt*+T{4#0I)mS%7E`Sluv=i-NBW= zasYmv04??Q2f$VfkRlFfX69pW0~~%1lC!~+2Loq=7!6e`RkOdm8x+OS^jdNypKsg` z4f`QA7owBkc%eJ%0~sV_7gv1YWS@2dLZAgWy*k4HU{;PVqy^Xwh}rcA=Eozs`UZLc z;Uc+8W^~Y2t`Q{G1wpHMgtqfyEO;hEd?pA|$N5lyWgj%1feSmq?+xmLlB@JoC>Myk z4<_$}_zVoUYn8Au8*bESj;|vVbRr#&6o8>0m{T4gF$10`(jK1@ZV2SGCdFggLIRbqRyY%yddAfPh9$4j)MdFE_L%(6y# zS$lj^`!n-?Rx^1V&gDBp6`U=T!tzEf0^Qi$$8XuTxl z##yNO8Dy{VJmA!7$jDa%rQtU(!=I~k00=e!DH%rXfrQ75civn9WfS36ZFs40poLuA z4cjNf@b{p%rz_BCyo|teH|yZ{&*6NTjtc}!QXVKar#wKyLojR+9D3831pr*!1J!$M zi%C+K2-*4KJwvSVzr>+Emk-dj0L7{tBwBSR%>XF6%LnKNL91H7(U5;dXA`8!Wj+9# zE#TI_P`OTf#uzfMBM7>YkjZ*3U{$+u0sbh~?jwCB^h$ECdIUWexNA`o;=O8;6^?=d z;~}|~5DB)L3_R!eLE{;yKG40^pwoTY764HFJ*2%7SVt9kJG;&}05QpsR|fZvFy4RN zF<3njZe5Kq2-fa^UveO$P-SL9B^}-N_%1=kayY+LpAXOjU}TXw28 z*@fw+^EF=!94yhcfJbISij90gSe&5Ue1N|N4hJDb24-6WfZr74>-9A{@!FWAAke?-V^HsA_{^%y*A)~UmxJo?zFr00k~M6(>@JaSa75{oq0yX zi)AoqQuqMGB*8NuL+Ycpm&BrX)ek4XWdRCbI-U-XUkFkh?EM5} z#hLu0BksH_l(MAb)7h_C2E6TPI_w4mrBa072&*XUv^xnxA@h+bK%vSpK0t9$Uh8fL z3a_^*kJhe-Qi4b#V-OjP-1-H%Un6hVIv2^kPRUd)!i&IZ260Fz>2iht06jo+2bv#R Q9RL6T07*qoM6N<$f~w&S-v9sr diff --git a/dist/img/agenty-flowcharting.svg b/dist/img/agenty-flowcharting.svg deleted file mode 100644 index e8ab26ba..00000000 --- a/dist/img/agenty-flowcharting.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - background - - - - Layer 1 - - - - \ No newline at end of file diff --git a/dist/libs/Graph_custom.js b/dist/libs/Graph_custom.js deleted file mode 100644 index 3892d030..00000000 --- a/dist/libs/Graph_custom.js +++ /dev/null @@ -1,132 +0,0 @@ -mxTooltipHandler.prototype.show = function(tip, x, y) { - // TYPE STRING - if ( this.destroyed) return; - if (tip == null) return; - if ( tip.length == 0) return; - // Initializes the DOM nodes if required - if (this.div == null) { - this.init(); - } - if (!mxUtils.isNode(tip)) { - this.div.innerHTML = tip.replace(/\n/g, '
'); - } else { - this.div.innerHTML = ''; - this.div.appendChild(tip); - } - this.$div.place_tt(x + 20, y); - GFP.log.debug('mxTooltipHandler.prototype.show div',this.div.innerHTML) - this.div.style.visibility = ''; - mxUtils.fit(this.div); -}; - -mxTooltipHandler.prototype.init = function() { - if (this.div === null || this.div === undefined) { - this.$div = $('
'); - this.div = this.$div[0]; - mxEvent.addGestureListeners( - this.div, - mxUtils.bind(this, function(evt) { - this.hideTooltip(); - }) - ); - } -}; - -mxTooltipHandler.prototype.hideTooltip = function() { - if (this.div != null) { - this.div.style.visibility = 'hidden'; - this.div.innerHTML = ''; - } -}; - -Graph.prototype.getTooltipForCell = function (cell) { - GFP.log.info('Graph.prototype.getTooltipForCell()'); - let hasTips = false; - let div = document.createElement('div'); - if (mxUtils.isNode(cell.value)) { - let tmp = cell.value.getAttribute('tooltip'); - // Tooltip - if (tmp != null) { - hasTips = true; - if (tmp != null && this.isReplacePlaceholders(cell)) { - tmp = this.replacePlaceholders(cell, tmp); - } - let ttDiv = document.createElement('div'); - ttDiv.className = 'tooltip-text'; - ttDiv.innerHTML = this.sanitizeHtml(tmp); - div.appendChild(ttDiv); - } - - let ignored = this.builtInProperties; - let attrs = cell.value.attributes; - let temp = []; - - // Hides links in edit mode - // if (this.isEnabled()) { - ignored.push('link'); - // } - - // Attributes - for (var i = 0; i < attrs.length; i++) { - if (mxUtils.indexOf(ignored, attrs[i].nodeName) < 0 && attrs[i].nodeValue.length > 0) { - temp.push({ name: attrs[i].nodeName, value: attrs[i].nodeValue }); - } - } - - // Sorts by name - temp.sort(function (a, b) { - if (a.name < b.name) { - return -1; - } else if (a.name > b.name) { - return 1; - } else { - return 0; - } - }); - if (temp.length > 0) { - hasTips = true; - var attrDiv = document.createElement('div'); - var attrString = ''; - for (var i = 0; i < temp.length; i++) { - if (temp[i].name != 'link' || !this.isCustomLink(temp[i].value)) { - attrString += - (temp[i].name != 'link' ? '' + temp[i].name + ': ' : '') + - mxUtils.htmlEntities(temp[i].value) + - '\n'; - } - } - attrDiv.innerHTML = attrString; - div.appendChild(attrDiv); - } - } - - // GF Tooltips - if (cell.GF_tooltipHandler != null) { - let tooltipHandler = cell.GF_tooltipHandler; - let gfDiv = tooltipHandler.getDiv(div); - if (gfDiv !== null) { - hasTips = true; - } - } - if (hasTips) return div; - return ''; -}; - - -mxEvent.addMouseWheelListener = function(func, container) { - if (null != func) { - var c = function(container) { - null == container && (container = window.event); - var c; - c = mxClient.IS_FF ? -container.detail / 2 : container.wheelDelta / 120; - 0 != c && func(container, 0 < c); - }; - mxClient.IS_NS && null == document.documentMode - ? mxEvent.addListener( - mxClient.IS_GC && null != container ? container : window, - mxClient.IS_SF || mxClient.IS_GC ? 'mousewheel' : 'DOMMouseScroll', - c - ) - : mxEvent.addListener(document, 'mousewheel', c); - } -}; diff --git a/dist/libs/drawio/shapes/bpmn/mxBpmnShape2.js b/dist/libs/drawio/shapes/bpmn/mxBpmnShape2.js deleted file mode 100644 index a2d0af62..00000000 --- a/dist/libs/drawio/shapes/bpmn/mxBpmnShape2.js +++ /dev/null @@ -1,760 +0,0 @@ -/** - * $Id: mxBpmnShape2.js,v 1.6 2013/12/20 09:54:28 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ -/** - * Class: mxBpmnShape - * - * Extends to implement an cylinder shape. If a - * custom shape with one filled area and an overlay path is - * needed, then this shape's should be overridden. - * This shape is registered under - * in . - * - * Constructor: mxBpmnShape - * - * Constructs a new cylinder shape. - * - * Parameters: - * - * bounds - that defines the bounds. This is stored in - * . - * fill - String that defines the fill color. This is stored in . - * stroke - String that defines the stroke color. This is stored in . - * strokewidth - Optional integer that defines the stroke width. Default is - * 1. This is stored in . - */ -function mxBpmnShape(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxBpmnShape, mxShape); - -mxBpmnShape.prototype.customProperties = [ - {name: 'symbol', dispName: 'Event', type: 'enum', defVal:'general', - enumList: [{val: 'general', dispName: 'General'}, - {val: 'message', dispName: 'Message'}, - {val: 'timer', dispName: 'Timer'}, - {val: 'escalation', dispName: 'Escalation'}, - {val: 'conditional', dispName: 'Conditional'}, - {val: 'link', dispName: 'Link'}, - {val: 'error', dispName: 'Error'}, - {val: 'cancel', dispName: 'Cancel'}, - {val: 'compensation', dispName: 'Compensation'}, - {val: 'signal', dispName: 'Signal'}, - {val: 'multiple', dispName: 'Multiple'}, - {val: 'parallelMultiple', dispName: 'Parallel Multiple'}, - {val: 'terminate', dispName: 'Terminate'}, - {val: 'exclusiveGw', dispName: 'Exclusive Gw'}, - {val: 'parallelGw', dispName: 'Parallel Gw'}, - {val: 'complexGw', dispName: 'Complex Gw'}] - }, - {name: 'outline', dispName: 'Event Type', type: 'enum', defVal:'standard', - enumList: [{val: 'standard', dispName: 'Standard'}, - {val: 'eventInt', dispName: 'Interrupting'}, - {val: 'eventNonint', dispName: 'Non-Interrupting'}, - {val: 'catching', dispName: 'Catching'}, - {val: 'boundInt', dispName: 'Bound Interrupting'}, - {val: 'boundNonint', dispName: 'Bound Non-Interrupting'}, - {val: 'throwing', dispName: 'Throwing'}, - {val: 'end', dispName: 'End'}, - {val: 'none', dispName: 'None'}] - }, - {name: 'background', dispName: 'Background', type: 'enum', defVal:'none', - enumList: [{val: 'gateway', dispName: 'Gateway'}, - {val: 'none', dispName: 'None'}] -}]; - -mxBpmnShape.prototype.eventTypeEnum = { - START_STANDARD : 'standard', - EVENT_SP_INT : 'eventInt', - EVENT_SP_NONINT : 'eventNonint', - CATCHING : 'catching', - BOUND_INT : 'boundInt', - BOUND_NONINT : 'boundNonint', - THROWING : 'throwing', - END : 'end', - NONE : 'none', - GATEWAY : 'gateway'}; - -mxBpmnShape.prototype.eventEnum = { - GENERAL : 'general', - MESSAGE : 'message', - TIMER : 'timer', - ESCALATION : 'escalation', - CONDITIONAL : 'conditional', - LINK : 'link', - ERROR : 'error', - CANCEL : 'cancel', - COMPENSATION : 'compensation', - SIGNAL : 'signal', - MULTIPLE : 'multiple', - PAR_MULTI : 'parallelMultiple', - TERMINATE : 'terminate', - GW_EXCLUSIVE : 'exclusiveGw', - GW_PARALLEL : 'parallelGw', - GW_COMPLEX : 'complexGw'}; - -mxBpmnShape.prototype.miscEnum = { - OUTLINE : 'outline', - BACKGROUND : 'background', - SYMBOL : 'symbol', - GATEWAY : 'gateway'}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxBpmnShape.prototype.paintVertexShape = function(c, x, y, w, h) -{ - this.redrawPath(c, x, y, w, h, mxBpmnShape.prototype.miscEnum.BACKGROUND); - var bg = mxUtils.getValue(this.style, mxBpmnShape.prototype.miscEnum.BACKGROUND, mxBpmnShape.prototype.eventTypeEnum.NONE); - - if (bg === mxBpmnShape.prototype.eventTypeEnum.GATEWAY) - { - c.setShadow(false); - } - - this.redrawPath(c, x, y, w, h, mxBpmnShape.prototype.miscEnum.OUTLINE); - this.redrawPath(c, x, y, w, h, mxBpmnShape.prototype.miscEnum.SYMBOL); -}; - -/** - * Function: redrawPath - * - * Draws the path for this shape. - */ -mxBpmnShape.prototype.redrawPath = function(c, x, y, w, h, layer) -{ - var bg = mxUtils.getValue(this.style, mxBpmnShape.prototype.miscEnum.BACKGROUND, mxBpmnShape.prototype.eventTypeEnum.NONE); - - if (layer == mxBpmnShape.prototype.miscEnum.BACKGROUND) - { - if (bg != null) - { - var f = this.backgrounds[bg]; - - if (f != null) - { - c.translate(x, y); - f.call(this, c, x, y, w, h, layer); - } - } - } - else if (layer == mxBpmnShape.prototype.miscEnum.OUTLINE) - { - if (bg === mxBpmnShape.prototype.eventTypeEnum.GATEWAY) - { - c.translate(w / 4, h / 4); - h /= 2; - w /= 2; - - //add rhombus connections here - this.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.25, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.25, 0.75), false), - new mxConnectionConstraint(new mxPoint(0.75, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.75, 0.75), false) - ]; - } - else - { - //add ellipse connections here - this.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.145, 0.145), false), - new mxConnectionConstraint(new mxPoint(0.145, 0.855), false), - new mxConnectionConstraint(new mxPoint(0.855, 0.145), false), - new mxConnectionConstraint(new mxPoint(0.855, 0.855), false) - ]; - } - - var o = mxUtils.getValue(this.style, mxBpmnShape.prototype.miscEnum.OUTLINE, mxBpmnShape.prototype.eventTypeEnum.NONE); - - if (o != null) - { - var f = this.outlines[o]; - - if (f != null) - { - f.call(this, c, x, y, w, h, bg === mxBpmnShape.prototype.eventTypeEnum.GATEWAY); - } - } - } - else if (layer == mxBpmnShape.prototype.miscEnum.SYMBOL) - { - if (bg === mxBpmnShape.prototype.eventTypeEnum.GATEWAY) - { - h /= 2; - w /= 2; - } - - var s = mxUtils.getValue(this.style, mxBpmnShape.prototype.miscEnum.SYMBOL, null); - - if (s != null) - { - var f = this.symbols[s]; - - if (f != null) - { - var strokeColor = c.state.strokeColor; - var fillColor = c.state.fillColor; - var o = mxUtils.getValue(this.style, mxBpmnShape.prototype.miscEnum.OUTLINE, mxBpmnShape.prototype.eventTypeEnum.NONE); - - if (s === mxBpmnShape.prototype.eventEnum.MESSAGE) - { - c.translate(w * 0.15, h * 0.3); - w = w * 0.7; - h = h * 0.4; - } - else if (s === mxBpmnShape.prototype.eventEnum.TIMER) - { - c.translate(w * 0.11, h * 0.11); - w = w * 0.78; - h = h * 0.78; - } - else if (s === mxBpmnShape.prototype.eventEnum.ESCALATION) - { - c.translate(w * 0.19, h * 0.15); - w = w * 0.62; - h = h * 0.57; - } - else if (s === mxBpmnShape.prototype.eventEnum.CONDITIONAL) - { - c.translate(w * 0.3, h * 0.16); - w = w * 0.4; - h = h * 0.68; - } - else if (s === mxBpmnShape.prototype.eventEnum.LINK) - { - c.translate(w * 0.27, h * 0.33); - w = w * 0.46; - h = h * 0.34; - } - else if (s === mxBpmnShape.prototype.eventEnum.ERROR) - { - c.translate(w * 0.212, h * 0.243); - w = w * 0.58; - h = h * 0.507; - } - else if (s === mxBpmnShape.prototype.eventEnum.CANCEL) - { - c.translate(w * 0.22, h * 0.22); - w = w * 0.56; - h = h * 0.56; - } - else if (s === mxBpmnShape.prototype.eventEnum.COMPENSATION) - { - c.translate(w * 0.28, h * 0.35); - w = w * 0.44; - h = h * 0.3; - } - else if (s === mxBpmnShape.prototype.eventEnum.SIGNAL) - { - c.translate(w * 0.19, h * 0.15); - w = w * 0.62; - h = h * 0.57; - } - else if (s === mxBpmnShape.prototype.eventEnum.MULTIPLE) - { - c.translate(w * 0.2, h * 0.19); - w = w * 0.6; - h = h * 0.565; - } - else if (s === mxBpmnShape.prototype.eventEnum.PAR_MULTI) - { - c.translate(w * 0.2, h * 0.2); - w = w * 0.6; - h = h * 0.6; - } - else if (s === mxBpmnShape.prototype.eventEnum.TERMINATE) - { - c.translate(w * 0.05, h * 0.05); - w = w * 0.9; - h = h * 0.9; - } - else if (s === mxBpmnShape.prototype.eventEnum.GW_EXCLUSIVE) - { - c.translate(w * 0.12, 0); - w = w * 0.76; - } - - var isInverse = false; - - if (s === 'star') - { - c.setFillColor(strokeColor); - } - else if (o === mxBpmnShape.prototype.eventTypeEnum.THROWING || o === mxBpmnShape.prototype.eventTypeEnum.END) - { - c.setStrokeColor(fillColor); - c.setFillColor(strokeColor); - isInverse = true; - } - - f.call(this, c, x, y, w, h, layer, isInverse); - - if (s === 'star') - { - c.setFillColor(fillColor); - } - else if (o === mxBpmnShape.prototype.eventTypeEnum.THROWING || o === mxBpmnShape.prototype.eventTypeEnum.END) - { - c.setStrokeColor(strokeColor); - c.setFillColor(fillColor); - } - } - } - } -}; - -//Contains all possible backgrounds -mxBpmnShape.prototype.backgrounds = { - 'none': function(c, x, y, w, h) - { - }, - 'gateway': function(c, x, y, w, h) - { - c.begin(); - c.moveTo(w / 2, 0); - c.lineTo(w, h / 2); - c.lineTo(w / 2, h); - c.lineTo(0, h / 2); - c.close(); - c.fillAndStroke(); - } -}; - -//Contains all possible outlines -mxBpmnShape.prototype.outlines = { - 'none' : function(c, x, y, w, h, isGateway) - { - if (!isGateway) - { - c.setShadow(false); - } - }, - 'standard': function(c, x, y, w, h, isGateway) - { - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - if (!isGateway) - { - c.setShadow(false); - } - }, - 'eventInt': function(c, x, y, w, h, isGateway) - { - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - if (!isGateway) - { - c.setShadow(false); - } - }, - 'eventNonint': function(c, x, y, w, h, isGateway) - { - var dashed = c.state.dashed; - c.setDashed(true); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - c.setDashed(dashed); - - if (!isGateway) - { - c.setShadow(false); - } - - }, - 'catching': function(c, x, y, w, h, isGateway) - { - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - if (!isGateway) - { - c.setShadow(false); - } - - var inset = 2; - c.ellipse(inset, inset, w - 2 *inset, h - 2 * inset); - c.stroke(); - }, - 'boundInt': function(c, x, y, w, h, isGateway) - { - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - if (!isGateway) - { - c.setShadow(false); - } - var inset = 2; - c.ellipse(inset, inset, w - 2 *inset, h - 2 * inset); - c.stroke(); - }, - 'boundNonint': function(c, x, y, w, h, isGateway) - { - var dashed = c.state.dashed; - c.setDashed(true); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - if (!isGateway) - { - c.setShadow(false); - } - - var inset = 2; - c.ellipse(inset, inset, w - 2 *inset, h - 2 * inset); - c.stroke(); - c.setDashed(dashed); - }, - 'throwing': function(c, x, y, w, h, isGateway) - { - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - if (!isGateway) - { - c.setShadow(false); - } - - var inset = 2; - c.ellipse(w * 0.02 + inset, h * 0.02 + inset, w * 0.96 - 2 *inset, h * 0.96 - 2 * inset); - c.stroke(); - }, - 'end': function(c, x, y, w, h, isGateway) - { - var sw = c.state.strokeWidth; - c.setStrokeWidth(sw * 3); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - c.setStrokeWidth(sw); - - if (!isGateway) - { - c.setShadow(false); - } - } -}; - -//Contains all possible symbols -mxBpmnShape.prototype.symbols = { - 'general' : function(c, x, y, w, h) - { - }, - 'message': function(c, x, y, w, h, layer, isInverse) - { - c.rect(0, 0, w, h); - c.fillAndStroke(); - - var fc = mxUtils.getValue(this.style, "fillColor", "none"); - - if (fc === 'none') - { - if (isInverse) - { - c.setStrokeColor('#ffffff'); - } - } - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w, 0); - c.stroke(); - }, - 'timer' : function(c, x, y, w, h) - { - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h * 0.0642); - c.moveTo(w * 0.7484, h * 0.0654); - c.lineTo(w * 0.7126, h * 0.1281); - c.moveTo(w * 0.93, h * 0.2471); - c.lineTo(w * 0.8673, h * 0.2854); - c.moveTo(w, h * 0.5); - c.lineTo(w * 0.9338, h * 0.5); - c.moveTo(w * 0.93, h * 0.7509); - c.lineTo(w * 0.8673, h * 0.7126); - c.moveTo(w * 0.7484, h * 0.9326); - c.lineTo(w * 0.7126, h * 0.8699); - c.moveTo(w * 0.5, h * 0.9338); - c.lineTo(w * 0.5, h); - c.moveTo(w * 0.2496, h * 0.9325); - c.lineTo(w * 0.2854, h * 0.8699); - c.moveTo(w * 0.068, h * 0.7509); - c.lineTo(w * 0.1307, h * 0.7126); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.0642, h * 0.5); - c.moveTo(w * 0.068, h * 0.2471); - c.lineTo(w * 0.1307, h * 0.2854); - c.moveTo(w * 0.2496, h * 0.0654); - c.lineTo(w * 0.2854, h * 0.1281); - c.moveTo(w * 0.5246, h * 0.0706); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.7804, h * 0.5118); - c.stroke(); - }, - 'escalation' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h); - c.lineTo(w * 0.5, h * 0.5); - c.close(); - c.fillAndStroke(); - }, - 'conditional' : function(c, x, y, w, h) - { - c.rect(0, 0, w, h); - c.fillAndStroke(); - c.begin(); - c.moveTo(0, h * 0.1027); - c.lineTo(w * 0.798, h * 0.1027); - c.moveTo(0, h * 0.3669); - c.lineTo(w * 0.798, h * 0.3669); - c.moveTo(0, h * 0.6311); - c.lineTo(w * 0.798, h * 0.6311); - c.moveTo(0, h * 0.8953); - c.lineTo(w * 0.798, h * 0.8953); - c.stroke(); - }, - 'link' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(0, h * 0.76); - c.lineTo(0, h * 0.24); - c.lineTo(w * 0.63, h * 0.24); - c.lineTo(w * 0.63, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.63, h); - c.lineTo(w * 0.63, h * 0.76); - c.close(); - c.fillAndStroke(); - }, - 'error' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.3287, h * 0.123); - c.lineTo(w * 0.6194, h * 0.6342); - c.lineTo(w, 0); - c.lineTo(w * 0.6625, h * 0.939); - c.lineTo(w * 0.3717, h * 0.5064); - c.close(); - c.fillAndStroke(); - }, - 'cancel' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(w * 0.1051, 0); - c.lineTo(w * 0.5, h * 0.3738); - c.lineTo(w * 0.8909, 0); - c.lineTo(w, h * 0.1054); - c.lineTo(w * 0.623, h * 0.5); - c.lineTo(w, h * 0.8926); - c.lineTo(w * 0.8909, h); - c.lineTo(w * 0.5, h * 0.6242); - c.lineTo(w * 0.1051, h); - c.lineTo(0, h * 0.8926); - c.lineTo(w * 0.373, h * 0.5); - c.lineTo(0, h * 0.1054); - c.close(); - c.fillAndStroke(); - }, - 'compensation' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.close(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(w, 0); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - }, - 'signal' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - }, - 'multiple' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(0, h * 0.39); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.39); - c.lineTo(w * 0.815, h); - c.lineTo(w * 0.185, h); - c.close(); - c.fillAndStroke(); - }, - 'parallelMultiple' : function(c, x, y, w, h) - { - c.begin(); - c.moveTo(w * 0.38, 0); - c.lineTo(w * 0.62, 0); - c.lineTo(w * 0.62, h * 0.38); - c.lineTo(w, h * 0.38); - c.lineTo(w, h * 0.62); - c.lineTo(w * 0.62, h * 0.62); - c.lineTo(w * 0.62, h); - c.lineTo(w * 0.38, h); - c.lineTo(w * 0.38, h * 0.62); - c.lineTo(0, h * 0.62); - c.lineTo(0, h * 0.38); - c.lineTo(w * 0.38, h * 0.38); - c.close(); - c.fillAndStroke(); - }, - 'terminate' : function(c, x, y, w, h) - { - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - }, - 'exclusiveGw' : function(c, x, y, w, h) - { - var strokeColor = c.state.strokeColor; - var fillColor = c.state.fillColor; - c.setStrokeColor(fillColor); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.105, 0); - c.lineTo(w * 0.5, h * 0.38); - c.lineTo(w * 0.895, h * 0); - c.lineTo(w, h * 0.11); - c.lineTo(w * 0.6172, h * 0.5); - c.lineTo(w, h * 0.89); - c.lineTo(w * 0.895, h); - c.lineTo(w * 0.5, h * 0.62); - c.lineTo(w * 0.105, h); - c.lineTo(0, h * 0.89); - c.lineTo(w * 0.3808, h * 0.5); - c.lineTo(0, h * 0.11); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor(strokeColor); - c.setFillColor(fillColor); - - }, - 'parallelGw' : function(c, x, y, w, h) - { - var strokeColor = c.state.strokeColor; - var fillColor = c.state.fillColor; - c.setStrokeColor(fillColor); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.38, 0); - c.lineTo(w * 0.62, 0); - c.lineTo(w * 0.62, h * 0.38); - c.lineTo(w, h * 0.38); - c.lineTo(w, h * 0.62); - c.lineTo(w * 0.62, h * 0.62); - c.lineTo(w * 0.62, h); - c.lineTo(w * 0.38, h); - c.lineTo(w * 0.38, h * 0.62); - c.lineTo(0, h * 0.62); - c.lineTo(0, h * 0.38); - c.lineTo(w * 0.38, h * 0.38); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor(strokeColor); - c.setFillColor(fillColor); - }, - 'complexGw' : function(c, x, y, w, h) - { - var strokeColor = c.state.strokeColor; - var fillColor = c.state.fillColor; - c.setStrokeColor(fillColor); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(0, h * 0.44); - c.lineTo(w * 0.36, h * 0.44); - c.lineTo(w * 0.1, h * 0.18); - c.lineTo(w * 0.18, h * 0.1); - c.lineTo(w * 0.44, h * 0.36); - c.lineTo(w * 0.44, 0); - c.lineTo(w * 0.56, 0); - c.lineTo(w * 0.56, h * 0.36); - c.lineTo(w * 0.82, h * 0.1); - c.lineTo(w * 0.90, h * 0.18); - c.lineTo(w * 0.64, h * 0.44); - c.lineTo(w, h * 0.44); - c.lineTo(w, h * 0.56); - c.lineTo(w * 0.64, h * 0.56); - c.lineTo(w * 0.9, h * 0.82); - c.lineTo(w * 0.82, h * 0.9); - c.lineTo(w * 0.56, h * 0.64); - c.lineTo(w * 0.56, h); - c.lineTo(w * 0.44, h); - c.lineTo(w * 0.44, h * 0.64); - c.lineTo(w * 0.18, h * 0.9); - c.lineTo(w * 0.1, h * 0.82); - c.lineTo(w * 0.36, h * 0.56); - c.lineTo(0, h * 0.56); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor(strokeColor); - c.setFillColor(fillColor); - }, - 'star': function(c, x, y, w, h) - { - c.translate(w / 5, h / 6); - h *= 2 / 3; - w *= 3 / 5; - - c.begin(); - c.moveTo(0, h / 4); - c.lineTo(w / 3, h / 4); - c.lineTo(w / 2, 0); - c.lineTo(2 * w / 3, h / 4); - c.lineTo(w, h / 4); - c.lineTo(5 * w / 6, h / 2); - c.lineTo(w, 3 * h / 4); - c.lineTo(2 * w / 3, 3 * h / 4); - c.lineTo(w / 2, h); - c.lineTo(w / 3, 3 * h / 4); - c.lineTo(0, 3 * h / 4); - c.lineTo(w / 6, h / 2); - c.close(); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape('mxgraph.bpmn.shape', mxBpmnShape); diff --git a/dist/libs/drawio/shapes/er/mxER.js b/dist/libs/drawio/shapes/er/mxER.js deleted file mode 100644 index 935c5334..00000000 --- a/dist/libs/drawio/shapes/er/mxER.js +++ /dev/null @@ -1,1468 +0,0 @@ -/** - * $Id: mxER.js,v 1.6 2013/05/17 13:46:41 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//TODO markers.html probably isn't needed, because it was used for testing during development before the new canvas was introduced - -//********************************************************************************************************************************************************** -//Entity -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeEREntity(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeEREntity, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeEREntity.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, 'buttonText', 'Entity'); - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - var rSize = 10; - w = Math.max(w, 2 * rSize); - h = Math.max(h, 2 * rSize); - this.background(c, x, y, w, h, rSize, fontColor); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeEREntity.prototype.background = function(c, x, y, w, h, rSize, fontColor) -{ - var buttonStyle = mxUtils.getValue(this.style, 'buttonStyle', 'round').toString(); - - if (buttonStyle === 'round') - { - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); - } - else if (buttonStyle === 'rect') - { - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - } - else if (buttonStyle === 'dblFrame') - { - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - c.setFillColor(fillColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - rSize = Math.min(w, h); - c.begin(); - c.moveTo(rSize * 0.1, rSize * 0.1); - c.lineTo(w - rSize * 0.1, rSize * 0.1); - c.lineTo(w - rSize * 0.1, h - rSize * 0.1); - c.lineTo(rSize * 0.1, h - rSize * 0.1); - c.close(); - c.stroke(); - } - -}; - -mxShapeEREntity.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.er.entity', mxShapeEREntity); - -mxShapeEREntity.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Entity Extended -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeEREntityExt(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeEREntityExt, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeEREntityExt.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, 'buttonText', 'Entity'); - var attributes = mxUtils.getValue(this.style, 'subText', '+ attribute 1,+ attribute 2,+ attribute 3').toString().split(','); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - var mainColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#008cff'); - var attrColor = mxUtils.getValue(this.style, 'fillColor2', '#ffffff'); - var maxTextWidth = 0; - c.translate(x, y); - var rSize = 10; - var barY = fontSize * 1.25; - - for (var i = 0; i < attributes.length; i++) - { - var currWidth = mxUtils.getSizeForString(attributes[i], fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxTextWidth) - { - maxTextWidth = currWidth; - } - } - - w = Math.max(w, 2 * rSize, maxTextWidth + rSize); - h = Math.max(h, 2 * rSize, (attributes.length + 1) * barY); - this.background(c, x, y, w, h, rSize); - c.setShadow(false); - this.shapes(c, x, y, w, h, fontSize, mainColor, attrColor, rSize, barY); - this.mainText(c, x, y, w, h, mainText, fontSize, attrColor); - this.attrText(c, x, y, w, h, attributes, fontSize, strokeColor, barY, rSize); -}; - -mxShapeEREntityExt.prototype.background = function(c, x, y, w, h, rSize) -{ - var buttonStyle = mxUtils.getValue(this.style, 'buttonStyle', 'round').toString(); - c.begin(); - - if (buttonStyle === 'round') - { - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - } - else if (buttonStyle === 'rect') - { - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - } - - c.close(); - c.fillAndStroke(); -}; - -mxShapeEREntityExt.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, fontSize * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxShapeEREntityExt.prototype.shapes = function(c, x, y, w, h, fontSize, mainColor, attrColor, rSize, barY) -{ - var buttonStyle = mxUtils.getValue(this.style, 'buttonStyle', 'round').toString(); - - if (buttonStyle === 'round') - { - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, barY); - c.lineTo(0, barY); - c.close(); - c.fill(); - - c.setFillColor(attrColor); - c.begin(); - c.moveTo(w, barY); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.lineTo(0, barY); - c.close(); - c.fill(); - } - else if (buttonStyle === 'rect') - { - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, barY); - c.lineTo(0, barY); - c.close(); - c.fill(); - - c.setFillColor(attrColor); - c.begin(); - c.moveTo(0, barY); - c.lineTo(w, barY); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fill(); - } - - c.begin(); - - if (buttonStyle === 'round') - { - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - } - else if (buttonStyle === 'rect') - { - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - } - - c.close(); - c.stroke(); -}; - -mxShapeEREntityExt.prototype.attrText = function(c, x, y, w, h, attributes, fontSize, fontColor, barY, rSize) -{ - for (var i = 0; i < attributes.length; i++) - { - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(rSize * 0.5, (i + 1.5) * barY, 0, 0, attributes[i], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape('mxgraph.er.entityExt', mxShapeEREntityExt); - -mxShapeEREntityExt.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Attribute -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERAttribute(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERAttribute, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERAttribute.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, 'buttonText', 'Entity'); - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - var rSize = 10; - w = Math.max(w, 2 * rSize); - h = Math.max(h, 2 * rSize); - this.background(c, x, y, w, h, rSize, fontColor); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeERAttribute.prototype.background = function(c, x, y, w, h, rSize, fontColor) -{ - var buttonStyle = mxUtils.getValue(this.style, 'buttonStyle', 'simple').toString(); - - if (buttonStyle === 'simple') - { - c.begin(); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - } - else if (buttonStyle === 'dblFrame') - { - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#666666'); - c.setFillColor(fillColor); - c.begin(); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - rSize = Math.min(w, h); - c.begin(); - c.ellipse(rSize * 0.1, rSize * 0.1, w - rSize * 0.2, h - rSize * 0.2); - c.stroke(); - } -}; - -mxShapeERAttribute.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.er.attribute', mxShapeERAttribute); - -mxShapeERAttribute.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.144, 0.144), false), - new mxConnectionConstraint(new mxPoint(0.856, 0.144), false), - new mxConnectionConstraint(new mxPoint(0.856, 0.856), false), - new mxConnectionConstraint(new mxPoint(0.144, 0.856), false), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Has -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERHas(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERHas, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERHas.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, 'buttonText', 'Entity'); - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - var rSize = 10; - w = Math.max(w, 2 * rSize); - h = Math.max(h, 2 * rSize); - this.background(c, x, y, w, h, rSize, fontColor); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeERHas.prototype.background = function(c, x, y, w, h, rSize, fontColor) -{ - var buttonStyle = mxUtils.getValue(this.style, 'buttonStyle', 'rhombus').toString(); - - if (buttonStyle === 'rhombus') - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - } - else if (buttonStyle === 'dblFrame') - { - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#666666'); - c.setFillColor(fillColor); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - c.begin(); - c.moveTo(w * 0.1, h * 0.5); - c.lineTo(w * 0.5, h * 0.1); - c.lineTo(w * 0.9, h * 0.5); - c.lineTo(w * 0.5, h * 0.9); - c.close(); - c.stroke(); - } -}; - -mxShapeERHas.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.er.has', mxShapeERHas); - -mxShapeERHas.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.25, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.25, 0.75), false), - new mxConnectionConstraint(new mxPoint(0.75, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.75, 0.75), false) - ]; - -//********************************************************************************************************************************************************** -//Cloud -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERCloud(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERCloud, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERCloud.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, 'buttonText', 'Entity'); - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - var rSize = 10; - w = Math.max(w, 2 * rSize); - h = Math.max(h, 2 * rSize); - this.background(c, x, y, w, h, rSize, fontColor); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeERCloud.prototype.background = function(c, x, y, w, h, rSize, fontColor) -{ - c.begin(); - c.moveTo(0.25 * w, 0.25 * h); - c.curveTo(0.05 * w, 0.25 * h, 0, 0.5 * h, 0.16 * w, 0.55 * h); - c.curveTo(0, 0.66 * h, 0.18 * w, 0.9 * h, 0.31 * w, 0.8 * h); - c.curveTo(0.4 * w, h, 0.7 * w, h, 0.8 * w, 0.8 * h); - c.curveTo(w, 0.8 * h, w, 0.6 * h, 0.875 * w, 0.5 * h); - c.curveTo(w, 0.3 * h, 0.8 * w, 0.1 * h, 0.625 * w, 0.2 * h); - c.curveTo(0.5 * w, 0.05 * h, 0.3 * w, 0.05 * h, 0.25 * w, 0.25 * h); - c.fillAndStroke(); -}; - -mxShapeERCloud.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.er.cloud', mxShapeERCloud); - -mxShapeERCloud.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.08, 0.5), false), - new mxConnectionConstraint(new mxPoint(0.9, 0.5), false), - new mxConnectionConstraint(new mxPoint(0.5, 0.1), false), - new mxConnectionConstraint(new mxPoint(0.5, 0.92), false), - new mxConnectionConstraint(new mxPoint(0.24, 0.24), false), - new mxConnectionConstraint(new mxPoint(0.22, 0.8), false), - new mxConnectionConstraint(new mxPoint(0.81, 0.2), false), - new mxConnectionConstraint(new mxPoint(0.78, 0.78), false) - ]; - -//********************************************************************************************************************************************************** -//Hierarchy (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERHierarchy(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERHierarchy, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERHierarchy.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, 'buttonText', 'main').toString().split(','); - var subText = mxUtils.getValue(this.style, 'subText', 'sub').toString().split(','); - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - var rSize = 10; - w = Math.max(w, 2 * rSize); - h = Math.max(h, 2 * rSize); - this.background(c, x, y, w, h, rSize, fontColor); - c.setShadow(false); - this.shapeText(c, x, y, w, h, mainText, subText, fontSize, fontColor); -}; - -mxShapeERHierarchy.prototype.background = function(c, x, y, w, h, rSize, fontColor) -{ - var buttonStyle = mxUtils.getValue(this.style, 'buttonStyle', 'round').toString(); - - if (buttonStyle === 'round') - { - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); - } - else if (buttonStyle === 'rect') - { - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - } - else if (buttonStyle === 'dblFrame') - { - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#666666'); - c.setFillColor(fillColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - rSize = Math.min(w, h); - c.begin(); - c.moveTo(rSize * 0.1, rSize * 0.1); - c.lineTo(w - rSize * 0.1, rSize * 0.1); - c.lineTo(w - rSize * 0.1, h - rSize * 0.1); - c.lineTo(rSize * 0.1, h - rSize * 0.1); - c.close(); - c.stroke(); - } - - var trX = 0; - var trY = 0; - - if (buttonStyle === 'round') - { - trX = w * 0.5; - trY = rSize; - c.translate(trX, trY); - w = w * 0.5 - rSize; - h = h - 2 * rSize; - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); - } - else if (buttonStyle === 'rect') - { - trX = w * 0.5; - trY = rSize; - c.translate(trX, trY); - w = w * 0.5 - rSize; - h = h - 2 * rSize; - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - } - else if (buttonStyle === 'dblFrame') - { - trX = w * 0.5; - trY = rSize * 0.15; - c.translate(trX, trY); - w = w * 0.5 - rSize * 0.15; - h = h - rSize * 0.3; - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#666666'); - c.setFillColor(fillColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - rSize = Math.min(w, h); - c.begin(); - c.moveTo(rSize * 0.1, rSize * 0.1); - c.lineTo(w - rSize * 0.1, rSize * 0.1); - c.lineTo(w - rSize * 0.1, h - rSize * 0.1); - c.lineTo(rSize * 0.1, h - rSize * 0.1); - c.close(); - c.stroke(); - } - - c.translate(- trX, - trY); - -}; - -mxShapeERHierarchy.prototype.shapeText = function(c, x, y, w, h, text, subText, fontSize, fontColor, rSize) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.25, (h - fontSize) * 0.5, 0, 0, text[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.25, (h + fontSize) * 0.5, 0, 0, text[1], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.7, (h - fontSize) * 0.5, 0, 0, subText[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.7, (h + fontSize) * 0.5, 0, 0, subText[1], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.er.hierarchy', mxShapeERHierarchy); - -mxShapeERHierarchy.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Note -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERNote(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERNote, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERNote.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, 'buttonText', 'Entity'); - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - var backColor = mxUtils.getValue(this.style, 'fillColor2', '#ffffff'); - c.translate(x, y); - var flipSize = 20; - w = Math.max(w, flipSize * 2); - h = Math.max(h, flipSize * 2); - this.background(c, x, y, w, h, flipSize); - c.setShadow(false); - this.flipShape(c, x, y, w, h, flipSize, backColor); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeERNote.prototype.background = function(c, x, y, w, h, flipSize) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - flipSize, 0); - c.lineTo(w, flipSize); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeERNote.prototype.flipShape = function(c, x, y, w, h, flipSize, backColor) -{ - c.setLineJoin('round'); - c.setFillColor(backColor); - c.begin(); - c.moveTo(w - flipSize, 0); - c.lineTo(w, flipSize); - c.lineTo(w - flipSize, flipSize); - c.close(); - c.fillAndStroke(); -}; - -mxShapeERNote.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.er.note', mxShapeERNote); - -mxShapeERNote.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Chen's Notation Legend (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERChen(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERChen, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERChen.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - var flipSize = 20; - w = Math.max(w, flipSize * 2); - h = Math.max(h, flipSize * 2); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h, fontSize, fontColor); -}; - -mxShapeERChen.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeERChen.prototype.foreground = function(c, x, y, w, h, fontSize, fontColor) -{ - c.begin(); - c.moveTo(0, h * 0.25); - c.lineTo(w, h * 0.25); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.moveTo(0, h * 0.75); - c.lineTo(w, h * 0.75); - - c.moveTo(w * 0.25, h * 0.5); - c.lineTo(w * 0.25, h); - - c.moveTo(w * 0.5, h * 0.25); - c.lineTo(w * 0.5, h); - - c.moveTo(w * 0.75, h * 0.5); - c.lineTo(w * 0.75, h); - c.stroke(); - - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.125, 0, 0, 'ERD Peter Chen\'s Notation', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(fontSize * 0.85); - c.text(w * 0.25, h * 0.375, 0, 0, 'Cardinality', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.75, h * 0.375, 0, 0, 'Optionality', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(fontSize * 0.7); - c.text(w * 0.125, h * 0.625, 0, 0, '1', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.375, h * 0.625, 0, 0, 'One', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.625, h * 0.625, 0, 0, '0', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.875, h * 0.625, 0, 0, 'Optional', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(w * 0.125, h * 0.875, 0, 0, 'N', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.375, h * 0.875, 0, 0, 'Many', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.625, h * 0.875, 0, 0, '1', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.875, h * 0.875, 0, 0, 'Mandatory', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.er.chens', mxShapeERChen); - -mxShapeERChen.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Bachman's Notation Legend (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERBachman(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERBachman, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERBachman.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h, fontSize, fontColor); -}; - -mxShapeERBachman.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeERBachman.prototype.foreground = function(c, x, y, w, h, fontSize, fontColor) -{ - c.begin(); - c.moveTo(0, h * 0.125); - c.lineTo(w, h * 0.125); - c.moveTo(0, h * 0.25); - c.lineTo(w, h * 0.25); - c.moveTo(0, h * 0.375); - c.lineTo(w, h * 0.375); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.moveTo(0, h * 0.625); - c.lineTo(w, h * 0.625); - c.moveTo(0, h * 0.75); - c.lineTo(w, h * 0.75); - c.moveTo(0, h * 0.875); - c.lineTo(w, h * 0.875); - - c.moveTo(w * 0.5, h * 0.125); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.0625, 0, 0, 'ERD Bachman\'s Notation', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(fontSize * 0.85); - c.text(w * 0.52, h * 0.1875, 0, 0, 'Relationship', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.3125, 0, 0, 'Cardinality (One)', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.4375, 0, 0, 'Cardinality (Many)', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.5625, 0, 0, 'Mandatory, One', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.6875, 0, 0, 'Mandatory, Many', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.8125, 0, 0, 'Optional, One', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.9375, 0, 0, 'Optional, Many', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var textWidth = mxUtils.getSizeForString('has/forms', fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - c.begin(); - c.moveTo(w * 0.04, h * 0.1875); - c.lineTo(w * 0.25 - textWidth * 0.5, h * 0.1875); - c.moveTo(w * 0.25 + textWidth * 0.5, h * 0.1875); - c.lineTo(w * 0.46, h * 0.1875); - - c.text(w * 0.25, h * 0.1875, 0, 0, 'has/forms', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, true, 0, 0); - - c.moveTo(w * 0.04, h * 0.3125); - c.lineTo(w * 0.46, h * 0.3125); - - c.moveTo(w * 0.04, h * 0.4375); - c.lineTo(w * 0.46, h * 0.4375); - c.moveTo(w * 0.46, h * 0.4050); - c.lineTo(w * 0.4, h * 0.4375); - c.lineTo(w * 0.46, h * 0.47); - - c.moveTo(w * 0.04, h * 0.5625); - c.lineTo(w * 0.46, h * 0.5625); - c.moveTo(w * 0.38, h * 0.53); - c.lineTo(w * 0.38, h * 0.595); - - c.moveTo(w * 0.04, h * 0.6875); - c.lineTo(w * 0.46, h * 0.6875); - c.moveTo(w * 0.46, h * 0.655); - c.lineTo(w * 0.4, h * 0.6875); - c.lineTo(w * 0.46, h * 0.72); - c.moveTo(w * 0.38, h * 0.655); - c.lineTo(w * 0.38, h * 0.72); - - c.moveTo(w * 0.04, h * 0.8125); - c.lineTo(w * 0.46, h * 0.8125); - - c.moveTo(w * 0.04, h * 0.9375); - c.lineTo(w * 0.46, h * 0.9375); - c.moveTo(w * 0.46, h * 0.9050); - c.lineTo(w * 0.4, h * 0.9375); - c.lineTo(w * 0.46, h * 0.97); - - c.stroke(); - - var ellSize = h / 15; - c.begin(); - c.ellipse(w * 0.46 - ellSize, h * 0.8125 - ellSize * 0.5, ellSize, ellSize); - c.fillAndStroke(); - - c.begin(); - c.ellipse(w * 0.4 - ellSize, h * 0.9375 - ellSize * 0.5, ellSize, ellSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.er.bachmans', mxShapeERBachman); - -mxShapeERBachman.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Information Engineering Notation Legend (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeERInfEng(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeERInfEng, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeERInfEng.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontColor = mxUtils.getValue(this.style, 'textColor', '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17'); - c.translate(x, y); - w = Math.max(w, h / 1.5); - h = Math.max(h, fontSize * 5); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h, fontSize, fontColor); -}; - -mxShapeERInfEng.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeERInfEng.prototype.foreground = function(c, x, y, w, h, fontSize, fontColor) -{ - c.begin(); - c.moveTo(0, h * 0.2); - c.lineTo(w, h * 0.2); - c.moveTo(0, h * 0.4); - c.lineTo(w, h * 0.4); - c.moveTo(0, h * 0.6); - c.lineTo(w, h * 0.6); - c.moveTo(0, h * 0.8); - c.lineTo(w, h * 0.8); - - c.moveTo(w * 0.5, h * 0.2); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.1, 0, 0, 'ERD Information Engineering Notation', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(fontSize * 0.85); - c.text(w * 0.52, h * 0.3, 0, 0, 'Zero or one', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.5, 0, 0, 'One only', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.7, 0, 0, 'Zero or more', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.52, h * 0.9, 0, 0, 'One or more', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var ellSize = h / 12; - - c.begin(); - c.moveTo(w * 0.04, h * 0.3); - c.lineTo(w * 0.46, h * 0.3); - c.moveTo(w * 0.46 - ellSize, h * 0.25); - c.lineTo(w * 0.46 - ellSize, h * 0.35); - - c.moveTo(w * 0.04, h * 0.5); - c.lineTo(w * 0.46, h * 0.5); - c.moveTo(w * 0.46 - ellSize * 2, h * 0.45); - c.lineTo(w * 0.46 - ellSize * 2, h * 0.55); - c.moveTo(w * 0.46 - ellSize * 2.5, h * 0.45); - c.lineTo(w * 0.46 - ellSize * 2.5, h * 0.55); - - c.moveTo(w * 0.04, h * 0.7); - c.lineTo(w * 0.46, h * 0.7); - c.moveTo(w * 0.46, h * 0.65); - c.lineTo(w * 0.46 - ellSize * 2, h * 0.7); - c.lineTo(w * 0.46, h * 0.75); - c.stroke(); - - c.moveTo(w * 0.04, h * 0.9); - c.lineTo(w * 0.46, h * 0.9); - c.moveTo(w * 0.46, h * 0.85); - c.lineTo(w * 0.46 - ellSize * 2, h * 0.9); - c.lineTo(w * 0.46, h * 0.95); - c.moveTo(w * 0.46 - ellSize * 2.5, h * 0.85); - c.lineTo(w * 0.46 - ellSize * 2.5, h * 0.95); - c.stroke(); - - c.begin(); - c.ellipse(w * 0.46 - ellSize * 3, h * 0.3 - ellSize * 0.5, ellSize, ellSize); - c.fillAndStroke(); - - c.begin(); - c.ellipse(w * 0.46 - ellSize * 3, h * 0.7 - ellSize * 0.5, ellSize, ellSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.er.ie', mxShapeERInfEng); - -mxShapeERInfEng.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -// ER markers -mxMarker.addMarker('ERone', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - - return function() - { - c.begin(); - c.moveTo(pe.x - nx / 2 - ny / 2, pe.y - ny / 2 + nx / 2); - c.lineTo(pe.x - nx / 2 + ny / 2, pe.y - ny / 2 - nx / 2); - c.stroke(); - }; -}); - -mxMarker.addMarker('ERmandOne', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - - return function() - { - c.begin(); - c.moveTo(pe.x - nx / 2 - ny / 2, pe.y - ny / 2 + nx / 2); - c.lineTo(pe.x - nx / 2 + ny / 2, pe.y - ny / 2 - nx / 2); - c.moveTo(pe.x - nx - ny / 2, pe.y - ny + nx / 2); - c.lineTo(pe.x - nx + ny / 2, pe.y - ny - nx / 2); - c.stroke(); - }; -}); - -mxMarker.addMarker('ERmany', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - - return function() - { - c.begin(); - c.moveTo(pe.x + ny / 2, pe.y - nx / 2); - c.lineTo(pe.x - nx, pe.y - ny); - c.lineTo(pe.x - ny / 2, pe.y + nx / 2); - c.stroke(); - }; -}); - -mxMarker.addMarker('ERoneToMany', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - - return function() - { - c.begin(); - c.moveTo(pe.x - nx - ny / 2, pe.y - ny + nx / 2); - c.lineTo(pe.x - nx + ny / 2, pe.y - ny - nx / 2); - c.moveTo(pe.x + ny / 2, pe.y - nx / 2); - c.lineTo(pe.x - nx, pe.y - ny); - c.lineTo(pe.x - ny / 2, pe.y + nx / 2); - c.stroke(); - }; -}); - -mxMarker.addMarker('ERzeroToMany', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - var a = size / 2; - - return function() - { - c.begin(); - c.ellipse(pe.x - 1.5 * nx - a, pe.y - 1.5 * ny - a, 2 * a, 2 * a); - - if (filled) - { - // TODO not sure if this is ok, because by default, markers use strokeColor for filling - var oldColor = mxUtils.getValue(shape.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - - c.setFillColor('#ffffff'); - c.fillAndStroke(); - c.setFillColor(oldColor); - } - else - { - c.stroke(); - } - - c.begin(); - c.moveTo(pe.x + ny / 2, pe.y - nx / 2); - c.lineTo(pe.x - nx, pe.y - ny); - c.lineTo(pe.x - ny / 2, pe.y + nx / 2); - c.stroke(); - }; -}); - -mxMarker.addMarker('ERzeroToOne', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - var a = size / 2; - - return function() - { - c.begin(); - c.ellipse(pe.x - 1.5 * nx - a, pe.y - 1.5 * ny - a, 2 * a, 2 * a); - - if (filled) - { - // TODO not sure if this is ok, because by default, markers use strokeColor for filling - var oldColor = mxUtils.getValue(shape.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - - c.setFillColor('#ffffff'); - c.fillAndStroke(); - c.setFillColor(oldColor); - } - else - { - c.stroke(); - } - - c.begin(); - c.moveTo(pe.x - nx / 2 - ny / 2, pe.y - ny / 2 + nx / 2); - c.lineTo(pe.x - nx / 2 + ny / 2, pe.y - ny / 2 - nx / 2); - c.stroke(); - }; -}); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeERRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeERRRect, mxShape); - -mxShapeERRRect.prototype.cst = { - RRECT : 'mxgraph.er.rrect', - R_SIZE : 'rSize' -}; - -mxShapeERRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Rounding Size', type: 'float'}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeERRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeERRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeERRRect.prototype.cst.RRECT, mxShapeERRRect); - -mxShapeERRRect.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeERAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeERAnchor, mxShape); - -mxShapeERAnchor.prototype.cst = { - ANCHOR : 'mxgraph.er.anchor' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeERAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeERAnchor.prototype.cst.ANCHOR, mxShapeERAnchor); - diff --git a/dist/libs/drawio/shapes/ios7/mxIOS7Ui.js b/dist/libs/drawio/shapes/ios7/mxIOS7Ui.js deleted file mode 100644 index 434a8df9..00000000 --- a/dist/libs/drawio/shapes/ios7/mxIOS7Ui.js +++ /dev/null @@ -1,1719 +0,0 @@ -/** - * $Id: mxIOS7Ui.js,v 1.6 2013/12/04 16:48:54 mate Exp $ - * Copyright (c) 2006-2013, JGraph Ltd - */ - -var mxIOS7C = -{ - MAIN_TEXT : 'mainText', - SUB_TEXT : 'subText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - BAR_POS : 'barPos', - BUTTON_TEXT : 'buttonText', - BUTTON_STATE : 'buttonState', - SELECTED : '+', //has to be one character long - STATE_ON : 'on', - STATE_OFF : 'off', - GRID_SIZE : 'gridSize', - - SHAPE_IOS7_APP_BAR : 'mxgraph.ios7ui.appBar', - SHAPE_IOS7_ON_OFF_BUTTON : 'mxgraph.ios7ui.onOffButton', - SHAPE_IOS7_SLIDER : 'mxgraph.ios7ui.slider', - SHAPE_IOS7_DOWNLOAD_BAR : 'mxgraph.ios7ui.downloadBar', - SHAPE_IOS7_ICON : 'mxgraph.ios7ui.icon', - SHAPE_IOS7_HOR_BUTTON_BAR : 'mxgraph.ios7ui.horButtonBar', - SHAPE_IOS7_PAGE_CONTROL : 'mxgraph.ios7ui.pageControl', - SHAPE_IOS7_EXPAND : 'mxgraph.ios7ui.expand', - SHAPE_IOS7_ICON_GRID : 'mxgraph.ios7ui.iconGrid', - SHAPE_IOS7_PHONE : 'mxgraph.ios7ui.phone', - SHAPE_IOS7_SEARCH_BOX : 'mxgraph.ios7ui.searchBox', - SHAPE_IOS7_URL : 'mxgraph.ios7ui.url', - SHAPE_IOS7_ACTION_DIALOG : 'mxgraph.ios7ui.actionDialog', - - STYLE_FILLCOLOR2 : 'fillColor2', - STYLE_FILLCOLOR3 : 'fillColor3', - STYLE_TEXTCOLOR : 'textColor', - STYLE_TEXTCOLOR2 : 'textColor2', - STYLE_STROKECOLOR2 : 'strokeColor2', - STYLE_STROKECOLOR3 : 'strokeColor3', - STYLE_TEXTSIZE : 'textSize' -}; - -//********************************************************************************************************************************************************** -//iOS7 Application Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeIOS7AppBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeIOS7AppBar, mxShape); - -mxShapeIOS7AppBar.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Fill Color 2', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeIOS7AppBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeIOS7AppBar.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeIOS7AppBar.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor(mxUtils.getValue(this.style, mxIOS7C.STYLE_FILLCOLOR2, '#222222')); - - c.ellipse(5, h * 0.5 - 1.5, 3, 3); - c.fill(); - c.ellipse(9, h * 0.5 - 1.5, 3, 3); - c.fill(); - c.ellipse(13, h * 0.5 - 1.5, 3, 3); - c.fill(); - c.ellipse(17, h * 0.5 - 1.5, 3, 3); - c.fill(); - c.ellipse(21, h * 0.5 - 1.5, 3, 3); - c.fill(); - - c.ellipse(54, h * 0.5 + 2, 2, 2); - c.fillAndStroke(); - - c.setStrokeWidth(2); - c.begin(); - c.moveTo(52, h * 0.5 + 1); - c.arcTo(3.5, 3.5, 0, 0, 1, 58, h * 0.5 + 1); - c.stroke(); - - c.begin(); - c.moveTo(50, h * 0.5 - 1); - c.arcTo(6, 6, 0, 0, 1, 60, h * 0.5 - 1); - c.stroke(); - - c.begin(); - c.moveTo(w - 19, h * 0.5 - 2); - c.lineTo(w - 6, h * 0.5 - 2); - c.lineTo(w - 6, h * 0.5 + 2); - c.lineTo(w - 19, h * 0.5 + 2); - c.close(); - c.fill(); - - c.setStrokeWidth(1); - c.begin(); - c.moveTo(w - 44, h * 0.5 - 2.5); - c.lineTo(w - 36, h * 0.5 + 2.5); - c.lineTo(w - 40, h * 0.5 + 5); - c.lineTo(w - 40, h * 0.5 - 5); - c.lineTo(w - 36, h * 0.5 - 2.5); - c.lineTo(w - 44, h * 0.5 + 2.5); - c.stroke(); - - c.begin(); - c.moveTo(w - 20, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 3); - c.lineTo(w - 20, h * 0.5 + 3); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_APP_BAR, mxShapeIOS7AppBar); - -//********************************************************************************************************************************************************** -//On-Off Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7OnOffButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7OnOffButton, mxShape); - -mxShapeIOS7OnOffButton.prototype.customProperties = [ - {name: 'buttonState', dispName: 'Button State', type: 'enum', - enumList: [{val: 'on', dispName: 'On'}, - {val: 'off', dispName: 'Off'}] - }, - {name: 'strokeColor2', dispName: 'Stroke Color 2', type: 'color'}, - {name: 'fillColor2', dispName: 'Fill Color 2', type: 'color'}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7OnOffButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - w = Math.max(w, 2 * h); - var state = mxUtils.getValue(this.style, mxIOS7C.BUTTON_STATE, mxIOS7C.STATE_ON); - this.background(c, x, y, w, h, state); - c.setShadow(false); - this.foreground(c, x, y, w, h, state); -}; - -mxShapeIOS7OnOffButton.prototype.background = function(c, x, y, w, h, state) -{ - if (state === mxIOS7C.STATE_ON) - { - c.roundrect(0, 0, w, h, h * 0.5, h * 0.5); - c.fillAndStroke(); - } - else if (state === mxIOS7C.STATE_OFF) - { - c.setStrokeColor(mxUtils.getValue(this.style, mxIOS7C.STYLE_STROKECOLOR2, '#aaaaaa')); - c.setFillColor(mxUtils.getValue(this.style, mxIOS7C.STYLE_FILLCOLOR2, '#ffffff')); - c.roundrect(0, 0, w, h, h * 0.5, h * 0.5); - c.fillAndStroke(); - } - -}; - -mxShapeIOS7OnOffButton.prototype.foreground = function(c, x, y, w, h, state) -{ - c.setFillColor('#ffffff'); - - if (state === mxIOS7C.STATE_ON) - { - c.ellipse(w - h + 1, 1, h - 2, h - 2); - c.fill(); - } - else - { - c.ellipse(0, 0, h, h); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_ON_OFF_BUTTON, mxShapeIOS7OnOffButton); - -//********************************************************************************************************************************************************** -//Slider -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7Slider(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.barPos = 80; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7Slider, mxShape); - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7Slider.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.setShadow(false); - - this.foreground(c, w, h); -}; - -mxShapeIOS7Slider.prototype.foreground = function(c, w, h) -{ - c.setStrokeWidth(2); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - var barPos = mxUtils.getValue(this.style, mxIOS7C.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var deadzone = 0; - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - - c.setStrokeColor(mxUtils.getValue(this.style, mxIOS7C.STYLE_STROKECOLOR2, '#a0a0a0')); - c.ellipse(truePos - 5, h * 0.5 - 5, 10, 10); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_SLIDER, mxShapeIOS7Slider); - -Graph.handleFactory[mxIOS7C.SHAPE_IOS7_SLIDER] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'barPos', this.barPos)))); - - return new mxPoint(bounds.x + barPos / 100 * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Download Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7DownloadBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.barPos = 80; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7DownloadBar, mxShape); - -mxShapeIOS7DownloadBar.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, max:1, defVal:30}, - {name: 'strokeColor2', dispName: 'Stroke Color 2', type: 'color'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7DownloadBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.foreground(c, w, h); -}; - -mxShapeIOS7DownloadBar.prototype.foreground = function(c, w, h) -{ - var fieldText = mxUtils.getValue(this.style, mxIOS7C.BUTTON_TEXT, ''); - c.setFontStyle(mxConstants.FONT_BOLD); - c.text(w * 0.5, h * 0.2, 0, 0, fieldText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var barPos = mxUtils.getValue(this.style, mxIOS7C.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var truePos = w * barPos / 100; - - c.setStrokeWidth(2); - c.setStrokeColor(mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '')); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - c.setStrokeColor(mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '')); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(truePos, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_DOWNLOAD_BAR, mxShapeIOS7DownloadBar); - -Graph.handleFactory[mxIOS7C.SHAPE_IOS7_DOWNLOAD_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'barPos', this.barPos)))); - - return new mxPoint(bounds.x + barPos / 100 * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7Icon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7Icon, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7Icon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.foreground(c, w, h); -}; - -mxShapeIOS7Icon.prototype.foreground = function(c, w, h) -{ - c.setGradient('#00D0F0', '#0080F0', w * 0.325, 0, w * 0.675, h * 0.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(0, 0, w, h, w * 0.1, h * 0.1); - c.fill(); - - var fieldText = mxUtils.getValue(this.style, mxIOS7C.BUTTON_TEXT, ''); - c.setFontColor('#ffffff'); - c.setFontStyle(mxConstants.FONT_BOLD); - c.setFontSize(8); - c.text(w * 0.5, h * 0.5, 0, 0, fieldText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_ICON, mxShapeIOS7Icon); - -//********************************************************************************************************************************************************** -//Horizontal Button Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7horButtonBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7horButtonBar, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7horButtonBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxIOS7C.BUTTON_TEXT, '+Button 1, Button 2, Button 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTCOLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTCOLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8.5').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var selectedFillColor = mxUtils.getValue(this.style, mxIOS7C.STYLE_FILLCOLOR2, '#008cff'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var selectedButton = -1; - var rSize = 2.5; //rounding size - var labelOffset = 2.5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxIOS7C.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - buttonWidths[i] = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 10); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - this.background(c, trueW, trueH, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, bgColor, selectedFillColor, selectedButton); - c.setShadow(false); - - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeIOS7horButtonBar.prototype.background = function(c, w, h, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, bgColor, selectedFillColor, selectedButton) -{ - c.begin(); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(frameColor); - c.begin(); - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth = currWidth * w / minW; - c.moveTo(currWidth, 0); - c.lineTo(currWidth, h); - } - } - - c.stroke(); - - //draw the selected button - var buttonLeft = 0; - c.setStrokeColor(mxConstants.NONE); - - for (var i = 0; i < selectedButton; i++) - { - buttonLeft += buttonWidths[i] + 2 * labelOffset; - } - - buttonLeft = buttonLeft * w / minW; - var buttonRight = (buttonWidths[selectedButton] + 2 * labelOffset) * w / minW; - buttonRight += buttonLeft; - c.setFillColor('#0080F0'); - - if (selectedButton === 0) - { - c.begin(); - // we draw a path for the first button - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(buttonRight, 0); - c.lineTo(buttonRight, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fill(); - } - else if (selectedButton === buttonNum - 1) - { - c.begin(); - // we draw a path for the last button - c.moveTo(buttonLeft, 0); - c.lineTo(buttonRight - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, buttonRight, rSize); - c.lineTo(buttonRight, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, buttonRight - rSize, h); - c.lineTo(buttonLeft, h); - c.close(); - c.fill(); - } - else if (selectedButton !== -1) - { - c.begin(); - // we draw a path rectangle for one of the buttons in the middle - c.moveTo(buttonLeft, 0); - c.lineTo(buttonRight, 0); - c.lineTo(buttonRight, h); - c.lineTo(buttonLeft, h); - c.close(); - c.fill(); - } - - //draw the frame again, to achieve a nicer effect - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.stroke(); -}; - -mxShapeIOS7horButtonBar.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - if(textString.charAt(0) === mxIOS7C.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, h * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_HOR_BUTTON_BAR, mxShapeIOS7horButtonBar); - -//********************************************************************************************************************************************************** -//Page Control -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7pageControl(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7pageControl, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7pageControl.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#000000'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - var rSize = Math.min(h * 0.5, w * 0.05); - c.setFillColor(strokeColor); - c.ellipse(0, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w * 0.25 - rSize * 0.5, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w * 0.5 - rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w * 0.75 - rSize * 1.5, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.setFillColor(fillColor); - c.ellipse(w - 2 * rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_PAGE_CONTROL, mxShapeIOS7pageControl); - -//********************************************************************************************************************************************************** -//Icon Grid -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7iconGrid(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7iconGrid, mxShape); - -mxShapeIOS7iconGrid.prototype.customProperties = [ - {name: 'gridSize', dispName: 'Grid Size', type: 'String'}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7iconGrid.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var gridSize = mxUtils.getValue(this.style, mxIOS7C.GRID_SIZE, '4,7').toString().split(','); - - var boxSizeX = w / (parseInt(gridSize[0],10) + (gridSize[0]-1) * 0.1); - var boxSizeY = h / (parseInt(gridSize[1],10) + (gridSize[1]-1) * 0.1); - - for (var i = 0; i < gridSize[0]; i++) - { - for (var j = 0; j < gridSize[1]; j++) - { - c.rect(boxSizeX * 1.1 * i, boxSizeY * 1.1 * j, boxSizeX, boxSizeY); - c.fill(); - } - } -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_ICON_GRID, mxShapeIOS7iconGrid); - -//********************************************************************************************************************************************************** -//iPhone Vertical -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7phone(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7phone, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7phone.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = 25; - - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); - - c.setShadow(false); - - this.foreground(c, x, y, w, h, rSize); -}; - -mxShapeIOS7phone.prototype.foreground = function(c, x, y, w, h, rSize) -{ - c.rect(w * 0.0625, h * 0.15, w * 0.875, h * 0.7); - c.stroke(); - - c.ellipse(w * 0.4875, h * 0.04125, w * 0.025, h * 0.0125); - c.stroke(); - - c.roundrect(w * 0.375, h * 0.075, w * 0.25, h * 0.01875, w * 0.02, h * 0.01); - c.stroke(); - c.ellipse(w * 0.4, h * 0.875, w * 0.2, h * 0.1); - c.stroke(); - c.roundrect(w * 0.4575, h * 0.905, w * 0.085, h * 0.04375, h * 0.00625, h * 0.00625); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_PHONE, mxShapeIOS7phone); - -//********************************************************************************************************************************************************** -//Search Box -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7searchBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7searchBox, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7searchBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeIOS7searchBox.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeIOS7searchBox.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxIOS7C.BUTTON_TEXT, 'Search'); - var fontColor = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTCOLOR, '#666666'); - var strokeColor2 = mxUtils.getValue(this.style, mxIOS7C.STYLE_STROKECOLOR2, '#008cff'); - var fontSize = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTSIZE, '17'); - var rSize = Math.min(w, h) * 0.1; - - c.setFillColor('#ffffff'); - c.roundrect(w * 0.05, h * 0.15, w * 0.5, h * 0.7, rSize, rSize); - c.fillAndStroke(); - - c.setFontColor(fontColor); - c.setFontSize(Math.min(h * 0.7, w * 0.1)); - - c.text(5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setStrokeColor(strokeColor2); - c.ellipse(w * 0.05 + 3, h * 0.5 - 3, 4, 4); - c.stroke(); - c.begin(); - c.moveTo(w * 0.05 + 8, h * 0.5 + 3.5); - c.lineTo(w * 0.05 + 6, h * 0.5 + 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_SEARCH_BOX, mxShapeIOS7searchBox); - -//********************************************************************************************************************************************************** -//URL -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7URL(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7URL, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7URL.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeIOS7URL.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeIOS7URL.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxIOS7C.BUTTON_TEXT, 'draw.io'); - var fontColor = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTCOLOR, '#666666'); - var strokeColor2 = mxUtils.getValue(this.style, mxIOS7C.STYLE_STROKECOLOR2, '#008cff'); - var fontSize = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTSIZE, '17'); - var rSize = Math.min(w, h) * 0.1; - - c.setFillColor('#d8d8d8'); - c.roundrect(w * 0.05, h * 0.15, w * 0.9, h * 0.7, rSize, rSize); - c.fill(); - - c.setFontColor(fontColor); - c.setFontSize(Math.min(h * 0.7, w * 0.1)); - - c.text(w * 0.5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setStrokeColor(strokeColor2); - c.begin(); - c.moveTo(w * 0.95 - 5, h * 0.5); - c.arcTo(3, 3, 0, 1, 1, w * 0.95 - 8, h * 0.5 - 3); - c.stroke(); - - c.setFillColor(strokeColor2); - c.begin(); - c.moveTo(w * 0.95 - 8, h * 0.5 - 4); - c.lineTo(w * 0.95 - 6, h * 0.5 - 3); - c.lineTo(w * 0.95 - 8, h * 0.5 - 2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_URL, mxShapeIOS7URL); - -//********************************************************************************************************************************************************** -//Action Dialog -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7Actiondialog(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7Actiondialog, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7Actiondialog.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxIOS7C.MAIN_TEXT, 'Main Text'); - var subText = mxUtils.getValue(this.style, mxIOS7C.SUB_TEXT, 'Sub Text'); - var fontColor = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTCOLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxIOS7C.STYLE_TEXTSIZE, '17'); - c.translate(x, y); - this.background(c, x, y, w, h); - - c.setShadow(false); - - c.setFillColor('#e0e0e0'); - c.roundrect(w * 0.05, h * 0.1, w * 0.9, h * 0.35, w * 0.025, h * 0.05); - c.fill(); - c.roundrect(w * 0.05, h * 0.55, w * 0.9, h * 0.35, w * 0.025, h * 0.05); - c.fill(); - - c.setFontStyle(mxConstants.FONT_BOLD); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); - this.subText(c, x, y, w, h, subText, fontSize / 1.4, fontColor); -}; - -mxShapeIOS7Actiondialog.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeIOS7Actiondialog.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.4, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxShapeIOS7Actiondialog.prototype.subText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.text(w * 0.5, h * 0.7, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_ACTION_DIALOG, mxShapeIOS7Actiondialog); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7Anchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7Anchor, mxShape); - -mxShapeIOS7Anchor.prototype.cst = { - ANCHOR : 'mxgraph.ios7ui.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7Anchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeIOS7Anchor.prototype.cst.ANCHOR, mxShapeIOS7Anchor); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7RRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7RRect, mxShape); - -mxShapeIOS7RRect.prototype.cst = { - RRECT : 'mxgraph.ios7ui.rrect', - R_SIZE : 'rSize' -}; - -mxShapeIOS7RRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:3} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7RRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeIOS7RRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeIOS7RRect.prototype.cst.RRECT, mxShapeIOS7RRect); - -//********************************************************************************************************************************************************** -//Left Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7LeftButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7LeftButton, mxShape); - -mxShapeIOS7LeftButton.prototype.cst = { - LEFT_BUTTON : 'mxgraph.ios7ui.leftButton', - R_SIZE : 'rSize' -}; - -mxShapeIOS7LeftButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:3} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7LeftButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeIOS7LeftButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeIOS7LeftButton.prototype.cst.LEFT_BUTTON, mxShapeIOS7LeftButton); - -//********************************************************************************************************************************************************** -//Right Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7RightButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7RightButton, mxShape); - -mxShapeIOS7RightButton.prototype.cst = { - RIGHT_BUTTON : 'mxgraph.ios7ui.rightButton', - R_SIZE : 'rSize' -}; - -mxShapeIOS7RightButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:3} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7RightButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeIOS7RightButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeIOS7RightButton.prototype.cst.RIGHT_BUTTON, mxShapeIOS7RightButton); - -//********************************************************************************************************************************************************** -//Top Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7TopButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7TopButton, mxShape); - -mxShapeIOS7TopButton.prototype.cst = { - TOP_BUTTON : 'mxgraph.ios7ui.topButton', - R_SIZE : 'rSize' -}; - -mxShapeIOS7TopButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:3} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7TopButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeIOS7TopButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(w, h); - c.lineTo(0, h); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeIOS7TopButton.prototype.cst.TOP_BUTTON, mxShapeIOS7TopButton); - -//********************************************************************************************************************************************************** -//Bottom Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7BottomButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7BottomButton, mxShape); - -mxShapeIOS7BottomButton.prototype.cst = { - BOTTOM_BUTTON : 'mxgraph.ios7ui.bottomButton', - R_SIZE : 'rSize' -}; - -mxShapeIOS7BottomButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:3}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7BottomButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeIOS7BottomButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(w, 0); - c.lineTo(0, 0); - c.lineTo(0, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 0, rSize, h); - c.lineTo(w - rSize, h); - c.arcTo(rSize, rSize, 0, 0, 0, w, h - rSize); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeIOS7BottomButton.prototype.cst.BOTTOM_BUTTON, mxShapeIOS7BottomButton); - -//********************************************************************************************************************************************************** -//Horizontal Lines -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7HorLines(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7HorLines, mxShape); - -mxShapeIOS7HorLines.prototype.cst = { - HOR_LINES : 'mxgraph.ios7ui.horLines' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7HorLines.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, 0, w, h); - c.fill(); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.moveTo(0, h); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeIOS7HorLines.prototype.cst.HOR_LINES, mxShapeIOS7HorLines); - -//********************************************************************************************************************************************************** -//rect with margins -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7MarginRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7MarginRect, mxShape); - -mxShapeIOS7MarginRect.prototype.customProperties = [ - {name: 'rx', dispName: 'Hor. Rounding Size', type: 'float', min:0, defVal:3}, - {name: 'ry', dispName: 'Ver. Rounding Size', type: 'float', min:0, defVal:3}, - {name: 'rectMargin', dispName: 'Global Margin', type: 'float', min:0, defVal:5}, - {name: 'rectMarginTop', dispName: 'Top Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginLeft', dispName: 'Left Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginBottom', dispName: 'Bottom Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginRight', dispName: 'Right Margin', type: 'float', min:0, defVal:0} -]; - -mxShapeIOS7MarginRect.prototype.cst = { - SHAPE_MARGIN_RECT : 'mxgraph.ios7ui.marginRect', - MARGIN : 'rectMargin', - RX : 'rx', - RY : 'ry', - MARGIN_TOP : 'rectMarginTop', - MARGIN_LEFT : 'rectMarginLeft', - MARGIN_BOTTOM : 'rectMarginBottom', - MARGIN_RIGHT : 'rectMarginRight' -}; -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7MarginRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeIOS7MarginRect.prototype.background = function(c, x, y, w, h, state) -{ - var margin = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7MarginRect.prototype.cst.MARGIN, '0')); - var marginTop = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7MarginRect.prototype.cst.MARGIN_TOP, '0')); - var marginLeft = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7MarginRect.prototype.cst.MARGIN_LEFT, '0')); - var marginBottom = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7MarginRect.prototype.cst.MARGIN_BOTTOM, '0')); - var marginRight = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7MarginRect.prototype.cst.MARGIN_RIGHT, '0')); - var rx = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7MarginRect.prototype.cst.RX, '0')); - var ry = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7MarginRect.prototype.cst.RY, '0')); - - var x1 = margin + marginLeft; - var y1 = margin + marginTop; - var w1 = w - marginRight - x1 - margin; - var h1 = h - marginBottom - y1 - margin; - - if (w1 >0 && h1 > 0) - { - c.begin(); - c.roundrect(x1, y1, w1, h1, rx, ry); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeIOS7MarginRect.prototype.cst.SHAPE_MARGIN_RECT, mxShapeIOS7MarginRect); - -//********************************************************************************************************************************************************** -//Callout -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7Callout(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7Callout, mxShape); - -mxShapeIOS7Callout.prototype.cst = { - SHAPE_CALLOUT : 'mxgraph.ios7ui.callout' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7Callout.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeIOS7Callout.prototype.background = function(c, x, y, w, h, state) -{ - var r = 10; - - if (w >= 30 && h >= 20) - { - c.begin(); - c.moveTo(15, h - r * 0.3); - c.arcTo(r * 2, r, 0, 0, 1, 0, h); - c.arcTo(r * 1.5, r * 1.5, 0, 0, 0, 10, h - r * 1); - c.lineTo(r, r); - c.arcTo(r, r, 0, 0, 1, r * 2, 0); - c.lineTo(w - r, 0); - c.arcTo(r, r, 0, 0, 1, w, r); - c.lineTo(w, h - r); - c.arcTo(r, r, 0, 0, 1, w - r, h); - c.lineTo(r * 2, h); - c.arcTo(r, r, 0, 0, 1, r * 1.5, h - r * 0.3); - c.close(); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeIOS7Callout.prototype.cst.SHAPE_CALLOUT, mxShapeIOS7Callout); - -//********************************************************************************************************************************************************** -//Select Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIOS7SelectBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.dx2 = 70; - this.size = 10; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7SelectBar, mxActor); - -mxShapeIOS7SelectBar.prototype.cst = { - SELECT_BAR : 'mxgraph.ios7ui.selectBar' -}; - -mxShapeIOS7SelectBar.prototype.customProperties = [ - {name: 'dx', dispName: 'Callout Position', type: 'float', min:0, defVal:120}, - {name: 'dx2', dispName: 'Field Size', type: 'float', min:0, defVal: 75}, - {name: 'size', dispName: 'Rounding size', type: 'float', min:0, defVal:5}, - {name: 'dy', dispName: 'Callout Size', type: 'float', min:0, defVal:5} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7SelectBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var r = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'size', this.size)))); - var dy = Math.max(0, Math.min(h, (w - Math.max(20, r) - r) / 2, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - r = Math.min(h / 2, w / 2, r); - dx = Math.max(r + dy, dx); - dx = Math.min(w - r - dy, w - 20 - dy, dx); - - c.begin(); - c.moveTo(dx - dy, h); - c.lineTo(r, h); - c.arcTo(r, r, 0, 0, 1, 0, h - r); - c.lineTo(0, r); - c.arcTo(r, r, 0, 0, 1, r, 0); - c.lineTo(w - r, 0); - c.arcTo(r, r, 0, 0, 1, w, r); - c.lineTo(w, h - r); - c.arcTo(r, r, 0, 0, 1, w - r, h); - c.lineTo(dx + dy, h); - c.lineTo(dx, h + dy); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(w - Math.max(20, r), 0); - c.lineTo(w - Math.max(20, r), h); - c.stroke(); - - var currDx = dx2; - - c.begin(); - - while (currDx < (w - Math.max(20, r))) - { - c.moveTo(currDx, 0); - c.lineTo(currDx, h); - - currDx = currDx + dx2; - } - - c.stroke(); - - var w1 = Math.min(Math.max(20, r), h); - var x1 = w - w1 * 0.5; - var y1 = h * 0.5; - - c.setFillColor(mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '')); - c.begin(); - c.moveTo(x1 - w1 * 0.15, y1 - w1 * 0.225); - c.lineTo(x1 + w1 * 0.25, y1); - c.lineTo(x1 - w1 * 0.15, y1 + w1 * 0.225); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeIOS7SelectBar.prototype.cst.SELECT_BAR, mxShapeIOS7SelectBar); - -mxShapeIOS7SelectBar.prototype.constraints = null; - -Graph.handleFactory[mxShapeIOS7SelectBar.prototype.cst.SELECT_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height); - }, function(bounds, pt) - { - var y = parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) * 0.6; - this.state.style['dx'] = Math.round(100 * Math.max(y, Math.min(bounds.width - y, pt.x - bounds.x))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), bounds.y + bounds.height + dy); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height, pt.y - bounds.y - bounds.height))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['size'], function(bounds) - { - var size = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'size', this.size)))); - - return new mxPoint(bounds.x + bounds.width - size, bounds.y + 10); - }, function(bounds, pt) - { - this.state.style['size'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2, bounds.height / 2, bounds.x + bounds.width - pt.x))) / 100; - }); - - handles.push(handle3); - - var handle4 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - - return new mxPoint(bounds.x + dx2, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - }); - - handles.push(handle4); - - return handles; - -} - -//********************************************************************************************************************************************************** -//slider -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -//mxShapeIOS7SelectBar -function mxShapeIOS7Slider2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIOS7Slider2, mxShape); - -mxShapeIOS7Slider2.prototype.cst = { - SHAPE_SLIDER : 'mxgraph.ios7ui.slider', - BAR_POS : 'barPos', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeIOS7Slider2.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, max:1, defVal:20}, - {name: 'handleSize', dispName: 'Handle Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIOS7Slider2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeIOS7Slider2.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7Slider2.prototype.cst.HANDLE_SIZE, '10')); - var barPos = parseFloat(mxUtils.getValue(this.style, mxShapeIOS7Slider2.prototype.cst.BAR_POS, '40')) / 100; - - barPos = Math.max(0, Math.min(1, barPos)); - - c.save(); - c.setStrokeColor('#bbbbbb'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.fillAndStroke(); - - - c.restore(); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(barPos * w, h * 0.5); - c.fillAndStroke(); - - c.setStrokeColor('#bbbbbb'); - c.begin(); - c.ellipse(barPos * w - hSize * 0.5, h * 0.5 - hSize * 0.5, hSize, hSize); - c.fillAndStroke(); - -}; - -mxCellRenderer.registerShape(mxShapeIOS7Slider2.prototype.cst.SHAPE_SLIDER, mxShapeIOS7Slider2); - -mxShapeIOS7Slider2.prototype.constraints = null; - -Graph.handleFactory[mxShapeIOS7Slider2.prototype.cst.SHAPE_SLIDER] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; -}; - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupButtons.js b/dist/libs/drawio/shapes/mockup/mxMockupButtons.js deleted file mode 100644 index 745b6bfc..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupButtons.js +++ /dev/null @@ -1,1028 +0,0 @@ -/** - * $Id: mxMockupButtons.js,v 1.8 2013/05/16 06:09:21 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Multiline Button -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupMultiButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupMultiButton, mxShape); - -mxShapeMockupMultiButton.prototype.cst = { - MAIN_TEXT : 'mainText', - SHAPE_MULTILINE_BUTTON : 'mxgraph.mockup.buttons.multiButton', - SUB_TEXT : 'subText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - BUTTON_STYLE : 'buttonStyle', - ROUND : 'round', - CHEVRON : 'chevron' -}; - -mxShapeMockupMultiButton.prototype.customProperties = [ - {name: 'buttonStyle', dispName: 'Style', type: 'enum', defVal:'round', - enumList: [{val: 'round', dispName: 'Round'}, {val: 'chevron', dispName: 'Chevron'}] - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupMultiButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupMultiButton.prototype.cst.MAIN_TEXT, 'Main Text'); - var subText = mxUtils.getValue(this.style, mxShapeMockupMultiButton.prototype.cst.SUB_TEXT, 'Sub Text'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupMultiButton.prototype.cst.TEXT_COLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupMultiButton.prototype.cst.TEXT_SIZE, '17'); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - c.setFontStyle(mxConstants.FONT_BOLD); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); - this.subText(c, x, y, w, h, subText, fontSize / 1.4, fontColor); -}; - -mxShapeMockupMultiButton.prototype.background = function(c, x, y, w, h) -{ - var buttonStyle = mxUtils.getValue(this.style, mxShapeMockupMultiButton.prototype.cst.BUTTON_STYLE, mxShapeMockupMultiButton.prototype.cst.ROUND).toString(); - var rSize = 10; - c.begin(); - - if (buttonStyle === mxShapeMockupMultiButton.prototype.cst.ROUND) - { - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - } - else if (buttonStyle === mxShapeMockupMultiButton.prototype.cst.CHEVRON) - { - c.moveTo(0, h * 0.1); - c.arcTo(w * 0.0372, h * 0.1111, 0, 0, 1, w * 0.0334, 0); - c.lineTo(w * 0.768, 0); - c.arcTo(w * 0.0722, h * 0.216, 0, 0, 1, w * 0.8014, h * 0.0399); - c.lineTo(w * 0.99, h * 0.4585); - c.arcTo(w * 0.09, h * 0.1, 0, 0, 1, w * 0.99, h * 0.5415); - c.lineTo(w * 0.8014, h * 0.9568); - c.arcTo(w * 0.0722, h * 0.216, 0, 0, 1, w * 0.768, h); - c.lineTo(w * 0.0334, h); - c.arcTo(w * 0.0372, h * 0.1111, 0, 0, 1, 0, h * 0.9); - } - - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupMultiButton.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5, h * 0.4, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxShapeMockupMultiButton.prototype.subText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.text(w * 0.5, h * 0.7, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupMultiButton.prototype.cst.SHAPE_MULTILINE_BUTTON, mxShapeMockupMultiButton); - -//********************************************************************************************************************************************************** -//Button -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupButton, mxShape); - -mxShapeMockupButton.prototype.cst = { - MAIN_TEXT : 'mainText', - SHAPE_BUTTON : 'mxgraph.mockup.buttons.button', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - BUTTON_STYLE : 'buttonStyle', - ROUND : 'round', - CHEVRON : 'chevron' -}; - -mxShapeMockupButton.prototype.customProperties = [ - {name: 'buttonStyle', dispName: 'Style', type: 'enum', defVal:'round', - enumList: [{val: 'round', dispName: 'Round'}, {val: 'chevron', dispName: 'Chevron'}] - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupButton.prototype.cst.MAIN_TEXT, 'Main Text'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupButton.prototype.cst.TEXT_COLOR, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupButton.prototype.cst.TEXT_SIZE, '17').toString(); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeMockupButton.prototype.background = function(c, x, y, w, h) -{ - var buttonStyle = mxUtils.getValue(this.style, mxShapeMockupButton.prototype.cst.BUTTON_STYLE, mxShapeMockupButton.prototype.cst.ROUND).toString(); - var rSize = 10; - c.begin(); - - if (buttonStyle === mxShapeMockupButton.prototype.cst.ROUND) - { - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - } - else if (buttonStyle === mxShapeMockupButton.prototype.cst.CHEVRON) - { - c.moveTo(0, h * 0.1); - c.arcTo(w * 0.0372, h * 0.1111, 0, 0, 1, w * 0.0334, 0); - c.lineTo(w * 0.768, 0); - c.arcTo(w * 0.0722, h * 0.216, 0, 0, 1, w * 0.8014, h * 0.0399); - c.lineTo(w * 0.99, h * 0.4585); - c.arcTo(w * 0.09, h * 0.1, 0, 0, 1, w * 0.99, h * 0.5415); - c.lineTo(w * 0.8014, h * 0.9568); - c.arcTo(w * 0.0722, h * 0.216, 0, 0, 1, w * 0.768, h); - c.lineTo(w * 0.0334, h); - c.arcTo(w * 0.0372, h * 0.1111, 0, 0, 1, 0, h * 0.9); - } - - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupButton.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.setFontStyle(mxConstants.FONT_BOLD); - c.text(w / 2, h / 2, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupButton.prototype.cst.SHAPE_BUTTON, mxShapeMockupButton); - -//********************************************************************************************************************************************************** -//Horizontal Button Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupHorButtonBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupHorButtonBar, mxShape); - -mxShapeMockupHorButtonBar.prototype.cst = { - MAIN_TEXT : 'mainText', - SHAPE_HOR_BUTTON_BAR : 'mxgraph.mockup.buttons.horButtonBar', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2', - SELECTED : '+', //must be 1 char - TEXT_SIZE : 'textSize' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupHorButtonBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeMockupHorButtonBar.prototype.cst.MAIN_TEXT, '+Button 1, Button 2, Button 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupHorButtonBar.prototype.cst.TEXT_COLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxShapeMockupHorButtonBar.prototype.cst.TEXT_COLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupHorButtonBar.prototype.cst.TEXT_SIZE, '17').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var separatorColor = mxUtils.getValue(this.style, mxShapeMockupHorButtonBar.prototype.cst.STROKE_COLOR2, '#c4c4c4'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var selectedFillColor = mxUtils.getValue(this.style, mxShapeMockupHorButtonBar.prototype.cst.FILL_COLOR2, '#008cff'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var selectedButton = -1; - var rSize = 10; //rounding size - var labelOffset = 5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxShapeMockupHorButtonBar.prototype.cst.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - buttonWidths[i] = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 20); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - this.background(c, trueW, trueH, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton); - c.setShadow(false); - - c.setFontStyle(mxConstants.FONT_BOLD); - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeMockupHorButtonBar.prototype.background = function(c, w, h, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton) -{ - c.begin(); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(separatorColor); - c.begin(); - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth = currWidth * w / minW; - c.moveTo(currWidth, 0); - c.lineTo(currWidth, h); - } - } - - c.stroke(); - - //draw the selected button - var buttonLeft = 0; - c.setFillColor(selectedFillColor); - - for (var i = 0; i < selectedButton; i++) - { - buttonLeft += buttonWidths[i] + 2 * labelOffset; - } - - buttonLeft = buttonLeft * w / minW; - var buttonRight = (buttonWidths[selectedButton] + 2 * labelOffset) * w / minW; - buttonRight += buttonLeft; - - if (selectedButton === 0) - { - c.begin(); - // we draw a path for the first button - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(buttonRight, 0); - c.lineTo(buttonRight, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fill(); - } - else if (selectedButton === buttonNum - 1) - { - c.begin(); - // we draw a path for the last button - c.moveTo(buttonLeft, 0); - c.lineTo(buttonRight - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, buttonRight, rSize); - c.lineTo(buttonRight, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, buttonRight - rSize, h); - c.lineTo(buttonLeft, h); - c.close(); - c.fill(); - } - else if (selectedButton !== -1) - { - c.begin(); - // we draw a path rectangle for one of the buttons in the middle - c.moveTo(buttonLeft, 0); - c.lineTo(buttonRight, 0); - c.lineTo(buttonRight, h); - c.lineTo(buttonLeft, h); - c.close(); - c.fill(); - } - - //draw the frame again, to achieve a nicer effect - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.stroke(); -}; - -mxShapeMockupHorButtonBar.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - if(textString.charAt(0) === mxShapeMockupHorButtonBar.prototype.cst.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, h * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupHorButtonBar.prototype.cst.SHAPE_HOR_BUTTON_BAR, mxShapeMockupHorButtonBar); - -//********************************************************************************************************************************************************** -//Vertical Button Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupVerButtonBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupVerButtonBar, mxShape); - -mxShapeMockupVerButtonBar.prototype.cst = { - MAIN_TEXT : 'mainText', - SHAPE_VER_BUTTON_BAR : 'mxgraph.mockup.buttons.verButtonBar', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2', - SELECTED : '+', //must be 1 char - TEXT_SIZE : 'textSize' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupVerButtonBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeMockupVerButtonBar.prototype.cst.MAIN_TEXT, '+Button 1, Button 2, Button 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupVerButtonBar.prototype.cst.TEXT_COLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxShapeMockupVerButtonBar.prototype.cst.TEXT_COLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupVerButtonBar.prototype.cst.TEXT_SIZE, '17').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var separatorColor = mxUtils.getValue(this.style, mxShapeMockupVerButtonBar.prototype.cst.STROKE_COLOR2, '#c4c4c4'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var selectedFillColor = mxUtils.getValue(this.style, mxShapeMockupVerButtonBar.prototype.cst.FILL_COLOR2, '#008cff'); - var buttonNum = textStrings.length; - var maxButtonWidth = 0; - var selectedButton = -1; - var rSize = 10; //rounding size - var labelOffset = 5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxShapeMockupVerButtonBar.prototype.cst.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - var currWidth = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxButtonWidth) - { - maxButtonWidth = currWidth; - } - } - - var minButtonHeight = fontSize * 1.5; - var minH = buttonNum * minButtonHeight; - var trueH = Math.max(h, minH); - var minW = 2 * labelOffset + maxButtonWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - - this.background(c, trueW, trueH, rSize, buttonNum, labelOffset, buttonNum * minButtonHeight, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton, minButtonHeight); - c.setShadow(false); - - var currWidth = 0; - c.setFontStyle(mxConstants.FONT_BOLD); - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - var currHeight = (i * minButtonHeight + minButtonHeight * 0.5) * trueH / minH; - this.buttonText(c, trueW, currHeight, textStrings[i], fontSize); - } -}; - -mxShapeMockupVerButtonBar.prototype.background = function(c, w, h, rSize, buttonNum, labelOffset, minH, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton, minButtonHeight) -{ - c.begin(); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(separatorColor); - c.begin(); - - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currHeight = i * minButtonHeight * h / minH; - - c.moveTo(0, currHeight); - c.lineTo(w, currHeight); - } - } - - c.stroke(); - - //draw the selected button - c.setFillColor(selectedFillColor); - - if (selectedButton === 0) - { - // we draw a path for the first button - c.begin(); - var buttonBottom = minButtonHeight * h / minH; - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, buttonBottom); - c.lineTo(0, buttonBottom); - c.close(); - c.fill(); - } - else if (selectedButton === buttonNum - 1) - { - // we draw a path for the last button - c.begin(); - var buttonTop = h - minButtonHeight * h / minH; - c.moveTo(0, buttonTop); - c.lineTo(w, buttonTop); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fill(); - } - else if (selectedButton !== -1) - { - // we draw a path rectangle for one of the buttons in the middle - c.begin(); - var buttonTop = minButtonHeight * selectedButton * h / minH; - var buttonBottom = minButtonHeight * (selectedButton + 1) * h / minH; - c.moveTo(0, buttonTop); - c.lineTo(w, buttonTop); - c.lineTo(w, buttonBottom); - c.lineTo(0, buttonBottom); - c.close(); - c.fill(); - } - -// //draw the frame again, to achieve a nicer effect - c.begin(); - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.stroke(); -}; - -mxShapeMockupVerButtonBar.prototype.buttonText = function(c, w, h, textString, fontSize) -{ - if(textString.charAt(0) === mxShapeMockupVerButtonBar.prototype.cst.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w * 0.5), h, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupVerButtonBar.prototype.cst.SHAPE_VER_BUTTON_BAR, mxShapeMockupVerButtonBar); - -//********************************************************************************************************************************************************** -//On-Off Button -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupOnOffButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupOnOffButton, mxShape); - -mxShapeMockupOnOffButton.prototype.cst = { - SHAPE_ON_OFF_BUTTON : 'mxgraph.mockup.buttons.onOffButton', - BUTTON_STATE : 'buttonState', - STATE_ON : 'on', - STATE_OFF : 'off', - FILL_COLOR2 : 'fillColor2', - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize' -}; - -mxShapeMockupOnOffButton.prototype.customProperties = [ - {name: 'buttonState', dispName: 'Button State', type: 'enum', - enumList: [{val: 'on', dispName: 'On'}, {val: 'off', dispName: 'Off'}] - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupOnOffButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - w = Math.max(w, 10); - h = Math.max(h, 10); - - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupOnOffButton.prototype.background = function(c, x, y, w, h) -{ - c.roundrect(0, 0, w, h, 10, 10); - c.fillAndStroke(); - -}; - -mxShapeMockupOnOffButton.prototype.foreground = function(c, x, y, w, h) -{ - var state = mxUtils.getValue(this.style, mxShapeMockupOnOffButton.prototype.cst.BUTTON_STATE, mxShapeMockupOnOffButton.prototype.cst.STATE_ON); - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupOnOffButton.prototype.cst.FILL_COLOR2, '#008cff'); - var textColor = mxUtils.getValue(this.style, mxShapeMockupOnOffButton.prototype.cst.TEXT_COLOR, '#ffffff,#999999').toString().split(','); - var mainText = mxUtils.getValue(this.style, mxShapeMockupOnOffButton.prototype.cst.MAIN_TEXT, 'ON,OFF').toString().split(','); - var textSize = mxUtils.getValue(this.style, mxShapeMockupOnOffButton.prototype.cst.TEXT_SIZE, '17'); - - if (state === mxShapeMockupOnOffButton.prototype.cst.STATE_ON) - { - c.setFillColor(fillColor2); - c.setFontColor(textColor[0]); - c.roundrect(0, 0, w * 0.75, h, 10, 10); - } - else - { - c.setFontColor(textColor[1]); - c.roundrect(w * 0.25, 0, w * 0.75, h, 10, 10); - } - - c.fillAndStroke(); - c.setFontSize(textSize); - c.setFontStyle(mxConstants.FONT_BOLD); - - if(state === mxShapeMockupOnOffButton.prototype.cst.STATE_ON) - { - c.text(w * 0.375, h * 0.5, 0, 0, mainText[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (state === mxShapeMockupOnOffButton.prototype.cst.STATE_OFF) - { - c.text(w * 0.625, h * 0.5, 0, 0, mainText[1], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupOnOffButton.prototype.cst.SHAPE_ON_OFF_BUTTON, mxShapeMockupOnOffButton); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRRect, mxShape); - -mxShapeMockupRRect.prototype.cst = { - RRECT : 'mxgraph.mockup.rrect', - R_SIZE : 'rSize' -}; - -mxShapeMockupRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupRRect.prototype.cst.RRECT, mxShapeMockupRRect); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupAnchor, mxShape); - -mxShapeMockupAnchor.prototype.cst = { - ANCHOR : 'mxgraph.mockup.anchor' -}; - -mxShapeMockupAnchor.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeMockupAnchor.prototype.cst.ANCHOR, mxShapeMockupAnchor); - -//********************************************************************************************************************************************************** -//Top Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupTopButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupTopButton, mxShape); - -mxShapeMockupTopButton.prototype.cst = { - TOP_BUTTON : 'mxgraph.mockup.topButton', - R_SIZE : 'rSize' -}; - -mxShapeMockupTopButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupTopButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupTopButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupTopButton.prototype.cst.TOP_BUTTON, mxShapeMockupTopButton); - -//********************************************************************************************************************************************************** -//Bottom Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupBottomButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupBottomButton, mxShape); - -mxShapeMockupBottomButton.prototype.cst = { - BOTTOM_BUTTON : 'mxgraph.mockup.bottomButton', - R_SIZE : 'rSize' -}; - -mxShapeMockupBottomButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupBottomButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupBottomButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupBottomButton.prototype.cst.BOTTOM_BUTTON, mxShapeMockupBottomButton); - -//********************************************************************************************************************************************************** -//Right Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRightButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRightButton, mxShape); - -mxShapeMockupRightButton.prototype.cst = { - RIGHT_BUTTON : 'mxgraph.mockup.rightButton', - R_SIZE : 'rSize' -}; - -mxShapeMockupRightButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRightButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupRightButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupRightButton.prototype.cst.RIGHT_BUTTON, mxShapeMockupRightButton); - -//********************************************************************************************************************************************************** -//Left Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupLeftButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupLeftButton, mxShape); - -mxShapeMockupLeftButton.prototype.cst = { - LEFT_BUTTON : 'mxgraph.mockup.leftButton', - R_SIZE : 'rSize' -}; - -mxShapeMockupLeftButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupLeftButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupLeftButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupLeftButton.prototype.cst.LEFT_BUTTON, mxShapeMockupLeftButton); - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupContainers.js b/dist/libs/drawio/shapes/mockup/mxMockupContainers.js deleted file mode 100644 index 7c28b661..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupContainers.js +++ /dev/null @@ -1,2119 +0,0 @@ -/** - * $Id: mxMockupContainers.js,v 1.10 2013/07/09 11:19:51 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Video Player -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupVideoPlayer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.barPos = 20; - this.barHeight = 30; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupVideoPlayer, mxShape); - -mxShapeMockupVideoPlayer.prototype.cst = { - FILL_COLOR2 : 'fillColor2', - TEXT_COLOR : 'textColor', - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - SHAPE_VIDEO_PLAYER : 'mxgraph.mockup.containers.videoPlayer', - BAR_POS : 'barPos', - BAR_HEIGHT : 'barHeight' -}; - -mxShapeMockupVideoPlayer.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, - {name: 'textColor', dispName: 'Text Color', type: 'color'}, - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Stroke3 Color', type: 'color'}, - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, max:100, defVal:20}, - {name: 'barHeight', dispName: 'Video Bar Height', type: 'float', min:0, defVal:30} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupVideoPlayer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var buttonColor = mxUtils.getValue(this.style, mxShapeMockupVideoPlayer.prototype.cst.FILL_COLOR2, '#c4c4c4'); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var filledColor = mxUtils.getValue(this.style, mxShapeMockupVideoPlayer.prototype.cst.STROKE_COLOR2, '#008cff'); - var emptyColor = mxUtils.getValue(this.style, mxShapeMockupVideoPlayer.prototype.cst.STROKE_COLOR3, '#c4c4c4'); - var barHeight = mxUtils.getValue(this.style, mxShapeMockupVideoPlayer.prototype.cst.BAR_HEIGHT, '30'); - - w = Math.max(w, 5 * barHeight); - h = Math.max(h, barHeight + 10); - - c.translate(x, y); - this.background(c, x, y, w, h, bgColor, frameColor); - c.setShadow(false); - this.otherShapes(c, x, y, w, h, buttonColor, frameColor, filledColor, emptyColor, barHeight); -}; - -mxShapeMockupVideoPlayer.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.setFillColor(bgColor); - c.setStrokeColor(frameColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupVideoPlayer.prototype.otherShapes = function(c, x, y, w, h, buttonColor, frameColor, filledColor, emptyColor, barHeight) -{ - var barPos = mxUtils.getValue(this.style, mxShapeMockupVideoPlayer.prototype.cst.BAR_POS, '20'); - barPos = Math.max(0, barPos); - barPos = Math.min(100, barPos); - - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - var buttonR = 8; - var barY = h - barHeight; - - var barMin = buttonR; - var barMax = w - buttonR; - var barRange = barMax - barMin; - var realBarPos = barRange * barPos / 100; - var barEnd = barMin + realBarPos; - - //progress bar - c.setStrokeColor(filledColor); - c.begin(); - c.moveTo(0, barY); - c.lineTo(barEnd, barY); - c.stroke(); - c.setStrokeColor(emptyColor); - c.begin(); - c.moveTo(barEnd, barY); - c.lineTo(w, barY); - c.stroke(); - - //progress bar button - c.setStrokeColor(frameColor); - c.begin(); - c.ellipse(barEnd - buttonR, barY - buttonR, 2 * buttonR, 2 * buttonR); - c.fillAndStroke(); - - c.begin(); - c.setStrokeWidth(strokeWidth / 2); - c.ellipse(barEnd - buttonR * 0.5, barY - buttonR * 0.5, buttonR, buttonR); - c.fillAndStroke(); - c.setStrokeWidth(strokeWidth); - - var iconSize = barHeight * 0.3; - var iconY = h - (barHeight + iconSize) * 0.5; - var iconX = barHeight * 0.3; - c.setFillColor(buttonColor); - c.setStrokeColor(buttonColor); - - //play icon - c.begin(); - c.moveTo(iconX, iconY); - c.lineTo(iconX + iconSize, iconY + iconSize * 0.5); - c.lineTo(iconX, iconY + iconSize); - c.close(); - c.fillAndStroke(); - - //volume icon - var speakerX = barHeight; - var speakerY = h - barHeight; - c.moveTo(speakerX + barHeight * 0.05, speakerY + barHeight * 0.4); - c.lineTo(speakerX + barHeight * 0.15, speakerY + barHeight * 0.4); - c.lineTo(speakerX + barHeight * 0.3, speakerY + barHeight * 0.25); - c.lineTo(speakerX + barHeight * 0.3, speakerY + barHeight * 0.75); - c.lineTo(speakerX + barHeight * 0.15, speakerY + barHeight * 0.6); - c.lineTo(speakerX + barHeight * 0.05, speakerY + barHeight * 0.6); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(speakerX + barHeight * 0.4, speakerY + barHeight * 0.35); - c.arcTo(barHeight * 0.2, barHeight * 0.3, 0, 0, 1, speakerX + barHeight * 0.4, speakerY + barHeight * 0.65); - c.moveTo(speakerX + barHeight * 0.425, speakerY + barHeight * 0.25); - c.arcTo(barHeight * 0.225, barHeight * 0.35, 0, 0, 1, speakerX + barHeight * 0.425, speakerY + barHeight * 0.75); - c.stroke(); - - //fullscreen button - var screenX = w - barHeight * 1.3; - c.begin(); - c.moveTo(screenX + barHeight * 0.1, speakerY + barHeight * 0.4); - c.lineTo(screenX + barHeight * 0.1, speakerY + barHeight * 0.3); - c.lineTo(screenX + barHeight * 0.25, speakerY + barHeight * 0.3); - - c.moveTo(screenX + barHeight * 0.1, speakerY + barHeight * 0.6); - c.lineTo(screenX + barHeight * 0.1, speakerY + barHeight * 0.7); - c.lineTo(screenX + barHeight * 0.25, speakerY + barHeight * 0.7); - - c.moveTo(screenX + barHeight * 0.9, speakerY + barHeight * 0.4); - c.lineTo(screenX + barHeight * 0.9, speakerY + barHeight * 0.3); - c.lineTo(screenX + barHeight * 0.75, speakerY + barHeight * 0.3); - - c.moveTo(screenX + barHeight * 0.9, speakerY + barHeight * 0.6); - c.lineTo(screenX + barHeight * 0.9, speakerY + barHeight * 0.7); - c.lineTo(screenX + barHeight * 0.75, speakerY + barHeight * 0.7); - c.stroke(); - - var textColor = mxUtils.getValue(this.style, mxShapeMockupVideoPlayer.prototype.cst.TEXT_COLOR, '#666666'); - c.begin(); - c.setFontSize(barHeight * 0.5); - c.setFontColor(textColor); - c.text(barHeight * 1.9, h - barHeight * 0.45, 0, 0, '0:00/3:53', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupVideoPlayer.prototype.cst.SHAPE_VIDEO_PLAYER, mxShapeMockupVideoPlayer); - -Graph.handleFactory[mxShapeMockupVideoPlayer.prototype.cst.SHAPE_VIDEO_PLAYER] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'barPos', this.barPos)))); - - var barH = parseFloat(mxUtils.getValue(this.state.style, 'barHeight', this.barHeight)); - - return new mxPoint(bounds.x + ((bounds.width - 16) * barPos / bounds.width) / 100 * bounds.width + 8, bounds.y + bounds.height - barH - 20); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 1000; - })]; - - var handle2 = Graph.createHandle(state, ['barHeight'], function(bounds) - { - var barHeight = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'barHeight', this.barHeight)))); - - return new mxPoint(bounds.x + bounds.width - 20, bounds.y + bounds.height - barHeight); - }, function(bounds, pt) - { - this.state.style['barHeight'] = Math.round(1000 * Math.max(0, Math.min(bounds.height, bounds.y + bounds.height - pt.y))) / 1000; - }); - - handles.push(handle2); - - return handles; -} - -//********************************************************************************************************************************************************** -//Accordion (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupAccordion(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupAccordion, mxShape); - -mxShapeMockupAccordion.prototype.cst = { - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - TEXT_SIZE : 'textSize', - SHAPE_ACCORDION : 'mxgraph.mockup.containers.accordion', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2', - SELECTED : '+', // must be 1 char - MAIN_TEXT : 'mainText' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupAccordion.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeMockupAccordion.prototype.cst.MAIN_TEXT, '+Group 1, Group 2, Group 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupAccordion.prototype.cst.TEXT_COLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxShapeMockupAccordion.prototype.cst.TEXT_COLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupAccordion.prototype.cst.TEXT_SIZE, '17').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var separatorColor = mxUtils.getValue(this.style, mxShapeMockupAccordion.prototype.cst.STROKE_COLOR2, '#c4c4c4'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var selectedFillColor = mxUtils.getValue(this.style, mxShapeMockupAccordion.prototype.cst.FILL_COLOR2, '#008cff'); - var buttonNum = textStrings.length; - var maxButtonWidth = 0; - var selectedButton = -1; - var rSize = 10; //rounding size - var labelOffset = 5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxShapeMockupAccordion.prototype.cst.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - var currWidth = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxButtonWidth) - { - maxButtonWidth = currWidth; - } - } - - var minButtonHeight = fontSize * 1.5; - var minH = buttonNum * minButtonHeight; - var trueH = Math.max(h, minH); - var minW = 2 * labelOffset + maxButtonWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - - this.background(c, trueW, trueH, rSize, buttonNum, labelOffset, buttonNum * minButtonHeight, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton, minButtonHeight); - c.setShadow(false); - - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - var currHeight = 0; - - if (selectedButton === -1 || i <= selectedButton) - { - currHeight = (i * minButtonHeight + minButtonHeight * 0.5); - } - else - { - currHeight = trueH - (buttonNum - i - 0.5) * minButtonHeight; - } - - this.buttonText(c, trueW, currHeight, textStrings[i], fontSize); - } -}; - -mxShapeMockupAccordion.prototype.background = function(c, w, h, rSize, buttonNum, labelOffset, minH, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton, minButtonHeight) -{ - c.begin(); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(separatorColor); - c.begin(); - - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton) - { - if (selectedButton === -1 || i < selectedButton) - { - var currHeight = i * minButtonHeight; - c.moveTo(0, currHeight); - c.lineTo(w, currHeight); - } - else - { - var currHeight = h - (buttonNum - i) * minButtonHeight; - c.moveTo(0, currHeight); - c.lineTo(w, currHeight); - } - } - } - - c.stroke(); - - //draw the selected button - c.setStrokeColor(mxConstants.NONE); - c.setFillColor(selectedFillColor); - - if (selectedButton !== -1) - { - c.begin(); - var buttonTop = minButtonHeight * selectedButton; - var buttonBottom = minButtonHeight * (selectedButton + 1); - c.moveTo(0, buttonTop); - c.lineTo(w, buttonTop); - c.lineTo(w, buttonBottom); - c.lineTo(0, buttonBottom); - c.close(); - c.fill(); - } - -// //draw the frame again, to achieve a nicer effect - c.begin(); - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.stroke(); -}; - -mxShapeMockupAccordion.prototype.buttonText = function(c, w, h, textString, fontSize) -{ - if(textString.charAt(0) === mxShapeMockupAccordion.prototype.cst.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w * 0.5), h, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupAccordion.prototype.cst.SHAPE_ACCORDION, mxShapeMockupAccordion); - -//********************************************************************************************************************************************************** -//Browser Window -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupBrowserWindow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupBrowserWindow, mxShape); - -mxShapeMockupBrowserWindow.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - MAIN_TEXT : 'mainText', - SHAPE_BROWSER_WINDOW : 'mxgraph.mockup.containers.browserWindow' - -}; - -mxShapeMockupBrowserWindow.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Stroke3 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupBrowserWindow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var closeColor = mxUtils.getValue(this.style, mxShapeMockupBrowserWindow.prototype.cst.STROKE_COLOR2, '#008cff'); - var insideColor = mxUtils.getValue(this.style, mxShapeMockupBrowserWindow.prototype.cst.STROKE_COLOR3, '#c4c4c4'); - w = Math.max(w, 260); - h = Math.max(h, 110); - c.translate(x, y); - this.background(c, x, y, w, h, bgColor, frameColor); - c.setShadow(false); - this.otherShapes(c, x, y, w, h, frameColor, insideColor, closeColor); -}; - -mxShapeMockupBrowserWindow.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.setFillColor(bgColor); - c.setStrokeColor(frameColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupBrowserWindow.prototype.otherShapes = function(c, x, y, w, h, frameColor, insideColor, closeColor) -{ - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - var mainText = mxUtils.getValue(this.style, mxShapeMockupBrowserWindow.prototype.cst.MAIN_TEXT, 'http://www.draw.io,Page 1').toString().split(','); - - //window buttons - c.setStrokeColor(frameColor); - c.ellipse(w - 75, 5, 20, 20); - c.stroke(); - - c.ellipse(w - 50, 5, 20, 20); - c.stroke(); - - c.setStrokeColor(closeColor); - c.ellipse(w - 25, 5, 20, 20); - c.stroke(); - - c.setStrokeColor(insideColor); - //lines - c.begin(); - c.moveTo(0, 40); - c.lineTo(30, 40); - c.lineTo(30, 15); - c.arcTo(5, 5, 0, 0, 1, 35, 10); - c.lineTo(170, 10); - c.arcTo(5, 5, 0, 0, 1, 175, 15); - c.lineTo(175, 40); - c.lineTo(w, 40); - c.stroke(); - - c.begin(); - c.moveTo(0, 110); - c.lineTo(w, 110); - c.stroke(); - - //address field - c.begin(); - c.moveTo(100, 60); - c.arcTo(5, 5, 0, 0, 1, 105, 55); - c.lineTo(w - 15, 55); - c.arcTo(5, 5, 0, 0, 1, w - 10, 60); - c.lineTo(w - 10, 85); - c.arcTo(5, 5, 0, 0, 1, w - 15, 90); - c.lineTo(105, 90); - c.arcTo(5, 5, 0, 0, 1, 100, 85); - c.close(); - c.stroke(); - - //text - var textColor = mxUtils.getValue(this.style, mxShapeMockupBrowserWindow.prototype.cst.TEXT_COLOR, '#666666'); - c.setFontColor(textColor); - c.setFontSize(17); - c.text(65, 25, 0, 0, mainText[1], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(130, 73, 0, 0, mainText[0], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.stroke(); - - //icon on tab - c.translate(37, 17); - c.begin(); - c.moveTo(0, 0); - c.lineTo(11, 0); - c.lineTo(15, 4); - c.lineTo(15, 18); - c.lineTo(0, 18); - c.close(); - c.stroke(); - - c.setStrokeWidth(strokeWidth * 0.5); //maybe because of this (read later) - c.begin(); - c.moveTo(11, 0); - c.lineTo(11, 4); - c.lineTo(15, 5); - c.stroke(); - - //icon in address bar - c.setStrokeWidth(strokeWidth * 2); // i'm not sure why i have to multiply here - c.translate(70, 47); - c.begin(); - c.moveTo(0, 0); - c.lineTo(11, 0); - c.lineTo(15, 4); - c.lineTo(15, 18); - c.lineTo(0, 18); - c.close(); - c.stroke(); - - c.setStrokeWidth(strokeWidth * 0.5); - c.begin(); - c.moveTo(11, 0); - c.lineTo(11, 4); - c.lineTo(15, 5); - c.stroke(); - - //back - var iSi = 20; //icon size - c.setFillColor(insideColor); - c.begin(); - c.setStrokeWidth(strokeWidth * 2); // i'm not sure why i have to multiply here - c.translate(-95, 0); - c.moveTo(0, iSi * 0.5); - c.lineTo(iSi * 0.5, 0); - c.lineTo(iSi * 0.5, iSi * 0.3); - c.lineTo(iSi, iSi * 0.3); - c.lineTo(iSi, iSi * 0.7); - c.lineTo(iSi * 0.5, iSi * 0.7); - c.lineTo(iSi * 0.5, iSi); - c.close(); - c.fillAndStroke(); - - //forward - c.begin(); - c.translate(30, 0); - c.moveTo(iSi, iSi * 0.5); - c.lineTo(iSi * 0.5, 0); - c.lineTo(iSi * 0.5, iSi * 0.3); - c.lineTo(0, iSi * 0.3); - c.lineTo(0, iSi * 0.7); - c.lineTo(iSi * 0.5, iSi * 0.7); - c.lineTo(iSi * 0.5, iSi); - c.close(); - c.fillAndStroke(); - - //refresh - c.begin(); - c.translate(30, 0); - c.moveTo(iSi * 0.78, iSi * 0.665); - c.arcTo(iSi * 0.3, iSi * 0.3, 0, 1, 1, iSi * 0.675, iSi * 0.252); - c.lineTo(iSi * 0.595, iSi * 0.325); - c.lineTo(iSi * 0.99, iSi * 0.415); - c.lineTo(iSi * 0.9, iSi * 0.04); - c.lineTo(iSi * 0.815, iSi * 0.12); - c.arcTo(iSi * 0.49, iSi * 0.49, 0, 1, 0, iSi * 0.92, iSi * 0.8); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupBrowserWindow.prototype.cst.SHAPE_BROWSER_WINDOW, mxShapeMockupBrowserWindow); - -//********************************************************************************************************************************************************** -//User, Male -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupUserMale(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupUserMale, mxShape); - -mxShapeMockupUserMale.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - SHAPE_MALE_USER : 'mxgraph.mockup.containers.userMale' -}; - -mxShapeMockupUserMale.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupUserMale.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var insideColor = mxUtils.getValue(this.style, mxShapeMockupUserMale.prototype.cst.STROKE_COLOR2, '#008cff'); - c.translate(x, y); - this.background(c, x, y, w, h, bgColor, frameColor); - c.setShadow(false); - this.otherShapes(c, x, y, w, h, insideColor, frameColor); -}; - -mxShapeMockupUserMale.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.setFillColor(bgColor); - c.setStrokeColor(frameColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupUserMale.prototype.otherShapes = function(c, x, y, w, h, insideColor, frameColor) -{ - //head left - c.setStrokeColor(insideColor); - c.setLineCap('round'); - c.setLineJoin('round'); - c.begin(); - c.moveTo(w * 0.5, h * 0.6721); - c.curveTo(w * 0.3891, h * 0.6721, w * 0.31, h * 0.5648, w * 0.31, h * 0.3962); - c.curveTo(w * 0.31, h * 0.3656, w * 0.3012, h * 0.3473, w * 0.3051, h * 0.3227); - c.curveTo(w * 0.3126, h * 0.2762, w * 0.3124, h * 0.2212, w * 0.332, h * 0.1939); - c.curveTo(w * 0.354, h * 0.1633, w * 0.4382, h * 0.12, w * 0.5, h * 0.12); - c.stroke(); - - //left ear - c.begin(); - c.moveTo(w * 0.3046, h * 0.3716); - c.curveTo(w * 0.3046, h * 0.3716, w * 0.3046, h * 0.341, w * 0.2826, h * 0.3594); - c.curveTo(w * 0.2606, h * 0.3778, w * 0.2661, h * 0.4452, w * 0.266, h * 0.4452); - c.quadTo(w * 0.2715, h * 0.4942, w * 0.277, h * 0.5065); - c.curveTo(w * 0.2825, h * 0.5187, w * 0.277, h * 0.5187, w * 0.2935, h * 0.5371); - c.curveTo(w * 0.31, h * 0.5554, w * 0.3375, h * 0.5615, w * 0.3375, h * 0.5616); - c.stroke(); - - // left shoulder - c.begin(); - c.moveTo(w * 0.3829, h * 0.6213); - c.curveTo(w * 0.3829, h * 0.6213, w * 0.405, h * 0.7704, w * 0.2921, h * 0.7888); - c.curveTo(w * 0.2536, h * 0.795, w * 0.1328, h * 0.85, w * 0.1052, h * 0.8745); - c.curveTo(w * 0.0776, h * 0.899, w * 0.0641, h * 0.9316, w * 0.0571, h * 0.9622); - c.quadTo(w * 0.05, h, w * 0.05, h); - c.stroke(); - - // left hairline - c.begin(); - c.moveTo(w * 0.3427, h * 0.4185); - c.curveTo(w * 0.3427, h * 0.4185, w * 0.3427, h * 0.3839, w * 0.3427, h * 0.3593); - c.curveTo(w * 0.3427, h * 0.3348, w * 0.3663, h * 0.3103, w * 0.3718, h * 0.3041); - c.curveTo(w * 0.3773, h * 0.298, w * 0.3822, h * 0.2673, w * 0.3877, h * 0.2551); - c.curveTo(w * 0.3932, h * 0.2429, w * 0.4095, h * 0.2429, w * 0.4259, h * 0.2367); - c.curveTo(w * 0.4424, h * 0.2306, w * 0.4984, h * 0.2357, w * 0.4984, h * 0.2357); - c.stroke(); - - //shirt - c.begin(); - c.moveTo(w * 0.365, h * 0.7427); - c.curveTo(w * 0.365, h * 0.7427, w * 0.3772, h * 0.8076, w * 0.4286, h * 0.8224); - c.curveTo(w * 0.4816, h * 0.8377, w * 0.5028, h * 0.8347, w * 0.5028, h * 0.8347); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.3322, h * 0.7764); - c.curveTo(w * 0.3322, h * 0.7764, w * 0.3556, h * 0.8386, w * 0.4038, h * 0.8684); - c.curveTo(w * 0.4533, h * 0.8991, w * 0.5029, h * 0.8929, w * 0.5029, h * 0.8929); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.2717, h * 0.9); - c.lineTo(w * 0.2717, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.1671, h * 0.8991); - c.curveTo(w * 0.1671, h * 0.8991, w * 0.1726, h * 0.9114, w * 0.1836, h * 0.9481); - c.curveTo(w * 0.1946, h * 0.9849, w * 0.2, h, w * 0.2, h); - c.stroke(); - - //head right - c.begin(); - c.moveTo(w * 0.5, h * 0.6721); - c.curveTo(w * 0.6109, h * 0.6721, w * 0.69, h * 0.5648, w * 0.69, h * 0.3962); - c.curveTo(w * 0.69, h * 0.3656, w * 0.6988, h * 0.3473, w * 0.6949, h * 0.3227); - c.curveTo(w * 0.6847, h * 0.2762, w * 0.6876, h * 0.2212, w * 0.668, h * 0.1939); - c.curveTo(w * 0.646, h * 0.1633, w * 0.5618, h * 0.12, w * 0.5, h * 0.12); - c.stroke(); - - //right ear - c.begin(); - c.moveTo(w * 0.6954, h * 0.3716); - c.curveTo(w * 0.6954, h * 0.3716, w * 0.6954, h * 0.341, w * 0.7174, h * 0.3594); - c.curveTo(w * 0.7394, h * 0.3778, w * 0.7339, h * 0.4452, w * 0.734, h * 0.4452); - c.quadTo(w * 0.7285, h * 0.4942, w * 0.723, h * 0.5065); - c.curveTo(w * 0.7175, h * 0.5187, w * 0.723, h * 0.5187, w * 0.7065, h * 0.5371); - c.curveTo(w * 0.69, h * 0.5554, w * 0.6625, h * 0.5615, w * 0.6625, h * 0.5616); - c.stroke(); - - // right shoulder - c.begin(); - c.moveTo(w * 0.6171, h * 0.6213); - c.curveTo(w * 0.6171, h * 0.6213, w * 0.595, h * 0.7704, w * 0.7079, h * 0.7888); - c.curveTo(w * 0.7464, h * 0.795, w * 0.8672, h * 0.85, w * 0.8948, h * 0.8745); - c.curveTo(w * 0.9224, h * 0.899, w * 0.9359, h * 0.9316, w * 0.9429, h * 0.9622); - c.quadTo(w * 0.95, h, w * 0.95, h); - c.stroke(); - - // right hairline - c.begin(); - c.moveTo(w * 0.6573, h * 0.4185); - c.curveTo(w * 0.6573, h * 0.4185, w * 0.6573, h * 0.3839, w * 0.6573, h * 0.3593); - c.curveTo(w * 0.6573, h * 0.3348, w * 0.6337, h * 0.3103, w * 0.6282, h * 0.3041); - c.curveTo(w * 0.6227, h * 0.298, w * 0.6178, h * 0.2673, w * 0.6123, h * 0.2551); - c.curveTo(w * 0.6068, h * 0.2429, w * 0.5905, h * 0.2429, w * 0.5741, h * 0.2367); - c.curveTo(w * 0.5576, h * 0.2306, w * 0.5016, h * 0.2357, w * 0.5016, h * 0.2357); - c.stroke(); - - //shirt, right - c.begin(); - c.moveTo(w * 0.635, h * 0.7427); - c.curveTo(w * 0.635, h * 0.7427, w * 0.6228, h * 0.8076, w * 0.5714, h * 0.8224); - c.curveTo(w * 0.5184, h * 0.8377, w * 0.4972, h * 0.8347, w * 0.4972, h * 0.8347); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6678, h * 0.7764); - c.curveTo(w * 0.6678, h * 0.7764, w * 0.6444, h * 0.8386, w * 0.5962, h * 0.8684); - c.curveTo(w * 0.5467, h * 0.8991, w * 0.4971, h * 0.8929, w * 0.4971, h * 0.8929); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.7283, h * 0.9); - c.lineTo(w * 0.7283, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.8329, h * 0.8991); - c.curveTo(w * 0.8329, h * 0.8991, w * 0.8274, h * 0.9114, w * 0.8164, h * 0.9481); - c.curveTo(w * 0.8054, h * 0.9849, w * 0.8, h, w * 0.8, h); - c.stroke(); - - c.setStrokeColor(frameColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupUserMale.prototype.cst.SHAPE_MALE_USER, mxShapeMockupUserMale); - -//********************************************************************************************************************************************************** -//User, Female -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupUserFemale(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupUserFemale, mxShape); - -mxShapeMockupUserFemale.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - SHAPE_FEMALE_USER : 'mxgraph.mockup.containers.userFemale' -}; - -mxShapeMockupUserFemale.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupUserFemale.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var insideColor = mxUtils.getValue(this.style, mxShapeMockupUserFemale.prototype.cst.STROKE_COLOR2, '#008cff'); - c.translate(x, y); - this.background(c, x, y, w, h, bgColor, frameColor); - c.setShadow(false); - this.otherShapes(c, x, y, w, h, insideColor, frameColor); -}; - -mxShapeMockupUserFemale.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.setFillColor(bgColor); - c.setStrokeColor(frameColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupUserFemale.prototype.otherShapes = function(c, x, y, w, h, insideColor, frameColor) -{ - //head left - c.setStrokeColor(insideColor); - c.setLineCap('round'); - c.setLineJoin('round'); - c.begin(); - c.moveTo(w * 0.3148, h * 0.468); - c.curveTo(w * 0.3045, h * 0.3195, w * 0.3176, h * 0.2383, w * 0.3302, h * 0.2069); - c.curveTo(w * 0.3508, h * 0.1557, w * 0.44, h * 0.1156, w * 0.5026, h * 0.1156); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5029, h * 0.6728); - c.curveTo(w * 0.4616, h * 0.6728, w * 0.4018, h * 0.6177, w * 0.3663, h * 0.5653); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.3108, h * 0.4021); - c.curveTo(w * 0.3108, h * 0.4021, w * 0.3091, h * 0.3765, w * 0.2891, h * 0.3933); - c.curveTo(w * 0.2691, h * 0.4101, w * 0.2782, h * 0.4661, w * 0.2782, h * 0.4661); - c.quadTo(w * 0.2862, h * 0.5067, w * 0.2922, h * 0.5166); - c.curveTo(w * 0.2982, h * 0.5265, w * 0.2929, h * 0.5268, w * 0.3097, h * 0.5412); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.4038, h * 0.6176); - c.curveTo(w * 0.4038, h * 0.6176, w * 0.4324, h * 0.7778, w * 0.3375, h * 0.7963); - c.curveTo(w * 0.3054, h * 0.8026, w * 0.1753, h * 0.8578, w * 0.15, h * 0.8826); - c.curveTo(w * 0.1247, h * 0.9074, w * 0.1126, h * 0.9412, w * 0.1063, h * 0.9722); - c.curveTo(w * 0.10, h * 1.0032, w * 0.1, h, w * 0.1, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6377, h * 0.3365); - c.curveTo(w * 0.5927, h * 0.2634, w * 0.5206, h * 0.2634, w * 0.5206, h * 0.2634); - c.quadTo(w * 0.3769, h * 0.2591, w * 0.3713, h * 0.2659); - c.curveTo(w * 0.3657, h * 0.2727, w * 0.3405, h * 0.3674, w * 0.3405, h * 0.3946); - c.curveTo(w * 0.3405, h * 0.4218, w * 0.3405, h * 0.4602, w * 0.3405, h * 0.4602); - c.quadTo(w * 0.3546, h * 0.6401, w * 0.3546, h * 0.6626); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.2931, h * 0.818); - c.curveTo(w * 0.2931, h * 0.818, w * 0.3224, h * 0.9159, w * 0.3826, h * 0.9677); - c.curveTo(w * 0.4446, h * 1.01, w * 0.5065, h, w * 0.5065, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.2995, h * 0.9106); - c.lineTo(w * 0.2995, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.2081, h * 0.907); - c.curveTo(w * 0.2081, h * 0.907, w * 0.2131, h * 0.9194, w * 0.2232, h * 0.9565); - c.curveTo(w * 0.2333, h * 0.9936, w * 0.24, h, w * 0.24, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6951, h * 0.4988); - c.curveTo(w * 0.6951, h * 0.4662, w * 0.7042, h * 0.3453, w * 0.7, h * 0.32); - c.curveTo(w * 0.6923, h * 0.273, w * 0.6926, h * 0.2175, w * 0.6727, h * 0.19); - c.curveTo(w * 0.6504, h * 0.159, w * 0.5651, h * 0.1157, w * 0.5025, h * 0.1157); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5029, h * 0.6728); - c.curveTo(w * 0.5546, h * 0.6728, w * 0.6107, h * 0.6316, w * 0.6461, h * 0.5602); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.696, h * 0.4022); - c.curveTo(w * 0.696, h * 0.4022, w * 0.6983, h * 0.3766, w * 0.7179, h * 0.4106); - c.curveTo(w * 0.7375, h * 0.4278, w * 0.7273, h * 0.4836, w * 0.7273, h * 0.4836); - c.quadTo(w * 0.7184, h * 0.5241, w * 0.7123, h * 0.5338); - c.curveTo(w * 0.7062, h * 0.5436, w * 0.7114, h * 0.544, w * 0.6943, h * 0.558); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5995, h * 0.6278); - c.curveTo(w * 0.5995, h * 0.6278, w * 0.5724, h * 0.7777, w * 0.6663, h * 0.7963); - c.curveTo(w * 0.6984, h * 0.8026, w * 0.8386, h * 0.8578, w * 0.8638, h * 0.8826); - c.curveTo(w * 0.8891, h * 0.9074, w * 0.9016, h * 0.9412, w * 0.9079, h * 0.9722); - c.curveTo(w * 0.9142, h * 1.0032, w * 0.91, h, w * 0.91, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6545, h * 0.6802); - c.lineTo(w * 0.6545, h * 0.3986); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.7132, h * 0.8078); - c.curveTo(w * 0.7132, h * 0.8078, w * 0.6839, h * 0.916, w * 0.6237, h * 0.9678); - c.curveTo(w * 0.5617, h * 1.01, w * 0.4998, h, w * 0.4998, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.7111, h * 0.9106); - c.lineTo(w * 0.7111, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.8075, h * 0.907); - c.curveTo(w * 0.8075, h * 0.907, w * 0.8025, h * 0.9194, w * 0.7924, h * 0.9565); - c.curveTo(w * 0.7823, h * 0.9936, w * 0.775, h, w * 0.775, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.3148, h * 0.5448); - c.curveTo(w * 0.3148, h * 0.5448, w * 0.32, h * 0.6216, w * 0.3148, h * 0.6677); - c.quadTo(w * 0.2891, h * 0.7343, w * 0.2891, h * 0.7343); - c.lineTo(w * 0.3303, h * 0.7625); - c.lineTo(w * 0.39, h * 0.7625); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6852, h * 0.5448); - c.curveTo(w * 0.6852, h * 0.5448, w * 0.68, h * 0.6216, w * 0.6852, h * 0.6677); - c.quadTo(w * 0.7109, h * 0.7343, w * 0.7109, h * 0.7343); - c.lineTo(w * 0.6697, h * 0.7625); - c.lineTo(w * 0.62, h * 0.7625); - c.stroke(); - - c.setStrokeColor(frameColor); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupUserFemale.prototype.cst.SHAPE_FEMALE_USER, mxShapeMockupUserFemale); - -//********************************************************************************************************************************************************** -//Group -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupGroup(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupGroup, mxShape); - -mxShapeMockupGroup.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - FILL_COLOR2 : 'fillColor2', - SHAPE_GROUP : 'mxgraph.mockup.containers.group' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupGroup.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var groupString = mxUtils.getValue(this.style, mxShapeMockupGroup.prototype.cst.MAIN_TEXT, 'Group').toString(); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupGroup.prototype.cst.TEXT_SIZE, '17'); - - var textWidth = mxUtils.getSizeForString(groupString, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (textWidth === 0) - { - textWidth = Math.max(80, textWidth); - } - - c.translate(x, y); - - w = Math.max(w, textWidth + 15); - h = Math.max(h, fontSize + 10); - - this.background(c, w, h, textWidth, fontSize); - c.setShadow(false); - this.foreground(c, w, h, textWidth, fontSize); - this.buttonText(c, w, h, groupString, fontSize); -}; - -mxShapeMockupGroup.prototype.background = function(c, w, h, textWidth, fontSize) -{ - c.roundrect(0, fontSize * 0.5, w, h - fontSize * 0.5, 5, 5); - c.fillAndStroke(); -}; - -mxShapeMockupGroup.prototype.foreground = function(c, w, h, textWidth, fontSize) -{ - var fillColor = mxUtils.getValue(this.style, mxShapeMockupGroup.prototype.cst.FILL_COLOR2, '#000000'); - c.setFillColor(fillColor); - c.roundrect(3, 0, textWidth + 6, fontSize * 1.5, fontSize * 0.25, fontSize * 0.25); - c.fill(); -}; - -mxShapeMockupGroup.prototype.buttonText = function(c, w, h, textString, fontSize) -{ - var fontColor = mxUtils.getValue(this.style, mxShapeMockupGroup.prototype.cst.TEXT_COLOR, '#ffffff'); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - c.text(6, 0, 0, 0, textString, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_TOP, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupGroup.prototype.cst.SHAPE_GROUP, mxShapeMockupGroup); - -//********************************************************************************************************************************************************** -//Window -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupWindow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupWindow, mxShape); - -mxShapeMockupWindow.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - SHAPE_WINDOW : 'mxgraph.mockup.containers.window' -}; - -mxShapeMockupWindow.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Stroke3 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupWindow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var closeColor = mxUtils.getValue(this.style, mxShapeMockupWindow.prototype.cst.STROKE_COLOR2, '#008cff'); - var insideColor = mxUtils.getValue(this.style, mxShapeMockupWindow.prototype.cst.STROKE_COLOR3, '#c4c4c4'); - c.translate(x, y); - - h = Math.max(h, 30); - w = Math.max(w, 90); - - this.background(c, x, y, w, h, bgColor, frameColor); - c.setShadow(false); - this.otherShapes(c, x, y, w, h, frameColor, insideColor, closeColor); -}; - -mxShapeMockupWindow.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.setFillColor(bgColor); - c.setStrokeColor(frameColor); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupWindow.prototype.otherShapes = function(c, x, y, w, h, frameColor, insideColor, closeColor) -{ - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - - //window buttons - c.setStrokeColor(frameColor); - c.ellipse(w - 75, 5, 20, 20); - c.stroke(); - - c.ellipse(w - 50, 5, 20, 20); - c.stroke(); - - c.setStrokeColor(closeColor); - c.ellipse(w - 25, 5, 20, 20); - c.stroke(); - - c.setStrokeColor(insideColor); - //lines - c.begin(); - c.moveTo(0, 30); - c.lineTo(w, 30); - c.stroke(); - - //text - var windowTitle = mxUtils.getValue(this.style, mxShapeMockupWindow.prototype.cst.MAIN_TEXT, 'Window Title'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupWindow.prototype.cst.TEXT_COLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupWindow.prototype.cst.TEXT_SIZE, '17').toString(); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - c.text(10, 15, 0, 0, windowTitle, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupWindow.prototype.cst.SHAPE_WINDOW, mxShapeMockupWindow); - -//********************************************************************************************************************************************************** -//Horizontal Tab Bar (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupHorTabBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupHorTabBar, mxShape); - -mxShapeMockupHorTabBar.prototype.cst = { - BLOCK : 'block', - CONE : 'cone', - HALF_CONE : 'halfCone', - ROUND : 'round', - TEXT_SIZE : 'textSize', - TAB_NAMES : 'tabs', - TAB_STYLE : 'tabStyle', - STYLE_FILLCOLOR2 : 'fillColor2', - TEXT_COLOR : 'textColor', - SEL_TEXT_COLOR : 'textColor2', - SHAPE_HOR_TAB_BAR : 'mxgraph.mockup.containers.horTabBar' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -//TODO tab widths are fixed, so tab text length is a bit of an issue. Cannot be fixed while we use labels for tab names -mxShapeMockupHorTabBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontSize = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.TEXT_SIZE, '17').toString(); - var tabNames = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.TAB_NAMES, 'Tab 1,+Tab 2,Tab 3').toString().split(','); - - var tabH = fontSize * 1.5; - var startOffset = 10; - var tabOffset = 5; - var labelOffset = 10; - var tabCount = tabNames.length; - var minW = 2 * startOffset + (tabCount - 1) * tabOffset + tabCount * 2 * labelOffset; - var rSize = 5; - var labelWidths = new Array(); - var selectedTab = -1; - - for (var i = 0; i < tabCount; i++) - { - var currLabel = tabNames[i]; - - if(currLabel.charAt(0) === '+') - { - currLabel = currLabel.substring(1); - selectedTab = i; - } - - currW = mxUtils.getSizeForString(currLabel, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currW === 0) - { - labelWidths[i] = 40; - } - else - { - labelWidths[i] = currW; - }; - - minW = minW + labelWidths[i]; - } - - w = Math.max(w, minW); - h = Math.max(h, tabH + rSize); - - c.translate(x, y); - - this.background(c, w, h, rSize, tabH); - c.setShadow(false); - this.backTabs(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab); - this.focusTab(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab); - this.tabText(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab, tabNames); -}; - -mxShapeMockupHorTabBar.prototype.background = function(c, w, h, rSize, tabH) -{ - c.begin(); - c.moveTo(0, tabH + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, tabH); - c.lineTo(w - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 1, w, tabH + rSize); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupHorTabBar.prototype.backTabs = function(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab) -{ - var tabStyle = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.TAB_STYLE, mxShapeMockupHorTabBar.prototype.cst.BLOCK); - - var currW = startOffset; - for (var i=0; i < tabCount; i++) - { - var tabW = labelWidths[i] + 2 * labelOffset; - - if (selectedTab !== i) - { - if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.BLOCK) - { - c.rect(currW, 0, tabW, tabH); - } - else if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.CONE) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW - labelOffset * 0.5, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.HALF_CONE) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.ROUND) - { - c.begin(); - c.moveTo(currW - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 0, currW, tabH - rSize); - c.lineTo(currW, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, currW + rSize, 0); - c.lineTo(currW + tabW - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, currW + tabW, rSize); - c.lineTo(currW + tabW, tabH - rSize); - c.arcTo(rSize, rSize, 0, 0, 0, currW + tabW + rSize, tabH); - } - - c.fillAndStroke(); - } - - currW = currW + tabW + tabOffset; - } -}; - -mxShapeMockupHorTabBar.prototype.focusTab = function(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab) -{ - var tabStyle = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.TAB_STYLE, mxShapeMockupHorTabBar.prototype.cst.BLOCK); - var selectedFill = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.STYLE_FILLCOLOR2, '#008cff'); - - var currW = startOffset; - c.setStrokeColor(selectedFill); - c.setFillColor(selectedFill); - - for (var i=0; i <= selectedTab; i++) - { - var tabW = labelWidths[i] + 2 * labelOffset; - - if (selectedTab === i) - { - if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.BLOCK) - { - c.begin(); - c.moveTo(0, tabH + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, tabH); - c.lineTo(currW, tabH); - c.lineTo(currW, 0); - c.lineTo(currW + tabW, 0); - c.lineTo(currW + tabW, tabH); - c.lineTo(w - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 1, w, tabH + rSize); - c.close(); - } - else if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.CONE) - { - c.begin(); - c.moveTo(0, tabH + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, tabH); - c.lineTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW - labelOffset * 0.5, 0); - c.lineTo(currW + tabW, tabH); - c.lineTo(w - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 1, w, tabH + rSize); - c.close(); - } - else if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.HALF_CONE) - { - c.begin(); - c.moveTo(0, tabH + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, tabH); - c.lineTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW, 0); - c.lineTo(currW + tabW, tabH); - c.lineTo(w - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 1, w, tabH + rSize); - c.close(); - } - else if (tabStyle === mxShapeMockupHorTabBar.prototype.cst.ROUND) - { - c.begin(); - c.moveTo(0, tabH + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, tabH); - c.lineTo(currW - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 0, currW, tabH - rSize); - c.lineTo(currW, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, currW + rSize, 0); - c.lineTo(currW + tabW - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, currW + tabW, rSize); - c.lineTo(currW + tabW, tabH - rSize); - c.arcTo(rSize, rSize, 0, 0, 0, currW + tabW + rSize, tabH); - c.lineTo(w - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 1, w, tabH + rSize); - c.close(); - } - - c.fillAndStroke(); - } - - currW = currW + tabW + tabOffset; - } -}; - -mxShapeMockupHorTabBar.prototype.tabText = function(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab, tabNames) -{ - var fontColor = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.TEXT_COLOR, '#666666'); - var selFontColor = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.SEL_TEXT_COLOR, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupHorTabBar.prototype.cst.TEXT_SIZE, '17').toString(); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - var currW = startOffset; - - for (var i=0; i < tabCount; i++) - { - var currLabel = tabNames[i]; - - if (i === selectedTab) - { - c.setFontColor(selFontColor); - } - - if (currLabel.charAt(0) === '+') - { - currLabel = currLabel.substring(1); - } - - var tabW = labelWidths[i] + 2 * labelOffset; - - c.text(currW + labelOffset, tabH * 0.5, 0, 0, currLabel, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - currW = currW + tabW + tabOffset; - - if (i === selectedTab) - { - c.setFontColor(fontColor); - } - } - -}; - -mxCellRenderer.registerShape(mxShapeMockupHorTabBar.prototype.cst.SHAPE_HOR_TAB_BAR, mxShapeMockupHorTabBar); - -//********************************************************************************************************************************************************** -//Vertical Tab Bar (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -//TODO tab widths are fixed, so tab text length is a bit of an issue. Cannot be fixed while we use labels for tab names -function mxShapeMockupVerTabBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupVerTabBar, mxShape); - -mxShapeMockupVerTabBar.prototype.cst = { - BLOCK : 'block', - ROUND : 'round', - TEXT_SIZE : 'textSize', - TAB_NAMES : 'tabs', - TAB_STYLE : 'tabStyle', - STYLE_FILLCOLOR2 : 'fillColor2', - TEXT_COLOR : 'textColor', - SEL_TEXT_COLOR : 'textColor2', - SHAPE_VER_TAB_BAR : 'mxgraph.mockup.containers.verTabBar' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupVerTabBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontSize = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.TEXT_SIZE, '17').toString(); - var tabNames = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.TAB_NAMES, 'Tab 1,+Tab 2,Tab 3').toString().split(','); - - var tabH = fontSize * 1.5; - var startOffset = 10; - var tabOffset = 5; - var labelOffset = 10; - var tabCount = tabNames.length; - var rSize = 5; - var labelWidths = new Array(); - var selectedTab = -1; - for (var i = 0; i < tabCount; i++) - { - var currLabel = tabNames[i]; - - if(currLabel.charAt(0) === '+') - { - currLabel = currLabel.substring(1); - selectedTab = i; - } - - var currW = mxUtils.getSizeForString(currLabel, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currW === 0) - { - labelWidths[i] = 42; - } - else - { - labelWidths[i] = currW; - } - } - - var tabW = 2 * labelOffset + Math.max.apply(Math, labelWidths); - var minW = tabW + rSize; - w = Math.max(w, minW); - h = Math.max(h, 2 * startOffset + tabCount * tabH + (tabCount - 1) * tabOffset); - - c.translate(x, y); - - this.background(c, w, h, rSize, tabW); - c.setShadow(false); - this.backTabs(c, w, h, rSize, tabH, tabW, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab); - this.focusTab(c, w, h, rSize, tabH, tabW, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab); - this.tabText(c, w, h, rSize, tabH, tabW, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab, tabNames); -}; - -mxShapeMockupVerTabBar.prototype.background = function(c, w, h, rSize, tabW) -{ - c.begin(); - c.moveTo(tabW + rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, tabW, h - rSize); - c.lineTo(tabW, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, tabW + rSize, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupVerTabBar.prototype.backTabs = function(c, w, h, rSize, tabH, tabW, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab) -{ - var tabStyle = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.TAB_STYLE, mxShapeMockupVerTabBar.prototype.cst.BLOCK); - - var currH = startOffset; - - for (var i=0; i < tabCount; i++) - { - if (selectedTab !== i) - { - if (tabStyle === mxShapeMockupVerTabBar.prototype.cst.BLOCK) - { - c.rect(0, currH, tabW, tabH); - } - else if (tabStyle === mxShapeMockupVerTabBar.prototype.cst.ROUND) - { - c.begin(); - c.moveTo(tabW, currH + tabH + rSize); - c.arcTo(rSize, rSize, 0, 0, 0, tabW - rSize, currH + tabH); - c.lineTo(rSize, currH + tabH); - c.arcTo(rSize, rSize, 0, 0, 1, 0, currH + tabH - rSize); - c.lineTo(0, currH + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, currH); - c.lineTo(tabW - rSize, currH); - c.arcTo(rSize, rSize, 0, 0, 0, tabW, currH - rSize); - } - - c.fillAndStroke(); - } - - currH = currH + tabH + tabOffset; - } -}; - -mxShapeMockupVerTabBar.prototype.focusTab = function(c, w, h, rSize, tabH, tabW, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab) -{ - var tabStyle = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.TAB_STYLE, mxShapeMockupVerTabBar.prototype.cst.BLOCK); - var selectedFill = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.STYLE_FILLCOLOR2, '#008cff'); - - if (selectedTab !== -1) - { - - var currH = startOffset + (tabH + tabOffset) * selectedTab; - c.setStrokeColor(selectedFill); - c.setFillColor(selectedFill); - - if (tabStyle === mxShapeMockupVerTabBar.prototype.cst.BLOCK) - { - c.begin(); - c.moveTo(tabW + rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, tabW, h - rSize); - c.lineTo(tabW, currH + tabH); - c.lineTo(0, currH + tabH); - c.lineTo(0, currH); - c.lineTo(tabW, currH); - c.lineTo(tabW, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, tabW + rSize, 0); - c.close(); - } - else if (tabStyle === mxShapeMockupVerTabBar.prototype.cst.ROUND) - { - c.begin(); - c.moveTo(tabW + rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, tabW, h - rSize); - c.lineTo(tabW, currH + tabH + rSize); - c.arcTo(rSize, rSize, 0, 0, 0, tabW - rSize, currH + tabH); - c.lineTo(rSize, currH + tabH); - c.arcTo(rSize, rSize, 0, 0, 1, 0, currH + tabH - rSize); - c.lineTo(0, currH + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, currH); - c.lineTo(tabW - rSize, currH); - c.arcTo(rSize, rSize, 0, 0, 0, tabW, currH - rSize); - c.lineTo(tabW, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, tabW + rSize, 0); - c.close(); - } - - c.fillAndStroke(); - } - -}; - -mxShapeMockupVerTabBar.prototype.tabText = function(c, w, h, rSize, tabH, tabW, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab, tabNames) -{ - var fontColor = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.TEXT_COLOR, '#666666'); - var selFontColor = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.SEL_TEXT_COLOR, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupVerTabBar.prototype.cst.TEXT_SIZE, '17').toString(); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - var currH = startOffset; - - for (var i=0; i < tabCount; i++) - { - var currLabel = tabNames[i]; - - if (i === selectedTab) - { - c.setFontColor(selFontColor); - } - - if (currLabel.charAt(0) === '+') - { - currLabel = currLabel.substring(1); - } - - c.text(tabW * 0.5, currH + tabH * 0.5, 0, 0, currLabel, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - currH = currH + tabH + tabOffset; - - if (i === selectedTab) - { - c.setFontColor(fontColor); - } - } - -}; - -mxCellRenderer.registerShape(mxShapeMockupVerTabBar.prototype.cst.SHAPE_VER_TAB_BAR, mxShapeMockupVerTabBar); - -//********************************************************************************************************************************************************** -//Alert Box (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupAlertBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupAlertBox, mxShape); - -mxShapeMockupAlertBox.prototype.cst = { - MAIN_TEXT : 'mainText', - SUB_TEXT : 'subText', - BUTTON_TEXT : 'buttonText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - SHAPE_ALERT_BOX : 'mxgraph.mockup.containers.alertBox' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupAlertBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var closeColor = mxUtils.getValue(this.style, mxShapeMockupAlertBox.prototype.cst.STROKE_COLOR2, '#008cff'); - var insideColor = mxUtils.getValue(this.style, mxShapeMockupAlertBox.prototype.cst.STROKE_COLOR3, '#c4c4c4'); - c.translate(x, y); - - h = Math.max(h, 75); - w = Math.max(w, 90); - - this.background(c, x, y, w, h, bgColor, frameColor); - c.setShadow(false); - this.foreground(c, x, y, w, h, frameColor, insideColor, closeColor); -}; - -mxShapeMockupAlertBox.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.setFillColor(bgColor); - c.setStrokeColor(frameColor); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupAlertBox.prototype.foreground = function(c, x, y, w, h, frameColor, insideColor, closeColor) -{ - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - - c.setStrokeColor(closeColor); - c.ellipse(w - 25, 5, 20, 20); - c.stroke(); - - c.setStrokeColor(insideColor); - c.begin(); - c.moveTo(0, 30); - c.lineTo(w, 30); - c.stroke(); - - //buttons - var windowTitle = mxUtils.getValue(this.style, mxShapeMockupAlertBox.prototype.cst.MAIN_TEXT, 'Window Title').toString(); - var subText = mxUtils.getValue(this.style, mxShapeMockupAlertBox.prototype.cst.SUB_TEXT, 'Sub Text').toString().split(','); - var buttonText = mxUtils.getValue(this.style, mxShapeMockupAlertBox.prototype.cst.BUTTON_TEXT, 'OK,Cancel').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupAlertBox.prototype.cst.TEXT_COLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupAlertBox.prototype.cst.TEXT_SIZE, '17').toString(); - - var buttonCount = buttonText.length; - var buttonOffset = 10; - var buttonW = (w - buttonOffset * (buttonCount + 1)) / buttonCount; - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - c.text(10, 15, 0, 0, windowTitle, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var currW = buttonOffset; - - for (var i = 0; i < buttonText.length; i++) - { - if (buttonText[i] !== '') - { - c.rect(currW, h - 10 - fontSize * 1.5, buttonW, fontSize * 1.5); - c.stroke(); - c.text(currW + buttonW * 0.5, h - 10 - fontSize * 0.75, 0, 0, buttonText[i], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currW = currW + buttonW + buttonOffset; - } - - - for (var i = 0; i < subText.length; i++) - { - c.text(w * 0.5, 30 + fontSize * (i * 1.5 + 0.75), 0, 0, subText[i], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupAlertBox.prototype.cst.SHAPE_ALERT_BOX, mxShapeMockupAlertBox); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupContainersRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupContainersRRect, mxShape); - -mxShapeMockupContainersRRect.prototype.cst = { - RRECT : 'mxgraph.mockup.containers.rrect', - R_SIZE : 'rSize' -}; - -mxShapeMockupContainersRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupContainersRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupContainersRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupContainersRRect.prototype.cst.RRECT, mxShapeMockupContainersRRect); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupContainersAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupContainersAnchor, mxShape); - -mxShapeMockupContainersAnchor.prototype.cst = { - ANCHOR : 'mxgraph.mockup.containers.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupContainersAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeMockupContainersAnchor.prototype.cst.ANCHOR, mxShapeMockupContainersAnchor); - -//********************************************************************************************************************************************************** -//Top Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupContrainersTopButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupContrainersTopButton, mxShape); - -mxShapeMockupContrainersTopButton.prototype.cst = { - TOP_BUTTON : 'mxgraph.mockup.containers.topButton', - R_SIZE : 'rSize' -}; - -mxShapeMockupContrainersTopButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupContrainersTopButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupContrainersTopButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupContrainersTopButton.prototype.cst.TOP_BUTTON, mxShapeMockupContrainersTopButton); - -//********************************************************************************************************************************************************** -//Left Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupContainersLeftButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupContainersLeftButton, mxShape); - -mxShapeMockupContainersLeftButton.prototype.cst = { - LEFT_BUTTON : 'mxgraph.mockup.containers.leftButton', - R_SIZE : 'rSize' -}; - -mxShapeMockupContainersLeftButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupContainersLeftButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupContainersLeftButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupContainersLeftButton.prototype.cst.LEFT_BUTTON, mxShapeMockupContainersLeftButton); - -//********************************************************************************************************************************************************** -//rect with margins -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupContainersMarginRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupContainersMarginRect, mxShape); - -mxShapeMockupContainersMarginRect.prototype.cst = { - SHAPE_MARGIN_RECT : 'mxgraph.mockup.containers.marginRect', - MARGIN : 'rectMargin', - MARGIN_TOP : 'rectMarginTop', - MARGIN_LEFT : 'rectMarginLeft', - MARGIN_BOTTOM : 'rectMarginBottom', - MARGIN_RIGHT : 'rectMarginRight' -}; - -mxShapeMockupContainersMarginRect.prototype.customProperties = [ - {name: 'rectMargin', dispName: 'Global Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginTop', dispName: 'Top Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginLeft', dispName: 'Left Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginBottom', dispName: 'Bottom Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginRight', dispName: 'Right Margin', type: 'float', min:0, defVal:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupContainersMarginRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeMockupContainersMarginRect.prototype.background = function(c, x, y, w, h, state) -{ - var margin = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect.prototype.cst.MARGIN, '0')); - var marginTop = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect.prototype.cst.MARGIN_TOP, '0')); - var marginLeft = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect.prototype.cst.MARGIN_LEFT, '0')); - var marginBottom = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect.prototype.cst.MARGIN_BOTTOM, '0')); - var marginRight = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect.prototype.cst.MARGIN_RIGHT, '0')); - - var x1 = margin + marginLeft; - var y1 = margin + marginTop; - var w1 = w - marginRight - x1 - margin; - var h1 = h - marginBottom - y1 - margin; - - if (w1 >0 && h1 > 0) - { - c.begin(); - c.roundrect(x1, y1, w1, h1, 10, 10); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupContainersMarginRect.prototype.cst.SHAPE_MARGIN_RECT, mxShapeMockupContainersMarginRect); - -//********************************************************************************************************************************************************** -//rect with margins (not rounded) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupContainersMarginRect2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupContainersMarginRect2, mxShape); - -mxShapeMockupContainersMarginRect2.prototype.cst = { - SHAPE_MARGIN_RECT : 'mxgraph.mockup.containers.marginRect2', - MARGIN : 'rectMargin', - MARGIN_TOP : 'rectMarginTop', - MARGIN_LEFT : 'rectMarginLeft', - MARGIN_BOTTOM : 'rectMarginBottom', - MARGIN_RIGHT : 'rectMarginRight' -}; - -mxShapeMockupContainersMarginRect2.prototype.customProperties = [ - {name: 'rectMargin', dispName: 'Global Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginTop', dispName: 'Top Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginLeft', dispName: 'Left Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginBottom', dispName: 'Bottom Margin', type: 'float', min:0, defVal:0}, - {name: 'rectMarginRight', dispName: 'Right Margin', type: 'float', min:0, defVal:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupContainersMarginRect2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeMockupContainersMarginRect2.prototype.background = function(c, x, y, w, h, state) -{ - var margin = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN, '0')); - var marginTop = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_TOP, '0')); - var marginLeft = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_LEFT, '0')); - var marginBottom = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_BOTTOM, '0')); - var marginRight = parseFloat(mxUtils.getValue(this.style, mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_RIGHT, '0')); - - var x1 = margin + marginLeft; - var y1 = margin + marginTop; - var w1 = w - marginRight - x1 - margin; - var h1 = h - marginBottom - y1 - margin; - - if (w1 >0 && h1 > 0) - { - c.begin(); - c.rect(x1, y1, w1, h1); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupContainersMarginRect2.prototype.cst.SHAPE_MARGIN_RECT, mxShapeMockupContainersMarginRect2); - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupForms.js b/dist/libs/drawio/shapes/mockup/mxMockupForms.js deleted file mode 100644 index 48bda8f6..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupForms.js +++ /dev/null @@ -1,2503 +0,0 @@ -/** - * $Id: mxMockupForms.js,v 1.11 2013/05/24 05:21:33 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Checkbox Group (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupCheckboxGroup(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupCheckboxGroup, mxShape); - -mxShapeMockupCheckboxGroup.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - SELECTED : '+', // must be 1 char - SHAPE_CHECKBOX_GROUP : 'mxgraph.mockup.forms.checkboxGroup' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupCheckboxGroup.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fontColor = mxUtils.getValue(this.style, mxShapeMockupCheckboxGroup.prototype.cst.TEXT_COLOR, '#666666,#008cff').toString().split(','); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupCheckboxGroup.prototype.cst.TEXT_SIZE, '17').toString(); - var optionText = mxUtils.getValue(this.style, mxShapeMockupCheckboxGroup.prototype.cst.MAIN_TEXT, 'Option 1').toString().split(','); - var optionNum = optionText.length; - var buttonSize = 15; - var lineH = Math.max(fontSize * 1.5, buttonSize); - var maxTextWidth = 0; - var selected = -1; - var labelOffset = 2.5; - var minH = optionNum * lineH; - var trueH = Math.max(h, minH); - - //get min width and selected option - for (var i = 0; i < optionNum; i++) - { - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeMockupCheckboxGroup.prototype.cst.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - var currWidth = mxUtils.getSizeForString(currText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxTextWidth) - { - maxTextWidth = currWidth; - } - } - - var minW = 2 * labelOffset + maxTextWidth + 2 * buttonSize; - var trueW = Math.max(w, minW); - - //draw the background - c.rect(0, 0, trueW, trueH); - c.fillAndStroke(); - c.setShadow(false); - - c.setFontSize(fontSize); - - for (var i = 0; i < optionNum; i++) - { - var currHeight = (i * lineH + lineH * 0.5) * trueH / minH; - - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeMockupCheckboxGroup.prototype.cst.SELECTED) - { - c.setFontColor(fontColor[1]); - currText = optionText[i].substring(1); - selected = i; - } - else - { - c.setFontColor(fontColor[0]); - } - - c.text(buttonSize * 2 + labelOffset, currHeight, 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var iconX = buttonSize * 0.5; - var iconY = currHeight - buttonSize * 0.5; - c.setFillColor('#dddddd'); - c.setStrokeColor('#999999'); - - if (selected === i) - { - c.setGradient('#aaaaaa', '#666666', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - c.setStrokeColor('#333333'); - c.begin(); - c.moveTo(iconX + buttonSize * 0.25, iconY + buttonSize * 0.5); - c.lineTo(iconX + buttonSize * 0.5, iconY + buttonSize * 0.75); - c.lineTo(iconX + buttonSize * 0.75, iconY + buttonSize * 0.25); - c.stroke(); - } - else - { - c.setGradient('#eeeeee', '#cccccc', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - } - - selected = -1; - } -}; - -mxCellRenderer.registerShape(mxShapeMockupCheckboxGroup.prototype.cst.SHAPE_CHECKBOX_GROUP, mxShapeMockupCheckboxGroup); - -//********************************************************************************************************************************************************** -//Radio Button Group -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupRadioGroup(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupRadioGroup, mxShape); - -mxShapeMockupRadioGroup.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - SELECTED : '+', // must be 1 char - SHAPE_RADIO_GROUP : 'mxgraph.mockup.forms.radioGroup' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupRadioGroup.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fontColor = mxUtils.getValue(this.style, mxShapeMockupRadioGroup.prototype.cst.TEXT_COLOR, '#666666,#008cff').toString().split(','); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupRadioGroup.prototype.cst.TEXT_SIZE, '17').toString(); - var optionText = mxUtils.getValue(this.style, mxShapeMockupRadioGroup.prototype.cst.MAIN_TEXT, 'Option 1').toString().split(','); - var optionNum = optionText.length; - var buttonSize = 15; - var lineH = Math.max(fontSize * 1.5, buttonSize); - var maxTextWidth = 0; - var selected = -1; - var labelOffset = 2.5; - var minH = optionNum * lineH; - var trueH = Math.max(h, minH); - - //get min width and selected option - for (var i = 0; i < optionNum; i++) - { - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeMockupRadioGroup.prototype.cst.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - var currWidth = mxUtils.getSizeForString(currText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxTextWidth) - { - maxTextWidth = currWidth; - } - } - - var minW = 2 * labelOffset + maxTextWidth + 2 * buttonSize; - var trueW = Math.max(w, minW); - - //draw the background - c.rect(0, 0, trueW, trueH); - c.fillAndStroke(); - c.setShadow(false); - - c.setFontSize(fontSize); - - for (var i = 0; i < optionNum; i++) - { - var currHeight = (i * lineH + lineH * 0.5) * trueH / minH; - - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeMockupRadioGroup.prototype.cst.SELECTED) - { - c.setFontColor(fontColor[1]); - currText = optionText[i].substring(1); - selected = i; - } - else - { - c.setFontColor(fontColor[0]); - } - - c.text(buttonSize * 2 + labelOffset, currHeight, 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var iconX = buttonSize * 0.5; - var iconY = currHeight - buttonSize * 0.5; - c.setStrokeColor('#999999'); - - if (selected === i) - { - c.setGradient('#aaaaaa', '#666666', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - c.setFillColor('#333333'); - c.setStrokeColor('#333333'); - c.ellipse(iconX + buttonSize * 0.25, iconY + buttonSize * 0.25, buttonSize * 0.5, buttonSize * 0.5); - c.fillAndStroke(); - } - else - { - c.setGradient('#eeeeee', '#cccccc', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - } - } -}; - -mxCellRenderer.registerShape(mxShapeMockupRadioGroup.prototype.cst.SHAPE_RADIO_GROUP, mxShapeMockupRadioGroup); - -//********************************************************************************************************************************************************** -//Color Picker -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupColorPicker(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupColorPicker, mxShape); - -mxShapeMockupColorPicker.prototype.cst = { - COLOR : 'chosenColor', - SHAPE_COLOR_PICKER : 'mxgraph.mockup.forms.colorPicker' -}; - -mxShapeMockupColorPicker.prototype.customProperties = [ - {name: 'chosenColor', dispName: 'Current Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupColorPicker.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var chosenColor = mxUtils.getValue(this.style, mxShapeMockupColorPicker.prototype.cst.COLOR, '#aaddff'); - - c.translate(x, y); - - c.setStrokeColor('#999999'); - c.roundrect(0, 0, w, h, w * 0.05, h * 0.05); - c.fillAndStroke(); - c.setShadow(false); - - c.setFillColor(chosenColor); - c.rect(w * 0.1, h * 0.1, w * 0.8, h * 0.8); - c.fill(); - - c.setFillColor('#ffffff'); - c.begin(); - c.moveTo(w * 0.75, h * 0.75); - c.lineTo(w * 0.75, h); - c.lineTo(w * 0.95, h); - c.arcTo(w * 0.05, h * 0.05, 0, 0, 0, w, h * 0.95); - c.lineTo(w, h * 0.75); - c.close(); - c.fill(); - - c.setFillColor('#999999'); - c.begin(); - c.moveTo(w * 0.77, h * 0.77); - c.lineTo(w * 0.875, h * 0.98); - c.lineTo(w * 0.98, h * 0.77); - c.close(); - c.fill(); - - c.roundrect(0, 0, w, h, w * 0.05, h * 0.05); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupColorPicker.prototype.cst.SHAPE_COLOR_PICKER, mxShapeMockupColorPicker); - -//********************************************************************************************************************************************************** -//Combo box -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupComboBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupComboBox, mxShape); - -mxShapeMockupComboBox.prototype.cst = { - MAIN_TEXT : 'mainText', - FILL_COLOR2 : 'fillColor2', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_COMBO_BOX : 'mxgraph.mockup.forms.comboBox' -}; - -mxShapeMockupComboBox.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupComboBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); - this.mainText(c, x, y, w, h); -}; - -mxShapeMockupComboBox.prototype.background = function(c, x, y, w, h) -{ - c.setFillColor('#ffffff'); - c.roundrect(0, 0, w, h, 5, 5); - c.fillAndStroke(); -}; - -mxShapeMockupComboBox.prototype.foreground = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupComboBox.prototype.cst.FILL_COLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, w - 30, 0, 30, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(w - 30, 0); - c.lineTo(w - 5, 0); - c.arcTo(5, 5, 0, 0, 1, w, 5); - c.lineTo(w, h - 5); - c.arcTo(5, 5, 0, 0, 1, w - 5, h); - c.lineTo(w - 30, h); - c.close(); - c.fillAndStroke(); - - c.setFillColor('#ffffff'); - c.begin(); - c.moveTo(w - 22, h * 0.5 - 5); - c.lineTo(w - 15, h * 0.5 + 5); - c.lineTo(w - 8, h * 0.5 - 5); - c.fill(); -}; - -mxShapeMockupComboBox.prototype.mainText = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupComboBox.prototype.cst.MAIN_TEXT, 'Main Text'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupComboBox.prototype.cst.TEXT_COLOR, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupComboBox.prototype.cst.TEXT_SIZE, '17').toString(); - - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupComboBox.prototype.cst.SHAPE_COMBO_BOX, mxShapeMockupComboBox); - -//********************************************************************************************************************************************************** -//Spinner -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupSpinner(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupSpinner, mxShape); - -mxShapeMockupSpinner.prototype.cst = { - LAYOUT : 'spinLayout', - SPINNER_STYLE : 'spinStyle', - ADJ_STYLE : 'adjStyle', - LAYOUT_RIGHT : 'right', - LAYOUT_LEFT : 'left', - LAYOUT_TOP : 'top', - LAYOUT_BOTTOM : 'bottom', - LAYOUT_VERTICAL : 'vertical', - LAYOUT_HORIZONTAL : 'horizontal', - SPINNER_MERGED : 'merged', - SPINNER_NORMAL : 'normal', - ADJ_TRIANGLE : 'triangle', - ADJ_PLUSMINUS : 'plusMinus', - ADJ_ARROW : 'arrow', - - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_SPINNER : 'mxgraph.mockup.forms.spinner' -}; - -mxShapeMockupSpinner.prototype.customProperties = [ - {name: 'spinLayout', dispName: 'Layout', type: 'enum', - enumList: [{val: 'right', dispName: 'Right'}, {val: 'left', dispName: 'Left'}, {val: 'top', dispName: 'Top'}, {val: 'bottom', dispName: 'Bottom'}, {val: 'vertical', dispName: 'Vertical'}, {val: 'horizontal', dispName: 'Horizontal'}] - }, - {name: 'spinStyle', dispName: 'Spinner Style', type: 'enum', - enumList: [{val: 'merged', dispName: 'Merged'}, {val: 'normal', dispName: 'Normal'}] - }, - {name: 'adjStyle', dispName: 'Button Style', type: 'enum', - enumList: [{val: 'triangle', dispName: 'Triangle'}, {val: 'plusMinus', dispName: '+/-'}, {val: 'arrow', dispName: 'Arrow'}] - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupSpinner.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var spinnerLayout = mxUtils.getValue(this.style, mxShapeMockupSpinner.prototype.cst.LAYOUT, mxShapeMockupSpinner.prototype.cst.LAYOUT_RIGHT); - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h, spinnerLayout); - this.mainText(c, w, h, spinnerLayout); -}; - -mxShapeMockupSpinner.prototype.background = function(c, w, h) -{ - c.setFillColor('#ffffff'); - c.roundrect(0, 0, w, h, 10, 10); - c.fillAndStroke(); -}; - -mxShapeMockupSpinner.prototype.foreground = function(c, w, h, spinnerLayout) -{ - - var spinnerStyle = mxUtils.getValue(this.style, mxShapeMockupSpinner.prototype.cst.SPINNER_STYLE, mxShapeMockupSpinner.prototype.cst.SPINNER_NORMAL); - var adjStyle = mxUtils.getValue(this.style, mxShapeMockupSpinner.prototype.cst.ADJ_STYLE, mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - - c.setFillColor(fillColor); - - if (spinnerStyle === mxShapeMockupSpinner.prototype.cst.SPINNER_NORMAL) - { - if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_RIGHT) - { - c.begin(); - c.moveTo(w - 20, 0); - c.lineTo(w - 20, h); - c.moveTo(w - 20, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_LEFT) - { - c.begin(); - c.moveTo(20, 0); - c.lineTo(20, h); - c.moveTo(20, h * 0.5); - c.lineTo(0, h * 0.5); - c.stroke(); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_TOP) - { - c.begin(); - c.moveTo(0, 15); - c.lineTo(w, 15); - c.moveTo(w * 0.5, 15); - c.lineTo(w * 0.5, 0); - c.stroke(); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_BOTTOM) - { - c.begin(); - c.moveTo(0, h - 15); - c.lineTo(w, h - 15); - c.moveTo(w * 0.5, h - 15); - c.lineTo(w * 0.5, h); - c.stroke(); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_VERTICAL) - { - c.begin(); - c.moveTo(0, 15); - c.lineTo(w, 15); - c.moveTo(0, h - 15); - c.lineTo(w, h - 15); - c.stroke(); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_HORIZONTAL) - { - c.begin(); - c.moveTo(20, 0); - c.lineTo(20, h); - c.moveTo(w - 20, 0); - c.lineTo(w - 20, h); - c.stroke(); - } - } - - c.setStrokeColor(fillColor); - - if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_RIGHT) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w - 14, h * 0.25 + 4.5); - c.lineTo(w - 10, h * 0.25 - 2.5); - c.lineTo(w - 6, h * 0.25 + 4.5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w - 10, h * 0.25 - 4); - c.lineTo(w - 10, h * 0.25 + 4); - c.moveTo(w - 14, h * 0.25); - c.lineTo(w - 6, h * 0.25); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w - 14, h * 0.25 + 1.5); - c.lineTo(w - 10, h * 0.25 - 2.5); - c.lineTo(w - 6, h * 0.25 + 1.5); - c.close(); - c.moveTo(w - 10, h * 0.25 + 4.5); - c.lineTo(w - 10, h * 0.25 - 2.5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_LEFT) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(14, h * 0.25 + 4.5); - c.lineTo(10, h * 0.25 - 2.5); - c.lineTo(6, h * 0.25 + 4.5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(10, h * 0.25 - 4); - c.lineTo(10, h * 0.25 + 4); - c.moveTo(14, h * 0.25); - c.lineTo(6, h * 0.25); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(14, h * 0.25 + 1.5); - c.lineTo(10, h * 0.25 - 2.5); - c.lineTo(6, h * 0.25 + 1.5); - c.close(); - c.moveTo(10, h * 0.25 + 4.5); - c.lineTo(10, h * 0.25 - 2.5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_TOP) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w * 0.75 + 4, 12); - c.lineTo(w * 0.75, 5); - c.lineTo(w * 0.75 - 4, 12); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w * 0.75, 3.5); - c.lineTo(w * 0.75, 11.5); - c.moveTo(w * 0.75 + 4, 7.5); - c.lineTo(w * 0.75 - 4, 7.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w * 0.75 + 4, 9); - c.lineTo(w * 0.75, 5); - c.lineTo(w * 0.75 - 4, 9); - c.close(); - c.moveTo(w * 0.75, 12); - c.lineTo(w * 0.75, 5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_BOTTOM) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w * 0.75 + 4, h - 5); - c.lineTo(w * 0.75, h - 12); - c.lineTo(w * 0.75 - 4, h - 5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w * 0.75, h - 3.5); - c.lineTo(w * 0.75, h - 11.5); - c.moveTo(w * 0.75 + 4, h - 7.5); - c.lineTo(w * 0.75 - 4, h - 7.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w * 0.75 + 4, h - 6); - c.lineTo(w * 0.75, h - 10); - c.lineTo(w * 0.75 - 4, h - 6); - c.close(); - c.moveTo(w * 0.75, h - 3); - c.lineTo(w * 0.75, h - 10); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_VERTICAL) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w * 0.5 + 4, 12); - c.lineTo(w * 0.5, 5); - c.lineTo(w * 0.5 - 4, 12); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w * 0.5, 3.5); - c.lineTo(w * 0.5, 11.5); - c.moveTo(w * 0.5 + 4, 7.5); - c.lineTo(w * 0.5 - 4, 7.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w * 0.5 + 4, 9); - c.lineTo(w * 0.5, 5); - c.lineTo(w * 0.5 - 4, 9); - c.close(); - c.moveTo(w * 0.5, 12); - c.lineTo(w * 0.5, 5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_HORIZONTAL) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w - 6, h * 0.5 + 4.5); - c.lineTo(w - 10, h * 0.5 - 2.5); - c.lineTo(w - 14, h * 0.5 + 4.5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w - 10, h * 0.5 - 4); - c.lineTo(w - 10, h * 0.5 + 4); - c.moveTo(w - 14, h * 0.5); - c.lineTo(w - 6, h * 0.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w - 14, h * 0.5 + 1.5); - c.lineTo(w - 10, h * 0.5 - 2.5); - c.lineTo(w - 6, h * 0.5 + 1.5); - c.close(); - c.moveTo(w - 10, h * 0.5 + 4.5); - c.lineTo(w - 10, h * 0.5 - 2.5); - c.fillAndStroke(); - } - } - - if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_RIGHT) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w - 14, h * 0.75 - 4.5); - c.lineTo(w - 10, h * 0.75 + 2.5); - c.lineTo(w - 6, h * 0.75 - 4.5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w - 14, h * 0.75); - c.lineTo(w - 6, h * 0.75); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w - 14, h * 0.75 - 1.5); - c.lineTo(w - 10, h * 0.75 + 2.5); - c.lineTo(w - 6, h * 0.75 - 1.5); - c.close(); - c.moveTo(w - 10, h * 0.75 - 4.5); - c.lineTo(w - 10, h * 0.75 + 2.5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_LEFT) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(14, h * 0.75 - 4.5); - c.lineTo(10, h * 0.75 + 2.5); - c.lineTo(6, h * 0.75 - 4.5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(14, h * 0.75); - c.lineTo(6, h * 0.75); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(14, h * 0.75 - 1.5); - c.lineTo(10, h * 0.75 + 2.5); - c.lineTo(6, h * 0.75 - 1.5); - c.close(); - c.moveTo(10, h * 0.75 - 4.5); - c.lineTo(10, h * 0.75 + 2.5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_TOP) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w * 0.25 + 4, 5); - c.lineTo(w * 0.25, 12); - c.lineTo(w * 0.25 - 4, 5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w * 0.25 + 4, 7.5); - c.lineTo(w * 0.25 - 4, 7.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w * 0.25 + 4, 6); - c.lineTo(w * 0.25, 10); - c.lineTo(w * 0.25 - 4, 6); - c.close(); - c.moveTo(w * 0.25, 3); - c.lineTo(w * 0.25, 10); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_BOTTOM) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w * 0.25 + 4, h - 12); - c.lineTo(w * 0.25, h - 5); - c.lineTo(w * 0.25 - 4, h - 12); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w * 0.25 + 4, h - 7.5); - c.lineTo(w * 0.25 - 4, h - 7.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w * 0.25 + 4, h - 9); - c.lineTo(w * 0.25, h - 5); - c.lineTo(w * 0.25 - 4, h - 9); - c.close(); - c.moveTo(w * 0.25, h - 12); - c.lineTo(w * 0.25, h - 5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_VERTICAL) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(w * 0.5 + 4, h - 12); - c.lineTo(w * 0.5, h - 5); - c.lineTo(w * 0.5 - 4, h - 12); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(w * 0.5 + 4, h - 7.5); - c.lineTo(w * 0.5 - 4, h - 7.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(w * 0.5 + 4, h - 9); - c.lineTo(w * 0.5, h - 5); - c.lineTo(w * 0.5 - 4, h - 9); - c.close(); - c.moveTo(w * 0.5, h - 12); - c.lineTo(w * 0.5, h - 5); - c.fillAndStroke(); - } - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_HORIZONTAL) - { - if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_TRIANGLE) - { - c.begin(); - c.moveTo(6, h * 0.5 - 4.5); - c.lineTo(10, h * 0.5 + 2.5); - c.lineTo(14, h * 0.5 - 4.5); - c.close(); - c.fillAndStroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_PLUSMINUS) - { - c.begin(); - c.moveTo(14, h * 0.5); - c.lineTo(6, h * 0.5); - c.stroke(); - } - else if(adjStyle === mxShapeMockupSpinner.prototype.cst.ADJ_ARROW) - { - c.begin(); - c.moveTo(14, h * 0.5 - 1.5); - c.lineTo(10, h * 0.5 + 2.5); - c.lineTo(6, h * 0.5 - 1.5); - c.close(); - c.moveTo(10, h * 0.5 - 4.5); - c.lineTo(10, h * 0.5 + 2.5); - c.fillAndStroke(); - } - } -}; - -mxShapeMockupSpinner.prototype.mainText = function(c, w, h, spinnerLayout) -{ - var spinnerText = mxUtils.getValue(this.style, mxShapeMockupSpinner.prototype.cst.MAIN_TEXT, '100').toString(); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupSpinner.prototype.cst.TEXT_SIZE, '17'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupSpinner.prototype.cst.TEXT_COLOR, '#666666'); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - - if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_RIGHT) - { - c.text((w - 20) * 0.5, h * 0.5, 0, 0, spinnerText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_LEFT) - { - c.text((w + 20) * 0.5, h * 0.5, 0, 0, spinnerText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_TOP) - { - c.text(w * 0.5, (h + 15) * 0.5, 0, 0, spinnerText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_BOTTOM) - { - c.text(w * 0.5, (h - 15) * 0.5, 0, 0, spinnerText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_VERTICAL) - { - c.text(w * 0.5, h * 0.5, 0, 0, spinnerText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (spinnerLayout === mxShapeMockupSpinner.prototype.cst.LAYOUT_HORIZONTAL) - { - c.text(w * 0.5, h * 0.5, 0, 0, spinnerText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupSpinner.prototype.cst.SHAPE_SPINNER, mxShapeMockupSpinner); - -//********************************************************************************************************************************************************** -//Menu Bar (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupMenuBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupMenuBar, mxShape); - -mxShapeMockupMenuBar.prototype.cst = { - MAIN_TEXT : 'mainText', - SHAPE_MENU_BAR : 'mxgraph.mockup.forms.menuBar', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2', - SELECTED : '+', //must be 1 char - TEXT_SIZE : 'textSize' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupMenuBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeMockupMenuBar.prototype.cst.MAIN_TEXT, '+Menu 1, Menu 2, Menu 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupMenuBar.prototype.cst.TEXT_COLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxShapeMockupMenuBar.prototype.cst.TEXT_COLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupMenuBar.prototype.cst.TEXT_SIZE, '17').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var separatorColor = mxUtils.getValue(this.style, mxShapeMockupMenuBar.prototype.cst.STROKE_COLOR2, '#c4c4c4'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var selectedFillColor = mxUtils.getValue(this.style, mxShapeMockupMenuBar.prototype.cst.FILL_COLOR2, '#008cff'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var selectedButton = -1; - var rSize = 10; //rounding size - var labelOffset = 5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxShapeMockupMenuBar.prototype.cst.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - buttonWidths[i] = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 20); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - this.background(c, trueW, trueH, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton); - c.setShadow(false); - - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeMockupMenuBar.prototype.background = function(c, w, h, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton) -{ - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(separatorColor); - c.begin(); - - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth = currWidth * w / minW; - c.moveTo(currWidth, 0); - c.lineTo(currWidth, h); - } - } - - c.stroke(); - - //draw the selected menu - if (selectedButton !== -1) - { - var buttonLeft = 0; - c.setFillColor(selectedFillColor); - - for (var i = 0; i < selectedButton; i++) - { - buttonLeft += buttonWidths[i] + 2 * labelOffset; - } - - buttonLeft = buttonLeft * w / minW; - var buttonRight = (buttonWidths[selectedButton] + 2 * labelOffset) * w / minW; - buttonRight += buttonLeft; - - c.rect(buttonLeft, 0, buttonRight - buttonLeft, h); - c.fill(); - } - - //draw the frame again, for a nicer effect - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.rect(0, 0, w, h); - c.stroke(); -}; - -mxShapeMockupMenuBar.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - if(textString.charAt(0) === mxShapeMockupMenuBar.prototype.cst.SELECTED) - { - textString = textString.substring(1); - } - - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, h * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupMenuBar.prototype.cst.SHAPE_MENU_BAR, mxShapeMockupMenuBar); - -//********************************************************************************************************************************************************** -//Horizontal Slider -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupHorSlider(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupHorSlider, mxShape); - -mxShapeMockupHorSlider.prototype.cst = { - STYLE : 'sliderStyle', - SLIDER_BASIC : 'basic', - SLIDER_FANCY : 'fancy', - SLIDER_POS : 'sliderPos', - HANDLE_TRIANGLE : 'triangle', - HANDLE_CIRCLE : 'circle', - HANDLE_HANDLE : 'handle', - HANDLE_STYLE : 'handleStyle', - FILL_COLOR2 : 'fillColor2', - SHAPE_HOR_SLIDER : 'mxgraph.mockup.forms.horSlider' -}; - -mxShapeMockupHorSlider.prototype.customProperties = [ - {name: 'sliderStyle', dispName: 'Slider Style', type: 'enum', - enumList: [{val: 'basic', dispName: 'Basic'}, {val: 'fancy', dispName: 'Fancy'}] - }, - {name: 'handleStyle', dispName: 'Handle Style', type: 'enum', - enumList: [{val: 'triangle', dispName: 'Triangle'}, {val: 'circle', dispName: 'Circle'}, {val: 'handle', dispName: 'Handle'}] - }, - {name: 'sliderPos', dispName: 'Handle Position', type: 'float'}, - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupHorSlider.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var sliderStyle = mxUtils.getValue(this.style, mxShapeMockupHorSlider.prototype.cst.STYLE, mxShapeMockupHorSlider.prototype.cst.SLIDER_BASIC); - var rSize = 5; - - c.translate(x, y); - this.background(c, w, h, rSize, sliderStyle); - c.setShadow(false); - this.foreground(c, w, h, rSize, sliderStyle); - this.sliderPos = 20; -}; - -mxShapeMockupHorSlider.prototype.background = function(c, w, h, rSize, sliderStyle) -{ - - if (sliderStyle === mxShapeMockupHorSlider.prototype.cst.SLIDER_BASIC) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (sliderStyle === mxShapeMockupHorSlider.prototype.cst.SLIDER_FANCY) - { - c.roundrect(0, h * 0.5 - rSize, w, 2 * rSize, rSize, rSize); - c.fillAndStroke(); - } -}; - -mxShapeMockupHorSlider.prototype.foreground = function(c, w, h, rSize, sliderStyle) -{ - var sliderPos = mxUtils.getValue(this.style, mxShapeMockupHorSlider.prototype.cst.SLIDER_POS, '20'); - var handleStyle = mxUtils.getValue(this.style, mxShapeMockupHorSlider.prototype.cst.HANDLE_STYLE, mxShapeMockupHorSlider.prototype.cst.HANDLE_CIRCLE); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupHorSlider.prototype.cst.FILL_COLOR2, '#ddeeff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - sliderPos = Math.min(100, sliderPos); - sliderPos = Math.max(0, sliderPos); - - if (sliderStyle === mxShapeMockupHorSlider.prototype.cst.SLIDER_BASIC) - { - c.setStrokeColor(fillColor2); - var barCenterPos = w * sliderPos / 100; - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(barCenterPos, h * 0.5); - c.stroke(); - c.setStrokeColor(strokeColor); - } - else if (sliderStyle === mxShapeMockupHorSlider.prototype.cst.SLIDER_FANCY) - { - var barCenterPos = 10 + (w - 10) * sliderPos / 100; - c.setFillColor(fillColor2); - c.roundrect(0, h * 0.5 - rSize, barCenterPos, 2 * rSize, rSize, rSize); - c.fillAndStroke(); - c.setFillColor(fillColor); - } - - var handleCenterPos = 5 + (w - 10) * sliderPos / 100; - - if (handleStyle === mxShapeMockupHorSlider.prototype.cst.HANDLE_CIRCLE) - { - c.ellipse(handleCenterPos - 10, h * 0.5 - 10, 20, 20); - c.fillAndStroke(); - } - else if (handleStyle === mxShapeMockupHorSlider.prototype.cst.HANDLE_TRIANGLE) - { - c.begin(); - c.moveTo(handleCenterPos - 10, h * 0.5 + 10); - c.lineTo(handleCenterPos, h * 0.5 - 10); - c.lineTo(handleCenterPos + 10, h * 0.5 + 10); - c.close(); - c.fillAndStroke(); - } - else if (handleStyle === mxShapeMockupHorSlider.prototype.cst.HANDLE_HANDLE) - { - c.begin(); - c.moveTo(handleCenterPos - 7, h * 0.5 + 10); - c.lineTo(handleCenterPos - 7, h * 0.5); - c.lineTo(handleCenterPos, h * 0.5 - 10); - c.lineTo(handleCenterPos + 7, h * 0.5); - c.lineTo(handleCenterPos + 7, h * 0.5 + 10); - c.close(); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupHorSlider.prototype.cst.SHAPE_HOR_SLIDER, mxShapeMockupHorSlider); - -Graph.handleFactory[mxShapeMockupHorSlider.prototype.cst.SHAPE_HOR_SLIDER] = function(state) -{ - var handles = [Graph.createHandle(state, ['sliderPos'], function(bounds) - { - var sliderPos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'sliderPos', this.sliderPos)))); - - return new mxPoint(bounds.x + ((bounds.width - 10) * sliderPos / bounds.width) / 100 * bounds.width + 5, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['sliderPos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//List Box (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupListBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupListBox, mxShape); - -mxShapeMockupListBox.prototype.cst = { - MAIN_TEXT : 'mainText', - SUB_TEXT : 'subText', - BUTTON_TEXT : 'buttonText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - SELECTED_COLOR : 'selectedColor', - SELECTED : '+', //must be 1 char - SHAPE_LIST_BOX : 'mxgraph.mockup.forms.listBox' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupListBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupListBox.prototype.cst.TEXT_SIZE, '17').toString(); - - var selectedButton = -1; - var maxShapeWidth = w; - var subText = mxUtils.getValue(this.style, mxShapeMockupListBox.prototype.cst.SUB_TEXT, 'Sub Text').toString().split(','); - - for (var i = 0; i < subText.length; i++) - { - var itemText = subText[i]; - - if(itemText.charAt(0) === mxShapeMockupListBox.prototype.cst.SELECTED) - { - itemText = subText[i].substring(1); - selectedButton = i; - } - - var currWidth = mxUtils.getSizeForString(itemText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxShapeWidth) - { - maxShapeWidth = currWidth; - } - } - - - - c.translate(x, y); - - w = Math.min(w, maxShapeWidth); - h = Math.max(h, 30 + subText.length * fontSize * 1.5); - - this.background(c, w, h, bgColor, frameColor); - c.setShadow(false); - this.foreground(c, w, h, frameColor, selectedButton, subText, fontSize); -}; - -mxShapeMockupListBox.prototype.background = function(c, w, h, bgColor, frameColor) -{ - c.setFillColor(bgColor); - c.setStrokeColor(frameColor); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupListBox.prototype.foreground = function(c, w, h, frameColor, selectedButton, subText, fontSize) -{ - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - var selectedColor = mxUtils.getValue(this.style, mxShapeMockupListBox.prototype.cst.SELECTED_COLOR, '#ddeeff'); - - if(selectedButton !== -1) - { - c.setFillColor(selectedColor); - c.rect(0, 30 + selectedButton * fontSize * 1.5, w, fontSize * 1.5); - c.fill(); - } - - c.begin(); - c.moveTo(0, 30); - c.lineTo(w, 30); - c.stroke(); - - //buttons - var windowTitle = mxUtils.getValue(this.style, mxShapeMockupListBox.prototype.cst.MAIN_TEXT, 'Window Title').toString(); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupListBox.prototype.cst.TEXT_COLOR, '#666666,#008cff').toString().split(','); - - c.setFontColor(fontColor[1]); - c.setFontSize(fontSize); - c.text(10, 15, 0, 0, windowTitle, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.setFontColor(fontColor[0]); - - for (var i = 0; i < subText.length; i++) - { - var currText = subText[i]; - - if(currText.charAt(0) === mxShapeMockupListBox.prototype.cst.SELECTED) - { - currText = subText[i].substring(1); - } - - c.text(10, 30 + fontSize * (i * 1.5 + 0.75), 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - c.rect(0, 0, w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupListBox.prototype.cst.SHAPE_LIST_BOX, mxShapeMockupListBox); - -//********************************************************************************************************************************************************** -//Password Field -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupPwField(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupPwField, mxShape); - -mxShapeMockupPwField.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_PW_FIELD : 'mxgraph.mockup.forms.pwField' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupPwField.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupPwField.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupPwField.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupPwField.prototype.cst.MAIN_TEXT, '******'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupPwField.prototype.cst.TEXT_COLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupPwField.prototype.cst.TEXT_SIZE, '17'); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - c.text(5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupPwField.prototype.cst.SHAPE_PW_FIELD, mxShapeMockupPwField); - -//********************************************************************************************************************************************************** -//Splitter -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupSplitter(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupSplitter, mxShape); - -mxShapeMockupSplitter.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_SPLITTER : 'mxgraph.mockup.forms.splitter' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupSplitter.prototype.paintVertexShape = function(c, x, y, w, h) -{ - w = Math.max(w, 35); - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupSplitter.prototype.background = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.5 - 5); - c.lineTo(w, h * 0.5 - 5); - c.lineTo(w, h * 0.5 + 5); - c.lineTo(0, h * 0.5 + 5); - c.close(); - c.fill(); -}; - -mxShapeMockupSplitter.prototype.foreground = function(c, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.begin(); - c.moveTo(0, h * 0.5 - 5); - c.lineTo(w, h * 0.5 - 5); - c.moveTo(w, h * 0.5 + 5); - c.lineTo(0, h * 0.5 + 5); - c.stroke(); - - c.setFillColor(strokeColor); - c.ellipse(w * 0.5 - 17, h * 0.5 - 2, 4, 4); - c.fill(); - c.ellipse(w * 0.5 - 2, h * 0.5 - 2, 4, 4); - c.fill(); - c.ellipse(w * 0.5 + 13, h * 0.5 - 2, 4, 4); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupSplitter.prototype.cst.SHAPE_SPLITTER, mxShapeMockupSplitter); - -//********************************************************************************************************************************************************** -//Wedge Bar (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupWedgeBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupWedgeBar, mxShape); - -mxShapeMockupWedgeBar.prototype.cst = { - BLOCK : 'block', - CONE : 'cone', - HALF_CONE : 'halfCone', - ROUND : 'round', - TEXT_SIZE : 'textSize', - TAB_NAMES : 'tabs', - TAB_STYLE : 'tabStyle', - STYLE_FILLCOLOR2 : 'fillColor2', - TEXT_COLOR : 'textColor', - SEL_TEXT_COLOR : 'textColor2', - SHAPE_WEDGE_BAR : 'mxgraph.mockup.forms.wedgeBar' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupWedgeBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontSize = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.TEXT_SIZE, '17').toString(); - var tabNames = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.TAB_NAMES, 'Tab 1,+Tab 2,Tab 3').toString().split(','); - - var tabH = fontSize * 1.5; - var startOffset = 10; - var tabOffset = 5; - var labelOffset = 10; - var tabCount = tabNames.length; - var minW = 2 * startOffset + (tabCount - 1) * tabOffset + tabCount * 2 * labelOffset; - var rSize = 5; - var labelWidths = new Array(); - var selectedTab = -1; - - for (var i = 0; i < tabCount; i++) - { - var currLabel = tabNames[i]; - - if(currLabel.charAt(0) === '+') - { - currLabel = currLabel.substring(1); - selectedTab = i; - } - - var currW = mxUtils.getSizeForString(currLabel, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currW === 0) - { - labelWidths[i] = 42; - } - else - { - labelWidths[i] = currW; - } - - minW = minW + labelWidths[i]; - } - - w = Math.max(w, minW); - h = Math.max(h, tabH + rSize); - - c.translate(x, y); - - c.setShadow(false); - this.backTabs(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab); - this.focusTab(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab); - this.tabText(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab, tabNames); -}; - -mxShapeMockupWedgeBar.prototype.backTabs = function(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab) -{ - var tabStyle = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.TAB_STYLE, mxShapeMockupWedgeBar.prototype.cst.BLOCK); - - var currW = startOffset; - for (var i=0; i < tabCount; i++) - { - var tabW = labelWidths[i] + 2 * labelOffset; - - if (selectedTab !== i) - { - if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.BLOCK) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW, 0); - c.lineTo(currW + tabW, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.CONE) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW - labelOffset * 0.5, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.HALF_CONE) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.ROUND) - { - c.begin(); - c.moveTo(currW - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 0, currW, tabH - rSize); - c.lineTo(currW, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, currW + rSize, 0); - c.lineTo(currW + tabW - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, currW + tabW, rSize); - c.lineTo(currW + tabW, tabH - rSize); - c.arcTo(rSize, rSize, 0, 0, 0, currW + tabW + rSize, tabH); - } - - c.fillAndStroke(); - } - - currW = currW + tabW + tabOffset; - } -}; - -mxShapeMockupWedgeBar.prototype.focusTab = function(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab) -{ - var tabStyle = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.TAB_STYLE, mxShapeMockupWedgeBar.prototype.cst.BLOCK); - var selectedFill = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.STYLE_FILLCOLOR2, '#008cff'); - - var currW = startOffset; - c.setStrokeColor(selectedFill); - c.setFillColor(selectedFill); - - for (var i=0; i <= selectedTab; i++) - { - var tabW = labelWidths[i] + 2 * labelOffset; - - if (selectedTab === i) - { - if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.BLOCK) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW, 0); - c.lineTo(currW + tabW, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.CONE) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW - labelOffset * 0.5, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.HALF_CONE) - { - c.begin(); - c.moveTo(currW, tabH); - c.lineTo(currW + labelOffset * 0.5, 0); - c.lineTo(currW + tabW, 0); - c.lineTo(currW + tabW, tabH); - } - else if (tabStyle === mxShapeMockupWedgeBar.prototype.cst.ROUND) - { - c.begin(); - c.moveTo(currW - rSize, tabH); - c.arcTo(rSize, rSize, 0, 0, 0, currW, tabH - rSize); - c.lineTo(currW, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, currW + rSize, 0); - c.lineTo(currW + tabW - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, currW + tabW, rSize); - c.lineTo(currW + tabW, tabH - rSize); - c.arcTo(rSize, rSize, 0, 0, 0, currW + tabW + rSize, tabH); - } - - c.fillAndStroke(); - } - - currW = currW + tabW + tabOffset; - } -}; - -mxShapeMockupWedgeBar.prototype.tabText = function(c, w, h, rSize, tabH, startOffset, tabOffset, labelOffset, tabCount, labelWidths, selectedTab, tabNames) -{ - var fontColor = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.TEXT_COLOR, '#666666'); - var selFontColor = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.SEL_TEXT_COLOR, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupWedgeBar.prototype.cst.TEXT_SIZE, '17').toString(); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - var currW = startOffset; - - for (var i=0; i < tabCount; i++) - { - var currLabel = tabNames[i]; - - if (i === selectedTab) - { - c.setFontColor(selFontColor); - } - - if (currLabel.charAt(0) === '+') - { - currLabel = currLabel.substring(1); - } - - var tabW = labelWidths[i] + 2 * labelOffset; - - c.text(currW + labelOffset, tabH * 0.5, 0, 0, currLabel, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - currW = currW + tabW + tabOffset; - - if (i === selectedTab) - { - c.setFontColor(fontColor); - } - } - -}; - -mxCellRenderer.registerShape(mxShapeMockupWedgeBar.prototype.cst.SHAPE_WEDGE_BAR, mxShapeMockupWedgeBar); - -//********************************************************************************************************************************************************** -//Search Box -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupSearchBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupSearchBox, mxShape); - -mxShapeMockupSearchBox.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - STROKE_COLOR2 : 'strokeColor2', - SHAPE_SEARCH_BOX : 'mxgraph.mockup.forms.searchBox' -}; - -mxShapeMockupSearchBox.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Icon Color', type: 'color'}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupSearchBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupSearchBox.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupSearchBox.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupSearchBox.prototype.cst.MAIN_TEXT, 'Search'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupSearchBox.prototype.cst.TEXT_COLOR, '#666666'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeMockupSearchBox.prototype.cst.STROKE_COLOR2, '#008cff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupSearchBox.prototype.cst.TEXT_SIZE, '17'); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - c.text(5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setStrokeColor(strokeColor2); - c.ellipse(w - 15, h * 0.5 - 8, 10, 10); - c.stroke(); - c.begin(); - c.moveTo(w - 19, h * 0.5 + 9); - c.lineTo(w - 13, h * 0.5 + 1); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupSearchBox.prototype.cst.SHAPE_SEARCH_BOX, mxShapeMockupSearchBox); - -//********************************************************************************************************************************************************** -//Sign In (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupSignIn(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupSignIn, mxShape); - -mxShapeMockupSignIn.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - TEXT_SIZE : 'textSize', - TEXT_SIZE2 : 'textSize2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2', - SHAPE_SIGN_IN : 'mxgraph.mockup.forms.signIn' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupSignIn.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupSignIn.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupSignIn.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupSignIn.prototype.cst.MAIN_TEXT, 'Sign In,User Name:,johndoe,Password:,********,Forgot Password?,New User,SIGN IN,SIGN UP').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupSignIn.prototype.cst.TEXT_COLOR, '#666666'); - var fontColor2 = mxUtils.getValue(this.style, mxShapeMockupSignIn.prototype.cst.TEXT_COLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupSignIn.prototype.cst.TEXT_SIZE, '12'); - var fontSize2 = mxUtils.getValue(this.style, mxShapeMockupSignIn.prototype.cst.TEXT_SIZE2, '15'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeMockupSignIn.prototype.cst.STROKE_COLOR2, '#ddeeff'); - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupSignIn.prototype.cst.FILL_COLOR2, '#66bbff'); - - c.setFillColor(fillColor2); - c.roundrect(w * 0.09, h * 0.52, w * 0.36, h * 0.09, 5, 5); - c.fill(); - - c.roundrect(w * 0.09, h * 0.84, w * 0.36, h * 0.09, 5, 5); - c.fill(); - - c.rect(w * 0.05, h * 0.22, w * 0.75, h * 0.08); - c.stroke(); - - c.rect(w * 0.05, h * 0.4, w * 0.75, h * 0.08); - c.stroke(); - - - c.setStrokeColor(strokeColor2); - c.setStrokeWidth(2); - - c.begin(); - c.moveTo(w * 0.05, h * 0.12); - c.lineTo(w * 0.95, h * 0.12); - c.moveTo(w * 0.05, h * 0.72); - c.lineTo(w * 0.95, h * 0.72); - c.stroke(); - - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - c.text(w * 0.05, h * 0.1, 0, 0, mainText[0], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_BOTTOM, 0, null, 0, 0, 0); - c.text(w * 0.05, h * 0.2, 0, 0, mainText[1], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_BOTTOM, 0, null, 0, 0, 0); - c.text(w * 0.075, h * 0.26, 0, 0, mainText[2], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.05, h * 0.38, 0, 0, mainText[3], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_BOTTOM, 0, null, 0, 0, 0); - c.text(w * 0.075, h * 0.44, 0, 0, mainText[4], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.05, h * 0.8, 0, 0, mainText[6], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setStrokeWidth(1); - c.setFontColor('#9999ff'); - c.setStrokeColor('#9999ff'); - var forgotW = mxUtils.getSizeForString(mainText[5], fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - c.text(w * 0.05, h * 0.7, 0, 0, mainText[5], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_BOTTOM, 0, null, 0, 0, 0); - - c.begin(); - c.moveTo(w * 0.05, h * 0.7); - c.lineTo(w * 0.05 + forgotW, h * 0.7); - c.stroke(); - - c.setFontColor(fontColor2); - c.setFontStyle(mxConstants.FONT_BOLD); - c.setFontSize(fontSize2); - c.text(w * 0.27, h * 0.565, 0, 0, mainText[7], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.27, h * 0.885, 0, 0, mainText[8], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupSignIn.prototype.cst.SHAPE_SIGN_IN, mxShapeMockupSignIn); - -//********************************************************************************************************************************************************** -//Calendar (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupCalendar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupCalendar, mxShape); - -mxShapeMockupCalendar.prototype.cst = { - SHAPE_CALENDAR : 'mxgraph.mockup.forms.calendar', - DAYS : 'days', - SELECTED_DAY : 'selDay', - PREV_DAYS : 'prevDays', - FIRST_DAY : 'firstDay', - START_ON : 'startOn', - DAY_NAMES : 'dayNames', - MAIN_TEXT : 'mainText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupCalendar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupCalendar.prototype.background = function(c, w, h) -{ - c.roundrect(0, 0, w, h, w * 0.0312, h * 0.0286); - c.fillAndStroke(); -}; - -mxShapeMockupCalendar.prototype.foreground = function(c, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.STROKE_COLOR2, '#008cff'); - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.FILL_COLOR2, '#ddeeff'); - var mainText = mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.MAIN_TEXT, ''); - var textSize = mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.TEXT_SIZE, '15'); - var textColor = mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.TEXT_COLOR, '#999999'); - var textColor2 = mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.TEXT_COLOR2, '#ffffff'); - var days = parseInt(mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.DAYS, '30'), 10); - var prevDays = parseInt(mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.PREV_DAYS, '31'), 10); - //month starts on Monday - var firstDay = parseInt(mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.FIRST_DAY, '0'), 10); - //week starts with Monday - var startOn = parseInt(mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.START_ON, '6', 10)); - var dayNames = mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.DAY_NAMES, 'Mo,Tu,We,Th,Fr,Sa,Su').toString().split(','); - var selDay = parseInt(mxUtils.getValue(this.style, mxShapeMockupCalendar.prototype.cst.SELECTED_DAY, '24'), 10); - - fistDay = Math.max(firstDay, 0); - startOn = Math.max(startOn, 0); - fistDay = Math.min(firstDay, 6); - startOn = Math.min(startOn, 6); - - //buttons - c.roundrect(w * 0.05, h * 0.0457, w * 0.1438, h * 0.1029, w * 0.025, h * 0.0229); - c.stroke(); - c.roundrect(w * 0.8125, h * 0.0457, w * 0.1438, h * 0.1029, w * 0.025, h * 0.0229); - c.stroke(); - - //button markers - c.setStrokeWidth(2); - c.setStrokeColor(strokeColor2); - c.begin(); - c.moveTo(w * 0.1438, h * 0.0743); - c.lineTo(w * 0.1, h * 0.0971); - c.lineTo(w * 0.1438, h * 0.12); - c.moveTo(w * 0.8625, h * 0.0743); - c.lineTo(w * 0.9062, h * 0.0971); - c.lineTo(w * 0.8625, h * 0.12); - c.stroke(); - - c.setFontSize(textSize); - c.setFontColor(textColor); - c.text(w * 0.5, h * 0.0971, 0, 0, mainText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - //write day names - var range = w * 0.875; - var cellSize = range / 7; - - for (var i = 0; i < 7; i++) - { - var currX = w * 0.0625 + cellSize * 0.5 + i * cellSize; - var j = i + startOn; - - if (j > 6) - { - j = j - 7; - } - - c.text(currX, h * 0.2114, 0, 0, dayNames[j], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - c.setStrokeWidth(1); - //1st day is on first weekday as default - var x = 0; - var selX = -1; - var selY = -1; - - //check if we need to write days from previous month - if (firstDay !== startOn) - { - c.setStrokeColor(strokeColor); - c.setFillColor(fillColor2); - - var diff = firstDay - startOn; - if (diff < 0) - { - diff = diff + 7; - } - - for (var i = 0; i < diff; i++) - { - var currX = w * 0.0625 + i * cellSize; - c.rect(currX, h * 0.2686, cellSize, h * 0.1143); - c.fillAndStroke(); - var tmp = prevDays - diff + i + 1; - - c.text(currX + cellSize * 0.5, h * 0.2686 + cellSize * 0.5, 0, 0, tmp.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - x = diff; - } - - //now we need to write the actual month days... - c.setFillColor(fillColor); - c.setStrokeColor(strokeColor); - //week begins in first row - var y = 0; - - for (var i = 0; i < days; i++) - { - var d = i + 1; - var currX = w * 0.0625 + x * cellSize; - var currY = h * 0.2686 + y * h * 0.1143; - - if (d === selDay) - { - selX = currX; - selY = currY; - } - else - { - c.rect(currX, currY, cellSize, h * 0.1143); - c.fillAndStroke(); - c.text(currX + cellSize * 0.5, currY + cellSize * 0.5, 0, 0, d.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - if (x < 6) - { - x++; - } - else - { - x = 0; - y++; - } - } - - var i = 1; - c.setFillColor(fillColor2); - - while (y < 6) - { - var currX = w * 0.0625 + x * cellSize; - var currY = h * 0.2686 + y * h * 0.1143; - c.rect(currX, currY, cellSize, h * 0.1143); - c.fillAndStroke(); - - c.text(currX + cellSize * 0.5, currY + cellSize * 0.5, 0, 0, i.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - if (x < 6) - { - x++; - } - else - { - x = 0; - y++; - } - - i++; - } - - if (selX >= 0) - { - c.setStrokeColor('#ff0000'); - c.setStrokeWidth(2); - c.setFillColor(strokeColor2); - c.setFontColor(textColor2); - - c.rect(selX, selY, cellSize, h * 0.1143); - c.fillAndStroke(); - c.text(selX + cellSize * 0.5, selY + cellSize * 0.5, 0, 0, selDay.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupCalendar.prototype.cst.SHAPE_CALENDAR, mxShapeMockupCalendar); - -//********************************************************************************************************************************************************** -//Email Form -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupEmailForm(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupEmailForm, mxShape); - -mxShapeMockupEmailForm.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - SHOW_CC : 'showCC', - SHOW_BCC : 'showBCC', - TEXT_SIZE : 'textSize', - SHAPE_EMAIL_FORM : 'mxgraph.mockup.forms.emailForm' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupEmailForm.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontSize = mxUtils.getValue(this.style, mxShapeMockupEmailForm.prototype.cst.TEXT_SIZE, '12'); - var showCC = mxUtils.getValue(this.style, mxShapeMockupEmailForm.prototype.cst.SHOW_CC, 'true'); - var showBCC = mxUtils.getValue(this.style, mxShapeMockupEmailForm.prototype.cst.SHOW_BCC, 'true'); - var tabX = fontSize * 4; - - var optCount = 0; - - if (showCC === 'true') - { - optCount++; - } - - if (showBCC === 'true') - { - optCount++; - } - - w = Math.max(w, fontSize * 5); - h = Math.max(h, fontSize * 10.5 + optCount * fontSize * 3); - - c.translate(x, y); - this.background(c, w, h, fontSize, tabX, showCC, showBCC); - c.setShadow(false); - this.foreground(c, w, h, fontSize, tabX, showCC, showBCC); -}; - -mxShapeMockupEmailForm.prototype.background = function(c, w, h, fontSize, tabX, showCC, showBCC) -{ - var messX = fontSize * 9; - - if (showCC === 'true') - { - messX = messX + fontSize * 3; - c.rect(tabX, fontSize * 9, w - tabX, fontSize * 1.5); - c.fillAndStroke(); - } - - if (showBCC === 'true') - { - c.rect(tabX, messX, w - tabX, fontSize * 1.5); - messX = messX + fontSize * 3; - c.fillAndStroke(); - } - - c.rect(tabX, 0, w - tabX, fontSize * 1.5); - c.fillAndStroke(); - c.rect(tabX, fontSize * 3, w - tabX, fontSize * 1.5); - c.fillAndStroke(); - c.rect(tabX, fontSize * 6, w - tabX, fontSize * 1.5); - c.fillAndStroke(); - c.rect(0, messX, w, h - messX); - c.fillAndStroke(); -}; - -mxShapeMockupEmailForm.prototype.foreground = function(c, w, h, fontSize, tabX, showCC, showBCC) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupEmailForm.prototype.cst.MAIN_TEXT, 'john@jgraph.com,Greeting,fred@jgraph.com,,,Lorem ipsum').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupEmailForm.prototype.cst.TEXT_COLOR, '#666666'); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - c.text(tabX - fontSize * 0.5, fontSize * 0.75, 0, 0, 'From', mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(tabX - fontSize * 0.5, fontSize * 3.75, 0, 0, 'Subject', mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(tabX - fontSize * 0.5, fontSize * 6.75, 0, 0, 'To', mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(tabX + fontSize * 0.5, fontSize * 0.75, 0, 0, mainText[0], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(tabX + fontSize * 0.5, fontSize * 3.75, 0, 0, mainText[1], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(tabX + fontSize * 0.5, fontSize * 6.75, 0, 0, mainText[2], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var messX = fontSize * 9; - - if (showCC === 'true') - { - messX = messX + fontSize * 3; - c.text(tabX - fontSize * 0.5, fontSize * 9.75, 0, 0, 'CC', mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(tabX + fontSize * 0.5, fontSize * 9.75, 0, 0, mainText[3], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - if (showBCC === 'true') - { - c.text(tabX - fontSize * 0.5, messX + fontSize * 0.75, 0, 0, 'BCC', mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(tabX + fontSize * 0.5, messX + fontSize * 0.75, 0, 0, mainText[4], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - messX = messX + fontSize * 3; - } - - c.text(fontSize * 0.5, messX + fontSize * 0.75, 0, 0, mainText[5], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupEmailForm.prototype.cst.SHAPE_EMAIL_FORM, mxShapeMockupEmailForm); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupFormsRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupFormsRRect, mxShape); - -mxShapeMockupFormsRRect.prototype.cst = { - RRECT : 'mxgraph.mockup.forms.rrect', - R_SIZE : 'rSize' -}; - -mxShapeMockupFormsRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupFormsRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupFormsRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupFormsRRect.prototype.cst.RRECT, mxShapeMockupFormsRRect); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupFormsAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupFormsAnchor, mxShape); - -mxShapeMockupFormsAnchor.prototype.cst = { - ANCHOR : 'mxgraph.mockup.forms.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupFormsAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeMockupFormsAnchor.prototype.cst.ANCHOR, mxShapeMockupFormsAnchor); - -//********************************************************************************************************************************************************** -//Checkbox -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupFormsCheckbox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupFormsCheckbox, mxShape); - -mxShapeMockupFormsCheckbox.prototype.cst = { - CHECKBOX : 'mxgraph.mockup.forms.checkbox' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupFormsCheckbox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, 0, w, h); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8, h * 0.2); - c.lineTo(w * 0.4, h * 0.8); - c.lineTo(w * 0.25, h * 0.6); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupFormsCheckbox.prototype.cst.CHECKBOX, mxShapeMockupFormsCheckbox); - -//********************************************************************************************************************************************************** -//U Rect -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupFormsURect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupFormsURect, mxShape); - -mxShapeMockupFormsURect.prototype.cst = { - U_RECT : 'mxgraph.mockup.forms.uRect' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupFormsURect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupFormsURect.prototype.cst.U_RECT, mxShapeMockupFormsURect); - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupGraphics.js b/dist/libs/drawio/shapes/mockup/mxMockupGraphics.js deleted file mode 100644 index 63d079ac..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupGraphics.js +++ /dev/null @@ -1,1235 +0,0 @@ -/** - * $Id: mxMockupGraphics.js,v 1.5 2013/05/22 12:28:49 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Bar Chart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupBarChart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupBarChart, mxShape); - -mxShapeMockupBarChart.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - FILL_COLOR2 : 'fillColor2', - FILL_COLOR3 : 'fillColor3', - SHAPE_BAR_CHART : 'mxgraph.mockup.graphics.barChart' -}; - -mxShapeMockupBarChart.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Stroke3 Color', type: 'color'}, - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, - {name: 'fillColor3', dispName: 'Fill3 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupBarChart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, x, y, w, h); - - var bgFill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, 'none'); - - if (bgFill !== 'none') - { - c.setShadow(false); - } - - this.bars(c, x, y, w, h); -}; - -mxShapeMockupBarChart.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupBarChart.prototype.bars = function(c, x, y, w, h) -{ - var barStroke = mxUtils.getValue(this.style, mxShapeMockupBarChart.prototype.cst.STROKE_COLOR2, 'none'); - var coordStroke = mxUtils.getValue(this.style, mxShapeMockupBarChart.prototype.cst.STROKE_COLOR3, '#666666'); - var barFill1 = mxUtils.getValue(this.style, mxShapeMockupBarChart.prototype.cst.FILL_COLOR2, '#008cff'); - var barFill2 = mxUtils.getValue(this.style, mxShapeMockupBarChart.prototype.cst.FILL_COLOR3, '#dddddd'); - - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - - c.setStrokeColor(barStroke); - c.setFillColor(barFill1); - c.rect(0, h * 0.2, w * 0.75, h * 0.05); - c.fillAndStroke(); - c.rect(0, h * 0.45, w * 0.6, h * 0.05); - c.fillAndStroke(); - c.rect(0, h * 0.7, w * 0.95, h * 0.05); - c.fillAndStroke(); - - c.setFillColor(barFill2); - c.rect(0, h * 0.25, w * 0.85, h * 0.05); - c.fillAndStroke(); - c.rect(0, h * 0.5, w * 0.65, h * 0.05); - c.fillAndStroke(); - c.rect(0, h * 0.75, w * 0.8, h * 0.05); - c.fillAndStroke(); - - c.setStrokeWidth(strokeWidth * 2); - c.setStrokeColor(coordStroke); - - c.setShadow(false); - c.begin(); - c.moveTo(0,0); - c.lineTo(0, h); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupBarChart.prototype.cst.SHAPE_BAR_CHART, mxShapeMockupBarChart); - -//********************************************************************************************************************************************************** -//Column Chart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupColumnChart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupColumnChart, mxShape); - -mxShapeMockupColumnChart.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - FILL_COLOR2 : 'fillColor2', - FILL_COLOR3 : 'fillColor3', - SHAPE_COLUMN_CHART : 'mxgraph.mockup.graphics.columnChart' -}; - -mxShapeMockupColumnChart.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Bar Stroke Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Coord System Color', type: 'color'}, - {name: 'fillColor2', dispName: 'Bar1 Color', type: 'color'}, - {name: 'fillColor3', dispName: 'Bar2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupColumnChart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, x, y, w, h); - - var bgFill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, 'none'); - - if (bgFill !== 'none') - { - c.setShadow(false); - } - - this.bars(c, x, y, w, h); -}; - -mxShapeMockupColumnChart.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupColumnChart.prototype.bars = function(c, x, y, w, h) -{ - var barStroke = mxUtils.getValue(this.style, mxShapeMockupColumnChart.prototype.cst.STROKE_COLOR2, 'none'); - var coordStroke = mxUtils.getValue(this.style, mxShapeMockupColumnChart.prototype.cst.STROKE_COLOR3, '#666666'); - var barFill1 = mxUtils.getValue(this.style, mxShapeMockupColumnChart.prototype.cst.FILL_COLOR2, '#008cff'); - var barFill2 = mxUtils.getValue(this.style, mxShapeMockupColumnChart.prototype.cst.FILL_COLOR3, '#dddddd'); - - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - - c.setStrokeColor(barStroke); - c.setFillColor(barFill1); - c.rect(w * 0.2, h * 0.25, w * 0.05, h * 0.75); - c.fillAndStroke(); - c.rect(w * 0.45, h * 0.4, w * 0.05, h * 0.6); - c.fillAndStroke(); - c.rect(w * 0.7, h * 0.05, w * 0.05, h * 0.95); - c.fillAndStroke(); - - c.setFillColor(barFill2); - c.rect(w * 0.25, h * 0.15, w * 0.05, h * 0.85); - c.fillAndStroke(); - c.rect(w * 0.5, h * 0.35, w * 0.05, h * 0.65); - c.fillAndStroke(); - c.rect(w * 0.75, h * 0.2, w * 0.05, h * 0.8); - c.fillAndStroke(); - - c.setStrokeWidth(strokeWidth * 2); - c.setStrokeColor(coordStroke); - - c.setShadow(false); - - c.begin(); - c.moveTo(0,0); - c.lineTo(0, h); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupColumnChart.prototype.cst.SHAPE_COLUMN_CHART, mxShapeMockupColumnChart); - -//********************************************************************************************************************************************************** -//Line Chart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupLineChart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupLineChart, mxShape); - -mxShapeMockupLineChart.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - STROKE_COLOR4 : 'strokeColor4', - SHAPE_LINE_CHART : 'mxgraph.mockup.graphics.lineChart' -}; - -mxShapeMockupLineChart.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Coord. System Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Line1 Color', type: 'color'}, - {name: 'strokeColor4', dispName: 'Line2 Color', type: 'color'}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupLineChart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, x, y, w, h); - - var bgFill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, 'none'); - - if (bgFill !== 'none') - { - c.setShadow(false); - } - - this.bars(c, x, y, w, h); -}; - -mxShapeMockupLineChart.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupLineChart.prototype.bars = function(c, x, y, w, h) -{ - var coordStroke = mxUtils.getValue(this.style, mxShapeMockupLineChart.prototype.cst.STROKE_COLOR2, '#666666'); - var line1Stroke = mxUtils.getValue(this.style, mxShapeMockupLineChart.prototype.cst.STROKE_COLOR3, '#008cff'); - var line2Stroke = mxUtils.getValue(this.style, mxShapeMockupLineChart.prototype.cst.STROKE_COLOR4, '#dddddd'); - - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - - c.setStrokeWidth(strokeWidth * 2); - c.setStrokeColor(line2Stroke); - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.3, h * 0.5); - c.lineTo(w * 0.6, h * 0.74); - c.lineTo(w * 0.9, h * 0.24); - c.stroke(); - - c.setStrokeColor(line1Stroke); - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.3, h * 0.65); - c.lineTo(w * 0.6, h * 0.6); - c.lineTo(w * 0.9, h * 0.35); - c.stroke(); - - c.setStrokeColor(coordStroke); - c.setShadow(false); - - c.begin(); - c.moveTo(0,0); - c.lineTo(0, h); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupLineChart.prototype.cst.SHAPE_LINE_CHART, mxShapeMockupLineChart); - -//********************************************************************************************************************************************************** -//Pie Chart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupPieChart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupPieChart, mxShape); - -mxShapeMockupPieChart.prototype.cst = { - PARTS : 'parts', - PART_COLORS : 'partColors', - SHAPE_PIE_CHART : 'mxgraph.mockup.graphics.pieChart' -}; - -mxShapeMockupPieChart.prototype.customProperties = [ - {name: 'partsCount', dispName: 'partsCount', type: 'int', defVal: 4, dependentProps: ['partColors', 'parts']}, - {name: 'partColors', dispName: 'Part Colors', type: 'staticArr', subType: 'color', sizeProperty: 'partsCount', subDefVal: '#FFFFFF'}, - {name: 'parts', dispName: 'Part Sizes', type: 'staticArr', subType: 'int', sizeProperty: 'partsCount', subDefVal: '10'}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupPieChart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupPieChart.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupPieChart.prototype.foreground = function(c, x, y, w, h) -{ - var parts = mxUtils.getValue(this.style, mxShapeMockupPieChart.prototype.cst.PARTS, '10,20,30').toString().split(','); - var partNum = parts.length; - var partColors = mxUtils.getValue(this.style, mxShapeMockupPieChart.prototype.cst.PART_COLORS, '#333333,#666666,#999999').toString().split(','); - var total = 0; - - for (var i = 0; i < partNum; i++) - { - total = total + parseInt(parts[i], 10); - } - - - for (var i = 0; i < partNum; i++) - { - if (partColors.length > i) - { - c.setFillColor(partColors[i]); - } - else - { - c.setFillColor('#ff0000'); - } - - var beginPerc = 0; - var endPerc = 0; - var currPerc = parseInt(parts[i], 10) / total; - - if (currPerc === 0.5) - { - currPerc = 0.501; - } - - for (var j = 0; j < i; j++) - { - beginPerc = beginPerc + parseInt(parts[j], 10) / total; - } - - endPerc = currPerc + beginPerc; - var startAngle = 2 * Math.PI * beginPerc; - var endAngle = 2 * Math.PI * endPerc; - - var x1 = w * 0.5 - w * Math.sin(startAngle) * 0.5; - var y1 = h * 0.5 - h * Math.cos(startAngle) * 0.5; - var x2 = w * 0.5 - w * Math.sin(endAngle) * 0.5; - var y2 = h * 0.5 - h * Math.cos(endAngle) * 0.5; - var largeArc = 1; - var sweep = 1; - - if (endPerc - beginPerc < 0.5) - { - largeArc = 0; - } - - c.begin(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(x2, y2); - c.arcTo(w * 0.5, h * 0.5, 0, largeArc, 1, x1, y1); - c.close(); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupPieChart.prototype.cst.SHAPE_PIE_CHART, mxShapeMockupPieChart); - -//********************************************************************************************************************************************************** -//Icon Grid (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupIconGrid(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupIconGrid, mxShape); - -mxShapeMockupIconGrid.prototype.cst = { - GRID_SIZE : 'gridSize', - SHAPE_ICON_GRID : 'mxgraph.mockup.graphics.iconGrid' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupIconGrid.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var gridSize = mxUtils.getValue(this.style, mxShapeMockupIconGrid.prototype.cst.GRID_SIZE, '3,3').toString().split(','); - this.background(c, w, h, gridSize); - c.setShadow(false); - - this.foreground(c, w, h, gridSize); -}; - -mxShapeMockupIconGrid.prototype.background = function(c, w, h, gridSize) -{ - var boxSizeX = w / (parseInt(gridSize[0],10) + (gridSize[0]-1) * 0.5); - var boxSizeY = h / (parseInt(gridSize[1],10) + (gridSize[1]-1) * 0.5); - - for (var i = 0; i < gridSize[0]; i++) - { - for (var j = 0; j < gridSize[1]; j++) - { - c.rect(boxSizeX * 1.5 * i, boxSizeY * 1.5 * j, boxSizeX, boxSizeY); - c.fillAndStroke(); - } - } -}; - -mxShapeMockupIconGrid.prototype.foreground = function(c, w, h, gridSize) -{ - var boxSizeX = w / (parseInt(gridSize[0],10) + (gridSize[0]-1) * 0.5); - var boxSizeY = h / (parseInt(gridSize[1],10) + (gridSize[1]-1) * 0.5); - - for (var i = 0; i < gridSize[0]; i++) - { - for (var j = 0; j < gridSize[1]; j++) - { - c.begin(); - c.moveTo(boxSizeX * 1.5 * i, boxSizeY * 1.5 * j); - c.lineTo(boxSizeX * 1.5 * i + boxSizeX, boxSizeY * 1.5 * j + boxSizeY); - c.moveTo(boxSizeX * 1.5 * i + boxSizeX, boxSizeY * 1.5 * j); - c.lineTo(boxSizeX * 1.5 * i, boxSizeY * 1.5 * j + boxSizeY); - c.stroke(); - } - } -}; - -mxCellRenderer.registerShape(mxShapeMockupIconGrid.prototype.cst.SHAPE_ICON_GRID, mxShapeMockupIconGrid); - -//********************************************************************************************************************************************************** -//Bubble Chart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupBubbleChart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupBubbleChart, mxShape); - -mxShapeMockupBubbleChart.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - FILL_COLOR2 : 'fillColor2', - FILL_COLOR3 : 'fillColor3', - SHAPE_BUBBLE_CHART : 'mxgraph.mockup.graphics.bubbleChart' -}; - -mxShapeMockupBubbleChart.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Bubble Stroke Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Coord. System Color', type: 'color'}, - {name: 'fillColor2', dispName: 'Bubble1 Color', type: 'color'}, - {name: 'fillColor3', dispName: 'Bubble2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupBubbleChart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, x, y, w, h); - - var bgFill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, 'none'); - - if (bgFill !== 'none') - { - c.setShadow(false); - } - - this.bars(c, x, y, w, h); -}; - -mxShapeMockupBubbleChart.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupBubbleChart.prototype.bars = function(c, x, y, w, h) -{ - var barStroke = mxUtils.getValue(this.style, mxShapeMockupBubbleChart.prototype.cst.STROKE_COLOR2, 'none'); - var coordStroke = mxUtils.getValue(this.style, mxShapeMockupBubbleChart.prototype.cst.STROKE_COLOR3, '#666666'); - var barFill1 = mxUtils.getValue(this.style, mxShapeMockupBubbleChart.prototype.cst.FILL_COLOR2, '#008cff'); - var barFill2 = mxUtils.getValue(this.style, mxShapeMockupBubbleChart.prototype.cst.FILL_COLOR3, '#dddddd'); - - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - - c.setStrokeColor(barStroke); - c.setFillColor(barFill1); - - var cx = w * 0.4; - var cy = h * 0.45; - var r = Math.min(h, w) * 0.14; - c.ellipse(cx - r, cy - r, 2 * r, 2 * r); - c.fillAndStroke(); - - cx = w * 0.1; - cy = h * 0.8; - r = Math.min(h, w) * 0.1; - c.ellipse(cx - r, cy - r, 2 * r, 2 * r); - c.fillAndStroke(); - - cx = w * 0.7; - cy = h * 0.7; - r = Math.min(h, w) * 0.22; - c.ellipse(cx - r, cy - r, 2 * r, 2 * r); - c.fillAndStroke(); - - c.setFillColor(barFill2); - cx = w * 0.15; - cy = h * 0.25; - r = Math.min(h, w) * 0.19; - c.ellipse(cx - r, cy - r, 2 * r, 2 * r); - c.fillAndStroke(); - - cx = w * 0.48; - cy = h * 0.7; - r = Math.min(h, w) * 0.12; - c.ellipse(cx - r, cy - r, 2 * r, 2 * r); - c.fillAndStroke(); - - cx = w * 0.74; - cy = h * 0.17; - r = Math.min(h, w) * 0.1; - c.ellipse(cx - r, cy - r, 2 * r, 2 * r); - c.fillAndStroke(); - - c.setStrokeWidth(strokeWidth * 2); - c.setStrokeColor(coordStroke); - - c.setShadow(false); - c.begin(); - c.moveTo(0,0); - c.lineTo(0, h); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupBubbleChart.prototype.cst.SHAPE_BUBBLE_CHART, mxShapeMockupBubbleChart); - -//********************************************************************************************************************************************************** -//Gauge -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupGauge(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.gaugePos = 25; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupGauge, mxShape); - -mxShapeMockupGauge.prototype.cst = { - SCALE_COLORS : 'scaleColors', - GAUGE_LABELS : 'gaugeLabels', - NEEDLE_COLOR : 'needleColor', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - GAUGE_POS : 'gaugePos', - SHAPE_GAUGE : 'mxgraph.mockup.graphics.gauge' -}; - -mxShapeMockupGauge.prototype.customProperties = [ - {name: 'scaleColors', dispName: 'Scale Colors', type: 'String'}, - {name: 'needleColor', dispName: 'Needle Color', type: 'color'}, - {name: 'gaugePos', dispName: 'Needle Position', type: 'float', min:0, max:100, defVal:25} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupGauge.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupGauge.prototype.background = function(c, w, h) -{ - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupGauge.prototype.foreground = function(c, w, h) -{ - var gaugePos = mxUtils.getValue(this.style, mxShapeMockupGauge.prototype.cst.GAUGE_POS, '0'); - var scaleColors = mxUtils.getValue(this.style, mxShapeMockupGauge.prototype.cst.SCALE_COLORS, '#888888,#aaaaaa,#444444').toString().split(','); - var gaugeLabels = mxUtils.getValue(this.style, mxShapeMockupGauge.prototype.cst.GAUGE_LABELS, 'CPU[%],0,100').toString().split(','); - var needleColor = mxUtils.getValue(this.style, mxShapeMockupGauge.prototype.cst.NEEDLE_COLOR, '#008cff'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var textColor = mxUtils.getValue(this.style, mxShapeMockupGauge.prototype.cst.TEXT_COLOR, '#666666'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupGauge.prototype.cst.TEXT_SIZE, '12'); - - gaugePos = Math.max(0, gaugePos); - gaugePos = Math.min(100, gaugePos); - - c.setFillColor(scaleColors[1]); - c.begin(); - c.moveTo(w * 0.05, h * 0.5); - c.arcTo(w * 0.4, h * 0.4, 0, 0, 1, w * 0.95, h * 0.5); - c.lineTo(w, h * 0.5); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 0, 0, h * 0.5); - c.close(); - c.fill(); - - c.setFillColor(scaleColors[0]); - c.begin(); - c.moveTo(w * 0.05, h * 0.5); - c.arcTo(w * 0.45, h * 0.45, 0, 0, 0, w * 0.182, h * 0.818); - c.lineTo(w * 0.146, h * 0.854); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, 0, h * 0.5); - c.close(); - c.fill(); - - c.setFillColor(scaleColors[2]); - c.begin(); - c.moveTo(w, h * 0.5); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, w * 0.854, h * 0.854); - c.lineTo(w * 0.818, h * 0.818); - c.arcTo(w * 0.45, h * 0.45, 0, 0, 0, w * 0.95, h * 0.5); - c.close(); - c.fill(); - - c.setFontSize(textSize); - c.setFontColor(textColor); - c.text(w * 0.5, h * 0.3, 0, 0, gaugeLabels[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.2, h * 0.85, 0, 0, gaugeLabels[1], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8, h * 0.85, 0, 0, gaugeLabels[2], mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var needlePos = (0.75 * (2 * Math.PI * parseFloat(gaugePos) / 100) + 1.25 * Math.PI); - - var x1 = w * 0.5 + w * 0.38 * Math.sin(needlePos); - var y1 = h * 0.5 - h * 0.38 * Math.cos(needlePos); - var x2 = 0; - var y2 = 0; - c.setFillColor(needleColor); - c.begin(); - c.moveTo(x1, y1); - - x1 = w * 0.5 + w * 0.05 * Math.cos(needlePos); - y1 = h * 0.5 + h * 0.05 * Math.sin(needlePos); - c.lineTo(x1, y1); - - x2 = w * 0.5 + w * (-0.05) * Math.sin(needlePos); - y2 = h * 0.5 - h * (-0.05) * Math.cos(needlePos); - c.arcTo(w * 0.05, h * 0.05, 0, 0, 1, x2, y2); - - x1 = x2; - y1 = y2; - x2 = w * 0.5 - w * 0.05 * Math.cos(needlePos); - y2 = h * 0.5 - h * 0.05 * Math.sin(needlePos); - c.arcTo(w * 0.05, h * 0.05, 0, 0, 1, x2, y2); - c.close(); - c.fill(); - - c.setFillColor(fillColor); - c.begin(); - c.moveTo(w * 0.49, h * 0.49); - c.lineTo(w * 0.51, h * 0.49); - c.lineTo(w * 0.51, h * 0.51); - c.lineTo(w * 0.49, h * 0.51); - c.close(); - c.fill(); - - c.begin(); - c.ellipse(0, 0, w, h); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.146, h * 0.854); - c.lineTo(w * 0.219, h * 0.781); - c.moveTo(w * 0.854, h * 0.854); - c.lineTo(w * 0.781, h * 0.781); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupGauge.prototype.cst.SHAPE_GAUGE, mxShapeMockupGauge); - -Graph.handleFactory[mxShapeMockupGauge.prototype.cst.SHAPE_GAUGE] = function(state) -{ - var handles = [Graph.createHandle(state, ['gaugePos'], function(bounds) - { - var gaugePos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'gaugePos', this.gaugePos)))); - - return new mxPoint(bounds.x + bounds.width * 0.2 + gaugePos * 0.6 * bounds.width / 100, bounds.y + bounds.height * 0.8); - }, function(bounds, pt) - { - this.state.style['gaugePos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Plot Chart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupPlotChart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupPlotChart, mxShape); - -mxShapeMockupPlotChart.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - SHAPES_COLORS : 'fillColor2', - SHAPE_PLOT_CHART : 'mxgraph.mockup.graphics.plotChart' -}; - -mxShapeMockupPlotChart.prototype.customProperties = [ - {name: 'strokeColor2', dispName: 'Bubble Stroke Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Coord. System Color', type: 'color'}, - {name: 'fillColor2', dispName: 'Shapes Color', type: 'string'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupPlotChart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, x, y, w, h); - - var bgFill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, 'none'); - - if (bgFill !== 'none') - { - c.setShadow(false); - } - - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupPlotChart.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupPlotChart.prototype.foreground = function(c, x, y, w, h) -{ - var shapeStroke = mxUtils.getValue(this.style, mxShapeMockupPlotChart.prototype.cst.STROKE_COLOR2, '#dddddd'); - var coordStroke = mxUtils.getValue(this.style, mxShapeMockupPlotChart.prototype.cst.STROKE_COLOR3, '#666666'); - var shapesColors = mxUtils.getValue(this.style, mxShapeMockupPlotChart.prototype.cst.SHAPES_COLORS, '#00aaff,#0044ff,#008cff').toString().split(','); - - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - var shapeSize = Math.min(w, h) * 0.03; - - c.setStrokeColor(shapeStroke); - c.setFillColor(shapesColors[0]); - - var cx = w * 0.2; - var cy = h * 0.8; - c.begin(); - c.moveTo(cx - shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy + shapeSize * 0.5); - c.lineTo(cx - shapeSize * 0.5, cy + shapeSize * 0.5); - c.close(); - c.fillAndStroke(); - - cx = w * 0.3; - cy = h * 0.65; - c.begin(); - c.moveTo(cx - shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy + shapeSize * 0.5); - c.lineTo(cx - shapeSize * 0.5, cy + shapeSize * 0.5); - c.close(); - c.fillAndStroke(); - - cx = w * 0.6; - cy = h * 0.44; - c.begin(); - c.moveTo(cx - shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy + shapeSize * 0.5); - c.lineTo(cx - shapeSize * 0.5, cy + shapeSize * 0.5); - c.close(); - c.fillAndStroke(); - - cx = w * 0.85; - cy = h * 0.9; - c.begin(); - c.moveTo(cx - shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy + shapeSize * 0.5); - c.lineTo(cx - shapeSize * 0.5, cy + shapeSize * 0.5); - c.close(); - c.fillAndStroke(); - - c.setFillColor(shapesColors[1]); - cx = w * 0.08; - cy = h * 0.65; - c.begin(); - c.moveTo(cx, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy + shapeSize * 0.5); - c.lineTo(cx - shapeSize * 0.5, cy + shapeSize * 0.5); - c.close(); - c.fillAndStroke(); - - cx = w * 0.58; - cy = h * 0.85; - c.begin(); - c.moveTo(cx, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy + shapeSize * 0.5); - c.lineTo(cx - shapeSize * 0.5, cy + shapeSize * 0.5); - c.close(); - c.fillAndStroke(); - - cx = w * 0.72; - cy = h * 0.92; - c.begin(); - c.moveTo(cx, cy - shapeSize * 0.5); - c.lineTo(cx + shapeSize * 0.5, cy + shapeSize * 0.5); - c.lineTo(cx - shapeSize * 0.5, cy + shapeSize * 0.5); - c.close(); - c.fillAndStroke(); - - c.setFillColor(shapesColors[2]); - cx = w * 0.32; - cy = h * 0.28; - c.begin(); - c.moveTo(cx, cy - shapeSize * 0.75); - c.lineTo(cx + shapeSize * 0.75, cy); - c.lineTo(cx, cy + shapeSize * 0.75); - c.lineTo(cx - shapeSize * 0.75, cy); - c.close(); - c.fillAndStroke(); - - cx = w * 0.92; - cy = h * 0.45; - c.begin(); - c.moveTo(cx, cy - shapeSize * 0.75); - c.lineTo(cx + shapeSize * 0.75, cy); - c.lineTo(cx, cy + shapeSize * 0.75); - c.lineTo(cx - shapeSize * 0.75, cy); - c.close(); - c.fillAndStroke(); - - cx = w * 0.81; - cy = h * 0.37; - c.begin(); - c.moveTo(cx, cy - shapeSize * 0.75); - c.lineTo(cx + shapeSize * 0.75, cy); - c.lineTo(cx, cy + shapeSize * 0.75); - c.lineTo(cx - shapeSize * 0.75, cy); - c.close(); - c.fillAndStroke(); - - cx = w * 0.51; - cy = h * 0.7; - c.begin(); - c.moveTo(cx, cy - shapeSize * 0.75); - c.lineTo(cx + shapeSize * 0.75, cy); - c.lineTo(cx, cy + shapeSize * 0.75); - c.lineTo(cx - shapeSize * 0.75, cy); - c.close(); - c.fillAndStroke(); - - c.setStrokeWidth(strokeWidth * 2); - c.setStrokeColor(coordStroke); - - c.setShadow(false); - c.begin(); - c.moveTo(0,0); - c.lineTo(0, h); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupPlotChart.prototype.cst.SHAPE_PLOT_CHART, mxShapeMockupPlotChart); - -//********************************************************************************************************************************************************** -//Gantt Chart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupGanttChart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupGanttChart, mxShape); - -mxShapeMockupGanttChart.prototype.cst = { - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3', - SHAPES_COLORS : 'fillColor2', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_GANTT_CHART : 'mxgraph.mockup.graphics.ganttChart' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupGanttChart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupGanttChart.prototype.background = function(c, x, y, w, h, bgColor, frameColor) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupGanttChart.prototype.foreground = function(c, x, y, w, h) -{ - var shapesColors = mxUtils.getValue(this.style, mxShapeMockupGanttChart.prototype.cst.SHAPES_COLORS, '#888888,#bbbbbb').toString().split(','); - var textColor = mxUtils.getValue(this.style, mxShapeMockupGanttChart.prototype.cst.TEXT_COLOR, '#666666'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupGanttChart.prototype.cst.TEXT_SIZE, '#12'); - - c.begin(); - c.moveTo(0, h * 0.13); - c.lineTo(w, h * 0.13); - c.moveTo(w * 0.4, 0); - c.lineTo(w * 0.4, h); - c.moveTo(w * 0.4, h * 0.065); - c.lineTo(w, h * 0.065); - c.moveTo(w * 0.03, 0); - c.lineTo(w * 0.03, h * 0.13); - c.moveTo(w * 0.1, 0); - c.lineTo(w * 0.1, h * 0.13); - c.moveTo(w * 0.315, 0); - c.lineTo(w * 0.315, h * 0.13); - c.moveTo(w * 0.45, h * 0.065); - c.lineTo(w * 0.45, h * 0.13); - c.moveTo(w * 0.5, h * 0.065); - c.lineTo(w * 0.5, h); - c.moveTo(w * 0.55, h * 0.065); - c.lineTo(w * 0.55, h * 0.13); - c.moveTo(w * 0.6, h * 0.065); - c.lineTo(w * 0.6, h); - c.moveTo(w * 0.65, h * 0.065); - c.lineTo(w * 0.65, h * 0.13); - c.moveTo(w * 0.7, h * 0.065); - c.lineTo(w * 0.7, h); - c.moveTo(w * 0.75, 0); - c.lineTo(w * 0.75, h * 0.13); - c.moveTo(w * 0.8, h * 0.065); - c.lineTo(w * 0.8, h); - c.moveTo(w * 0.85, h * 0.065); - c.lineTo(w * 0.85, h * 0.13); - c.moveTo(w * 0.9, h * 0.065); - c.lineTo(w * 0.9, h); - c.moveTo(w * 0.95, h * 0.065); - c.lineTo(w * 0.95, h * 0.13); - c.stroke(); - - c.setFillColor(shapesColors[0]); - c.begin(); - c.moveTo(w * 0.41, h * 0.15); - c.lineTo(w * 0.64, h * 0.15); - c.lineTo(w * 0.64, h * 0.18); - c.lineTo(w * 0.625, h * 0.21); - c.lineTo(w * 0.61, h * 0.18); - c.lineTo(w * 0.44, h * 0.18); - c.lineTo(w * 0.425, h * 0.21); - c.lineTo(w * 0.41, h * 0.18); - c.close(); - c.moveTo(w * 0.41, h * 0.24); - c.lineTo(w * 0.49, h * 0.24); - c.lineTo(w * 0.49, h * 0.275); - c.lineTo(w * 0.41, h * 0.275); - c.close(); - c.moveTo(w * 0.46, h * 0.31); - c.lineTo(w * 0.64, h * 0.31); - c.lineTo(w * 0.64, h * 0.345); - c.lineTo(w * 0.46, h * 0.345); - c.close(); - c.moveTo(w * 0.56, h * 0.39); - c.lineTo(w * 0.69, h * 0.39); - c.lineTo(w * 0.69, h * 0.425); - c.lineTo(w * 0.56, h * 0.425); - c.close(); - c.fill(); - - c.setFillColor(shapesColors[1]); - c.begin(); - c.moveTo(w * 0.46, h * 0.32); - c.lineTo(w * 0.58, h * 0.32); - c.lineTo(w * 0.58, h * 0.335); - c.lineTo(w * 0.46, h * 0.335); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupGanttChart.prototype.cst.SHAPE_GANTT_CHART, mxShapeMockupGanttChart); - -//********************************************************************************************************************************************************** -//Simple Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupSimpleIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupSimpleIcon, mxShape); - -mxShapeMockupSimpleIcon.prototype.cst = { - SIMPLE_ICON : 'mxgraph.mockup.graphics.simpleIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupSimpleIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, 0, w, h); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, h); - c.moveTo(0, h); - c.lineTo(w, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupSimpleIcon.prototype.cst.SIMPLE_ICON, mxShapeMockupSimpleIcon); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupGraphicsAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupGraphicsAnchor, mxShape); - -mxShapeMockupGraphicsAnchor.prototype.cst = { - ANCHOR : 'mxgraph.mockup.graphics.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupGraphicsAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeMockupGraphicsAnchor.prototype.cst.ANCHOR, mxShapeMockupGraphicsAnchor); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupGraphicsRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupGraphicsRRect, mxShape); - -mxShapeMockupGraphicsRRect.prototype.cst = { - RRECT : 'mxgraph.mockup.graphics.rrect', - R_SIZE : 'rSize' -}; - -mxShapeMockupGraphicsRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupGraphicsRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupGraphicsRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupGraphicsRRect.prototype.cst.RRECT, mxShapeMockupGraphicsRRect); - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupMarkup.js b/dist/libs/drawio/shapes/mockup/mxMockupMarkup.js deleted file mode 100644 index dceb1434..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupMarkup.js +++ /dev/null @@ -1,200 +0,0 @@ -/** - * $Id: mxMockupMarkup.js,v 1.5 2013/02/27 14:30:39 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Horizontal Curly Brace -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupCurlyBrace(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupCurlyBrace, mxShape); - -mxShapeMockupCurlyBrace.prototype.cst = { - SHAPE_CURLY_BRACE : 'mxgraph.mockup.markup.curlyBrace' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupCurlyBrace.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeMockupCurlyBrace.prototype.background = function(c, x, y, w, h) -{ - var midY = h * 0.5; - var rSize = Math.min(w * 0.125, midY); - c.begin(); - c.moveTo(0, midY + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, midY); - c.lineTo(w * 0.5 - rSize, midY); - c.arcTo(rSize, rSize, 0, 0, 0, w * 0.5, midY - rSize); - c.arcTo(rSize, rSize, 0, 0, 0, w * 0.5 + rSize, midY); - c.lineTo(w - rSize, midY); - c.arcTo(rSize, rSize, 0, 0, 1, w, midY + rSize); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupCurlyBrace.prototype.cst.SHAPE_CURLY_BRACE, mxShapeMockupCurlyBrace); - -//********************************************************************************************************************************************************** -//Line -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupLine(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupLine, mxShape); - -mxShapeMockupLine.prototype.cst = { - SHAPE_LINE : 'mxgraph.mockup.markup.line' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupLine.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupLine.prototype.cst.SHAPE_LINE, mxShapeMockupLine); - -//********************************************************************************************************************************************************** -//Scratch Out -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupScratchOut(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupScratchOut, mxShape); - -mxShapeMockupScratchOut.prototype.cst = { - SHAPE_SCRATCH_OUT : 'mxgraph.mockup.markup.scratchOut' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupScratchOut.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.begin(); - c.moveTo(w * 0.038, h * 0.095); - c.curveTo(w * 0.038, h * 0.095, w * 0.289, h * -0.045, w * 0.186, h * 0.05); - c.curveTo(w * 0.084, h * 0.145, w * -0.046, h * 0.251, w * 0.072, h * 0.208); - c.curveTo(w * 0.191, h * 0.164, w * 0.522, h * -0.09, w * 0.366, h * 0.062); - c.curveTo(w * 0.21, h * 0.215, w * -0.094, h * 0.38, w * 0.108, h * 0.304); - c.curveTo(w * 0.309, h * 0.228, w * 0.73, h * -0.126, w * 0.544, h * 0.096); - c.curveTo(w * 0.358, h * 0.319, w * -0.168, h * 0.592, w * 0.108, h * 0.476); - c.curveTo(w * 0.382, h * 0.36, w * 0.972, h * -0.138, w * 0.779, h * 0.114); - c.curveTo(w * 0.585, h * 0.365, w * -0.12, h * 0.688, w * 0.071, h * 0.639); - c.curveTo(w * 0.262, h * 0.59, w * 1.174, h * 0.012, w * 0.936, h * 0.238); - c.curveTo(w * 0.699, h * 0.462, w * -0.216, h * 0.855, w * 0.085, h * 0.806); - c.curveTo(w * 0.386, h * 0.758, w * 1.185, h * 0.26, w * 0.935, h * 0.534); - c.curveTo(w * 0.685, h * 0.808, w * -0.186, h * 0.94, w * 0.236, h * 0.895); - c.curveTo(w * 0.659, h * 0.85, w * 1.095, h * 0.608, w * 0.905, h * 0.769); - c.curveTo(w * 0.715, h * 0.93, w * 0.286, h * 0.962, w * 0.661, h * 0.931); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupScratchOut.prototype.cst.SHAPE_SCRATCH_OUT, mxShapeMockupScratchOut); - -//********************************************************************************************************************************************************** -//Red X -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRedX(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRedX, mxShape); - -mxShapeMockupRedX.prototype.cst = { - SHAPE_RED_X : 'mxgraph.mockup.markup.redX' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRedX.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.begin(); - c.moveTo(w * 0.1, 0); - c.lineTo(w * 0.5, h * 0.4); - c.lineTo(w * 0.9, 0); - c.lineTo(w, h * 0.1); - c.lineTo(w * 0.6, h * 0.5); - c.lineTo(w, h * 0.9); - c.lineTo(w * 0.9, h); - c.lineTo(w * 0.5, h * 0.6); - c.lineTo(w * 0.1, h); - c.lineTo(0, h * 0.9); - c.lineTo(w * 0.4, h * 0.5); - c.lineTo(0, h * 0.1); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupRedX.prototype.cst.SHAPE_RED_X, mxShapeMockupRedX); \ No newline at end of file diff --git a/dist/libs/drawio/shapes/mockup/mxMockupMisc.js b/dist/libs/drawio/shapes/mockup/mxMockupMisc.js deleted file mode 100644 index b774719e..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupMisc.js +++ /dev/null @@ -1,1680 +0,0 @@ -/** - * $Id: mxMockupMisc.js,v 1.5 2013/02/28 13:50:11 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Playback Controls -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupPlaybackControls(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupPlaybackControls, mxShape); - -mxShapeMockupPlaybackControls.prototype.cst = { - SHAPE_PLAYBACK_CONTROLS : 'mxgraph.mockup.misc.playbackControls', - FILL_COLOR2 : 'fillColor2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR3 : 'fillColor3', - STROKE_COLOR3 : 'strokeColor3' -}; - -mxShapeMockupPlaybackControls.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Outline Color', type: 'color'}, - {name: 'fillColor3', dispName: 'Symbol Color', type: 'color'}, - {name: 'strokeColor2', dispName: 'Outline Stroke Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Symbol Stroke Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupPlaybackControls.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var controlBarHeight = 30; - var buttonSize = 22; - var h = Math.max(h, controlBarHeight); - var w = Math.max(225, w); - - c.translate(x, y); - this.background(c, w, h, controlBarHeight); - c.setShadow(false); - this.foreground(c, w, h, controlBarHeight, buttonSize); -}; - -mxShapeMockupPlaybackControls.prototype.background = function(c, w, h, controlBarHeight) -{ - c.rect(0, (h - controlBarHeight) * 0.5, w, controlBarHeight); - c.fillAndStroke(); -} - -mxShapeMockupPlaybackControls.prototype.foreground = function(c, w, h, controlBarHeight, buttonSize) -{ - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupPlaybackControls.prototype.cst.FILL_COLOR2, '#99ddff'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeMockupPlaybackControls.prototype.cst.STROKE_COLOR2, 'none'); - var fillColor3 = mxUtils.getValue(this.style, mxShapeMockupPlaybackControls.prototype.cst.FILL_COLOR3, '#ffffff'); - var strokeColor3 = mxUtils.getValue(this.style, mxShapeMockupPlaybackControls.prototype.cst.STROKE_COLOR3, 'none'); - - c.setStrokeColor(strokeColor2); - c.setFillColor(fillColor2); - c.ellipse(10, h * 0.5 - buttonSize * 0.5, buttonSize, buttonSize); - c.fillAndStroke(); - c.ellipse(40, h * 0.5 - buttonSize * 0.5, buttonSize, buttonSize); - c.fillAndStroke(); - c.ellipse(70, h * 0.5 - buttonSize * 0.5, buttonSize, buttonSize); - c.fillAndStroke(); - c.ellipse(100, h * 0.5 - buttonSize * 0.5, buttonSize, buttonSize); - c.fillAndStroke(); - c.ellipse(130, h * 0.5 - buttonSize * 0.5, buttonSize, buttonSize); - c.fillAndStroke(); - c.ellipse(160, h * 0.5 - buttonSize * 0.5, buttonSize, buttonSize); - c.fillAndStroke(); - c.ellipse(190, h * 0.5 - buttonSize * 0.5, buttonSize, buttonSize); - c.fillAndStroke(); - - - c.setStrokeColor(strokeColor3); - c.setFillColor(fillColor3); - // start - var t = h * 0.5 - controlBarHeight * 0.5; - c.begin(); - c.moveTo(16, t + 10); - c.lineTo(16, t + 20); - c.lineTo(18, t + 20); - c.lineTo(18, t + 10); - c.close(); - c.moveTo(20, t + 15); - c.lineTo(25, t + 20); - c.lineTo(25, t + 10); - c.close(); - c.fillAndStroke(); - // rewind - c.begin(); - c.moveTo(44, t + 15); - c.lineTo(49, t + 20); - c.lineTo(49, t + 10); - c.close(); - c.moveTo(51, t + 15); - c.lineTo(56, t + 20); - c.lineTo(56, t + 10); - c.close(); - c.fillAndStroke(); - // back - c.begin(); - c.moveTo(77, t + 15); - c.lineTo(82, t + 20); - c.lineTo(82, t + 10); - c.close(); - c.fillAndStroke(); - // play/pause - c.begin(); - c.moveTo(108, t + 10); - c.lineTo(108, t + 20); - c.lineTo(110, t + 20); - c.lineTo(110, t + 10); - c.close(); - c.moveTo(117, t + 15); - c.lineTo(112, t + 20); - c.lineTo(112, t + 10); - c.close(); - c.fillAndStroke(); - // forward - c.begin(); - c.moveTo(144, t + 15); - c.lineTo(139, t + 20); - c.lineTo(139, t + 10); - c.close(); - c.fillAndStroke(); - // fast forward - c.begin(); - c.moveTo(171, t + 15); - c.lineTo(166, t + 20); - c.lineTo(166, t + 10); - c.close(); - c.moveTo(178, t + 15); - c.lineTo(173, t + 20); - c.lineTo(173, t + 10); - c.close(); - c.fillAndStroke(); - // end - c.begin(); - c.moveTo(203, t + 10); - c.lineTo(203, t + 20); - c.lineTo(205, t + 20); - c.lineTo(205, t + 10); - c.close(); - c.moveTo(201, t + 15); - c.lineTo(196, t + 20); - c.lineTo(196, t + 10); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupPlaybackControls.prototype.cst.SHAPE_PLAYBACK_CONTROLS, mxShapeMockupPlaybackControls); - -//********************************************************************************************************************************************************** -//Progress Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupProgressBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.barPos = 20; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupProgressBar, mxShape); - -mxShapeMockupProgressBar.prototype.cst = { - SHAPE_PROGRESS_BAR : 'mxgraph.mockup.misc.progressBar', - BAR_POS : 'barPos', - FILL_COLOR2 : 'fillColor2' -}; - -mxShapeMockupProgressBar.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Outline Color', type: 'color'}, - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, defVal:80} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupProgressBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupProgressBar.prototype.background = function(c, w, h) -{ - c.roundrect(0, h * 0.5 - 5, w, 10, 5, 5); - c.fillAndStroke(); -}; - -mxShapeMockupProgressBar.prototype.foreground = function(c, w, h) -{ - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupProgressBar.prototype.cst.FILL_COLOR2, '#ddeeff'); - var barPos = mxUtils.getValue(this.style, mxShapeMockupProgressBar.prototype.cst.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var deadzone = 0; - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - - c.setFillColor(fillColor2); - c.roundrect(0, h * 0.5 - 5, truePos, 10, 5, 5); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupProgressBar.prototype.cst.SHAPE_PROGRESS_BAR, mxShapeMockupProgressBar); - -Graph.handleFactory[mxShapeMockupProgressBar.prototype.cst.SHAPE_PROGRESS_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'barPos', this.barPos)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height * 0.5); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Shopping Cart -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupShoppingCart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupShoppingCart, mxShape); - -mxShapeMockupShoppingCart.prototype.cst = { - SHAPE_SHOPPING_CART : 'mxgraph.mockup.misc.shoppingCart' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupShoppingCart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.translate(x, y); - - c.setStrokeWidth(3); - c.begin(); - c.moveTo(w * 0.975, h * 0.025); - c.lineTo(w * 0.82, h * 0.055); - c.lineTo(w * 0.59, h * 0.66); - c.lineTo(w * 0.7, h * 0.765); - c.arcTo(w * 0.06, h * 0.06, 0, 0, 1, w * 0.665, h * 0.86); - c.lineTo(w * 0.05, h * 0.86); - c.moveTo(w * 0.74, h * 0.26); - c.lineTo(w * 0.03, h * 0.28); - c.lineTo(w * 0.065, h * 0.61); - c.lineTo(w * 0.59, h * 0.66); - c.stroke(); - - c.setStrokeWidth(1); - c.begin(); - c.moveTo(w * 0.15, h * 0.28); - c.lineTo(w * 0.15, h * 0.62); - c.moveTo(w * 0.265, h * 0.275); - c.lineTo(w * 0.265, h * 0.63); - c.moveTo(w * 0.38, h * 0.27); - c.lineTo(w * 0.38, h * 0.64); - c.moveTo(w * 0.495, h * 0.265); - c.lineTo(w * 0.495, h * 0.65); - c.moveTo(w * 0.61, h * 0.265); - c.lineTo(w * 0.61, h * 0.61); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.69, h * 0.405); - c.lineTo(w * 0.045, h * 0.405); - c.moveTo(w * 0.645, h * 0.52); - c.lineTo(w * 0.055, h * 0.52); - c.stroke(); - c.setFillColor(strokeColor); - c.ellipse(w * 0.075, h * 0.89, w * 0.1, h * 0.1); - c.fillAndStroke(); - c.ellipse(w * 0.62, h * 0.89, w * 0.1, h * 0.1); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupShoppingCart.prototype.cst.SHAPE_SHOPPING_CART, mxShapeMockupShoppingCart); - -//********************************************************************************************************************************************************** -//Rating -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupRating(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupRating, mxShape); - -mxShapeMockupRating.prototype.cst = { - SHAPE_RATING : 'mxgraph.mockup.misc.rating', - RATING_STYLE : 'ratingStyle', - RATING_SCALE : 'ratingScale', - RATING_HEART : 'heart', - RATING_STAR : 'star', - EMPTY_FILL_COLOR : 'emptyFillColor', - GRADE : 'grade' -}; - -mxShapeMockupRating.prototype.customProperties = [ - {name: 'ratingStyle', dispName: 'Style', type: 'enum', - enumList: [{val: 'heart', dispName: 'Heart'}, {val: 'star', dispName: 'Star'}] - }, - {name: 'ratingScale', dispName: 'Max. Rating', type: 'int'}, - {name: 'grade', dispName: 'Current Rating', type: 'int'}, - {name: 'emptyFillColor', dispName: 'Fill2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupRating.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var ratingStyle = mxUtils.getValue(this.style, mxShapeMockupRating.prototype.cst.RATING_STYLE, mxShapeMockupRating.prototype.cst.RATING_STAR); - var grade = mxUtils.getValue(this.style, mxShapeMockupRating.prototype.cst.GRADE, '5'); - var ratingScale = mxUtils.getValue(this.style, mxShapeMockupRating.prototype.cst.RATING_SCALE, '10'); - - c.translate(x, y); - - if (ratingStyle === mxShapeMockupRating.prototype.cst.RATING_STAR) - { - for (var i = 0; i < grade; i++) - { - c.begin(); - c.moveTo(i * h * 1.5, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.364 * h, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.475 * h, 0); - c.lineTo(i * h * 1.5 + 0.586 * h, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.95 * h, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.66 * h, 0.551 * h); - c.lineTo(i * h * 1.5 + 0.775 * h, 0.9 * h); - c.lineTo(i * h * 1.5 + 0.475 * h, 0.684 * h); - c.lineTo(i * h * 1.5 + 0.175 * h, 0.9 * h); - c.lineTo(i * h * 1.5 + 0.29 * h, 0.551 * h); - c.close(); - c.fillAndStroke(); - } - } - else if (ratingStyle === mxShapeMockupRating.prototype.cst.RATING_HEART) - { - for (var i = 0; i < grade; i++) - { - c.begin(); - c.moveTo(i * h * 1.5 + h * 0.519, h * 0.947); - c.curveTo(i * h * 1.5 + h * 0.558, h * 0.908, i * h * 1.5 + h * 0.778, h * 0.682, i * h * 1.5 + h * 0.916, h * 0.54); - c.curveTo(i * h * 1.5 + h * 1.039, h * 0.414, i * h * 1.5 + h * 1.036, h * 0.229, i * h * 1.5 + h * 0.924, h * 0.115); - c.curveTo(i * h * 1.5 + h * 0.812, 0, i * h * 1.5 + h * 0.631, 0, i * h * 1.5 + h * 0.519, h * 0.115); - c.curveTo(i * h * 1.5 + h * 0.408, 0, i * h * 1.5 + h * 0.227, 0, i * h * 1.5 + h * 0.115, h * 0.115); - c.curveTo(i * h * 1.5 + h * 0.03, h * 0.229, i * h * 1.5, h * 0.414, i * h * 1.5 + h * 0.123, h * 0.54); - c.close(); - c.fillAndStroke(); - } - } - - var emptyFillColor = mxUtils.getValue(this.style, mxShapeMockupRating.prototype.cst.EMPTY_FILL_COLOR, '#ffffff'); - c.setFillColor(emptyFillColor); - - if (ratingStyle === mxShapeMockupRating.prototype.cst.RATING_STAR) - { - for (var i = grade; i < ratingScale; i++) - { - c.begin(); - c.moveTo(i * h * 1.5, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.364 * h, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.475 * h, 0); - c.lineTo(i * h * 1.5 + 0.586 * h, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.95 * h, 0.33 * h); - c.lineTo(i * h * 1.5 + 0.66 * h, 0.551 * h); - c.lineTo(i * h * 1.5 + 0.775 * h, 0.9 * h); - c.lineTo(i * h * 1.5 + 0.475 * h, 0.684 * h); - c.lineTo(i * h * 1.5 + 0.175 * h, 0.9 * h); - c.lineTo(i * h * 1.5 + 0.29 * h, 0.551 * h); - c.close(); - c.fillAndStroke(); - } - } - else if (ratingStyle === mxShapeMockupRating.prototype.cst.RATING_HEART) - { - for (var i = grade; i < ratingScale; i++) - { - c.begin(); - c.moveTo(i * h * 1.5 + h * 0.519, h * 0.947); - c.curveTo(i * h * 1.5 + h * 0.558, h * 0.908, i * h * 1.5 + h * 0.778, h * 0.682, i * h * 1.5 + h * 0.916, h * 0.54); - c.curveTo(i * h * 1.5 + h * 1.039, h * 0.414, i * h * 1.5 + h * 1.036, h * 0.229, i * h * 1.5 + h * 0.924, h * 0.115); - c.curveTo(i * h * 1.5 + h * 0.812, 0, i * h * 1.5 + h * 0.631, 0, i * h * 1.5 + h * 0.519, h * 0.115); - c.curveTo(i * h * 1.5 + h * 0.408, 0, i * h * 1.5 + h * 0.227, 0, i * h * 1.5 + h * 0.115, h * 0.115); - c.curveTo(i * h * 1.5 + h * 0.03, h * 0.229, i * h * 1.5, h * 0.414, i * h * 1.5 + h * 0.123, h * 0.54); - c.close(); - c.fillAndStroke(); - } - } -}; - -mxCellRenderer.registerShape(mxShapeMockupRating.prototype.cst.SHAPE_RATING, mxShapeMockupRating); - -//********************************************************************************************************************************************************** -//Mail -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupMail(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupMail, mxShape); - -mxShapeMockupMail.prototype.cst = { - SHAPE_MAIL : 'mxgraph.mockup.misc.mail2' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupMail.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, 0, w, h); - c.fillAndStroke(); - - c.setShadow(false); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupMail.prototype.cst.SHAPE_MAIL, mxShapeMockupMail); - -//********************************************************************************************************************************************************** -//Volume Slider -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupVolumeSlider(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.barPos = 80; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupVolumeSlider, mxShape); - -mxShapeMockupVolumeSlider.prototype.cst = { - SHAPE_VOLUME_SLIDER : 'mxgraph.mockup.misc.volumeSlider', - BAR_POS : 'barPos', - FILL_COLOR2 : 'fillColor2' -}; - -mxShapeMockupVolumeSlider.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, - {name: 'barPos', dispName: 'Handle Position', type: 'float'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupVolumeSlider.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var barPos = mxUtils.getValue(this.style, mxShapeMockupVolumeSlider.prototype.cst.BAR_POS, '80'); - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupVolumeSlider.prototype.cst.FILL_COLOR2, '#ddeeff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - //only the progress bar handle needs to be drawn - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var controlBarHeight = 25; - var h = Math.max(h, controlBarHeight); - var w = Math.max(w, 3.5 * controlBarHeight); - - var speakerStartX = w - controlBarHeight; - var speakerStartY = (h - controlBarHeight) * 0.5; - c.begin(); - c.moveTo(speakerStartX + controlBarHeight * 0.05, speakerStartY + controlBarHeight * 0.35); - c.lineTo(speakerStartX + controlBarHeight * 0.15, speakerStartY + controlBarHeight * 0.35); - c.lineTo(speakerStartX + controlBarHeight * 0.3, speakerStartY + controlBarHeight * 0.2); - c.lineTo(speakerStartX + controlBarHeight * 0.3, speakerStartY + controlBarHeight * 0.8); - c.lineTo(speakerStartX + controlBarHeight * 0.15, speakerStartY + controlBarHeight * 0.65); - c.lineTo(speakerStartX + controlBarHeight * 0.05, speakerStartY + controlBarHeight * 0.65); - c.close(); - c.fill(); - - //draw the handle based on barPos - var barMin = 0; - var barMax = w - controlBarHeight * 1.3; - var videoBarStartY = (h - controlBarHeight) * 0.5; - var barRange = barMax - barMin; - var barPos = barRange * barPos / 100; - var barEnd = barMin + barPos; - - var soundStartX = w - controlBarHeight; - var soundStartY = (h - controlBarHeight) * 0.5; - c.begin(); - c.moveTo(soundStartX + controlBarHeight * 0.4, soundStartY + controlBarHeight * 0.35); - c.arcTo(controlBarHeight * 0.2, controlBarHeight * 0.3, 0, 0, 1, soundStartX + controlBarHeight * 0.4, soundStartY + controlBarHeight * 0.65); - c.moveTo(soundStartX + controlBarHeight * 0.425, soundStartY + controlBarHeight * 0.25); - c.arcTo(controlBarHeight * 0.225, controlBarHeight * 0.35, 0, 0, 1, soundStartX + controlBarHeight * 0.425, soundStartY + controlBarHeight * 0.75); - c.moveTo(soundStartX + controlBarHeight * 0.5, soundStartY + controlBarHeight * 0.2); - c.arcTo(controlBarHeight * 0.25, controlBarHeight * 0.4, 0, 0, 1, soundStartX + controlBarHeight * 0.5, soundStartY + controlBarHeight * 0.8); - c.fillAndStroke(); - - //now we draw the video progress bar - var videoBarStartX = 0; - var videoBarStartY = (h - controlBarHeight) * 0.5; - var videoBarEndX = w - controlBarHeight * 1.3; - c.roundrect(videoBarStartX, videoBarStartY + controlBarHeight * 0.35, videoBarEndX, controlBarHeight * 0.3, 5, 5); - c.fill(); - c.setShadow(false); - c.setFillColor(fillColor2); - c.roundrect(barMin, videoBarStartY + controlBarHeight * 0.35, barEnd, controlBarHeight * 0.3, 5, 5); - c.fill(); - - - c.ellipse(barEnd - controlBarHeight * 0.25, videoBarStartY + controlBarHeight * 0.25, controlBarHeight * 0.5, controlBarHeight * 0.5); - c.fillAndStroke(); - -}; - -mxCellRenderer.registerShape(mxShapeMockupVolumeSlider.prototype.cst.SHAPE_VOLUME_SLIDER, mxShapeMockupVolumeSlider); - -Graph.handleFactory[mxShapeMockupVolumeSlider.prototype.cst.SHAPE_VOLUME_SLIDER] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'barPos', this.barPos)))); - - return new mxPoint(bounds.x + barPos * (bounds.width - 32.5) / 100, bounds.y + bounds.height * 0.5); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Edit Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupEdit(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupEdit, mxShape); - -mxShapeMockupEdit.prototype.cst = { - SHAPE_EDIT : 'mxgraph.mockup.misc.editIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupEdit.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.translate(x, y); - - c.roundrect(0, 0, w, h, w * 0.05, h * 0.05); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.11, h * 0.8); - c.lineTo(w * 0.2, h * 0.89); - c.lineTo(w * 0.05, h * 0.95); - c.close(); - c.moveTo(w * 0.74, h * 0.16); - c.lineTo(w * 0.84, h * 0.26); - c.lineTo(w * 0.22, h * 0.88); - c.lineTo(w * 0.12, h * 0.78); - c.close(); - c.moveTo(w * 0.755, h * 0.145); - c.lineTo(w * 0.82, h * 0.08); - c.lineTo(w * 0.92, h * 0.18); - c.lineTo(w * 0.855, h * 0.245); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupEdit.prototype.cst.SHAPE_EDIT, mxShapeMockupEdit); - -//********************************************************************************************************************************************************** -//Print Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupPrint(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupPrint, mxShape); - -mxShapeMockupPrint.prototype.cst = { - SHAPE_PRINT : 'mxgraph.mockup.misc.printIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupPrint.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.translate(x, y); - - c.roundrect(0, 0, w, h, w * 0.05, h * 0.05); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.15, h * 0.58); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.18, h * 0.55); - c.lineTo(w * 0.82, h * 0.55); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.85, h * 0.58); - c.lineTo(w * 0.85, h * 0.82); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.82, h * 0.85); - c.lineTo(w * 0.18, h * 0.85); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.15, h * 0.82); - c.close(); - c.moveTo(w * 0.7, h * 0.52); - c.lineTo(w * 0.3, h * 0.52); - c.lineTo(w * 0.3, h * 0.15); - c.lineTo(w * 0.55, h * 0.15); - c.lineTo(w * 0.55, h * 0.3); - c.lineTo(w * 0.7, h * 0.3); - c.close(); - c.moveTo(w * 0.57, h * 0.15); - c.lineTo(w * 0.7, h * 0.28); - c.lineTo(w * 0.57, h * 0.28); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupPrint.prototype.cst.SHAPE_PRINT, mxShapeMockupPrint); - -//********************************************************************************************************************************************************** -//Print Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupShare(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupShare, mxShape); - -mxShapeMockupShare.prototype.cst = { - SHAPE_SHARE : 'mxgraph.mockup.misc.shareIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupShare.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.translate(x, y); - - c.roundrect(0, 0, w, h, w * 0.05, h * 0.05); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.15, h * 0.18); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.18, h * 0.15); - c.lineTo(w * 0.82, h * 0.15); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.85, h * 0.18); - c.lineTo(w * 0.85, h * 0.82); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.82, h * 0.85); - c.lineTo(w * 0.18, h * 0.85); - c.arcTo(w * 0.03, h * 0.03, 0, 0, 1, w * 0.15, h * 0.82); - c.close(); - c.fill(); - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - c.setFillColor(fillColor); - c.begin(); - c.moveTo(w * 0.563, h * 0.34); - c.arcTo(w * 0.095, h * 0.095, 0, 1, 1, w * 0.603, h * 0.42); - c.lineTo(w * 0.44, h * 0.5); - c.lineTo(w * 0.602, h * 0.582); - c.arcTo(w * 0.095, h * 0.095, 0, 1, 1, w * 0.563, h * 0.653); - c.lineTo(w * 0.403, h * 0.575); - c.arcTo(w * 0.095, h * 0.095, 0, 1, 1, w * 0.4, h * 0.42); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupShare.prototype.cst.SHAPE_SHARE, mxShapeMockupShare); - -//********************************************************************************************************************************************************** -//Trashcan Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupTrashcan(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupTrashcan, mxShape); - -mxShapeMockupTrashcan.prototype.cst = { - SHAPE_TRASHCAN : 'mxgraph.mockup.misc.trashcanIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupTrashcan.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.translate(x, y); - - c.roundrect(0, 0, w, h, w * 0.05, h * 0.05); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.24, h * 0.24); - c.arcTo(w * 0.04, h * 0.04, 0, 0, 1, w * 0.24, h * 0.16); - c.lineTo(w * 0.4, h * 0.16); - c.lineTo(w * 0.4, h * 0.12); - c.lineTo(w * 0.6, h * 0.12); - c.lineTo(w * 0.6, h * 0.16); - c.lineTo(w * 0.76, h * 0.16); - c.arcTo(w * 0.04, h * 0.04, 0, 0, 1, w * 0.76, h * 0.24); - c.close(); - c.fill(); - - c.roundrect(w * 0.26, h * 0.3, w * 0.1, h * 0.6, w * 0.06, h * 0.06); - c.fill(); - c.roundrect(w * 0.44, h * 0.3, w * 0.1, h * 0.6, w * 0.06, h * 0.06); - c.fill(); - c.roundrect(w * 0.62, h * 0.3, w * 0.1, h * 0.6, w * 0.06, h * 0.06); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupTrashcan.prototype.cst.SHAPE_TRASHCAN, mxShapeMockupTrashcan); - -//********************************************************************************************************************************************************** -//Copyright Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupCopyright(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupCopyright, mxShape); - -mxShapeMockupCopyright.prototype.cst = { - SHAPE_COPYRIGHT : 'mxgraph.mockup.misc.copyrightIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupCopyright.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.translate(x, y); - - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.713, h * 0.288); - c.arcTo(w * 0.3, h * 0.3, 0, 1, 0, w * 0.713, h * 0.712); - c.lineTo(w * 0.784, h * 0.783); - c.arcTo(w * 0.4, h * 0.4, 0, 1, 1, w * 0.784, h * 0.217); - c.close(); - c.fill(); - -}; - -mxCellRenderer.registerShape(mxShapeMockupCopyright.prototype.cst.SHAPE_COPYRIGHT, mxShapeMockupCopyright); - -//********************************************************************************************************************************************************** -//Registered Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRegistered(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRegistered, mxShape); - -mxShapeMockupRegistered.prototype.cst = { - SHAPE_REGISTERED : 'mxgraph.mockup.misc.registeredIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRegistered.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.translate(x, y); - - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.29, h * 0.9); - c.lineTo(w * 0.29, h * 0.09); - c.lineTo(w * 0.5, h * 0.09); - c.arcTo(w * 0.2195, h * 0.2195, 0, 0, 1, w * 0.545, h * 0.525); - c.lineTo(w * 0.738, h * 0.91); - c.lineTo(w * 0.674, h * 0.91); - c.lineTo(w * 0.4825, h * 0.53); - c.lineTo(w * 0.35, h * 0.53); - c.lineTo(w * 0.35, h * 0.9); - c.close(); - c.moveTo(w * 0.35, h * 0.47); - c.lineTo(w * 0.5, h * 0.47); - c.arcTo(w * 0.15, h * 0.15, 0, 0, 0, w * 0.5, h * 0.15); - c.lineTo(w * 0.35, h * 0.15); - c.close(); - c.fill(); - -}; - -mxCellRenderer.registerShape(mxShapeMockupRegistered.prototype.cst.SHAPE_REGISTERED, mxShapeMockupRegistered); - -//********************************************************************************************************************************************************** -//Volume Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupVolume(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupVolume, mxShape); - -mxShapeMockupVolume.prototype.cst = { - SHAPE_VOLUME : 'mxgraph.mockup.misc.volumeIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupVolume.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#999999'); - - c.translate(x, y); - - c.roundrect(0, 0, w, h, w * 0.05, h * 0.05); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.1, h * 0.3); - c.lineTo(w * 0.3, h * 0.3); - c.lineTo(w * 0.5, h * 0.15); - c.lineTo(w * 0.5, h * 0.85); - c.lineTo(w * 0.3, h * 0.7); - c.lineTo(w * 0.1, h * 0.7); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w * 0.6, h * 0.4); - c.arcTo(w * 0.2, h * 0.2, 0, 0, 1, w * 0.6, h * 0.6); - - c.moveTo(w * 0.7, h * 0.3); - c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, w * 0.7, h * 0.7); - - c.moveTo(w * 0.8, h * 0.2); - c.arcTo(w * 0.4, h * 0.4, 0, 0, 1, w * 0.8, h * 0.8); - c.stroke(); - -}; - -mxCellRenderer.registerShape(mxShapeMockupVolume.prototype.cst.SHAPE_VOLUME, mxShapeMockupVolume); - -//********************************************************************************************************************************************************** -//Ruler -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRuler(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRuler, mxShape); - -mxShapeMockupRuler.prototype.cst = { - SHAPE_RULER : 'mxgraph.mockup.misc.ruler', - ORIENTATION : 'rulerOrient', - UNIT_SIZE : 'unitSize', - FACE_UP : 'up', - FACE_DOWN : 'down' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRuler.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupRuler.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupRuler.prototype.foreground = function(c, w, h) -{ - var facing = mxUtils.getValue(this.style, mxShapeMockupRuler.prototype.cst.ORIENTATION, mxShapeMockupRuler.prototype.cst.FACE_DOWN); - var unitSize = mxUtils.getValue(this.style, mxShapeMockupRuler.prototype.cst.UNIT_SIZE, '10'); - - unitSize = Math.max(unitSize, 1); - - var currX = unitSize; - var i = 1; - - if (facing === mxShapeMockupRuler.prototype.cst.FACE_DOWN) - { - c.begin(); - - while (currX < w) - { - var remainder = i % 10; - - if (remainder === 0) - { - c.moveTo(currX, h * 0.5); - c.lineTo(currX, h); - } - else if ( remainder === 5) - { - c.moveTo(currX, h * 0.7); - c.lineTo(currX, h); - } - else - { - c.moveTo(currX, h * 0.8); - c.lineTo(currX, h); - } - - currX = currX + unitSize; - i = i + 1; - } - - c.stroke(); - } - else if (facing === mxShapeMockupRuler.prototype.cst.FACE_UP) - { - c.begin(); - - while (currX < w) - { - var remainder = i % 10; - - if (remainder === 0) - { - c.moveTo(currX, h * 0.5); - c.lineTo(currX, 0); - } - else if ( remainder === 5) - { - c.moveTo(currX, h * 0.3); - c.lineTo(currX, 0); - } - else - { - c.moveTo(currX, h * 0.2); - c.lineTo(currX, 0); - } - - currX = currX + unitSize; - i = i + 1; - } - - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupRuler.prototype.cst.SHAPE_RULER, mxShapeMockupRuler); - -//********************************************************************************************************************************************************** -//Advanced Ruler -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRuler2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRuler2, mxShape); - -mxShapeMockupRuler2.prototype.cst = { - SHAPE_RULER : 'mxgraph.mockup.misc.ruler2', - ORIENTATION : 'rulerOrient', - UNIT_SIZE : 'dx', - FACE_UP : 'up', - FACE_DOWN : 'down' -}; - -mxShapeMockupRuler2.prototype.customProperties = [ - {name: 'rulerOrient', dispName: 'Orientation', defVal:'up', type: 'enum', - enumList: [{val: 'up', dispName: 'Up'}, {val: 'down', dispName: 'Down'}] - }, - {name: 'dx', dispName: 'Unit Size', type: 'float', min:0, defVal:100} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRuler2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupRuler2.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupRuler2.prototype.foreground = function(c, x, y, w, h) -{ - var facing = mxUtils.getValue(this.style, mxShapeMockupRuler2.prototype.cst.ORIENTATION, mxShapeMockupRuler2.prototype.cst.FACE_DOWN); - var fontColor = mxUtils.getValue(this.style, mxConstants.STYLE_FONTCOLOR, '#000000'); - var dx = mxUtils.getValue(this.style, 'dx', '100'); - var unitSize = dx / 10; - this.state.style['spacingLeft'] = Math.round(1000 * Math.max(0, Math.min(w, dx))) / 1000 - 4; - - unitSize = Math.max(unitSize, 1); - - c.setFontColor(fontColor); - - var currX = unitSize; - var i = 1; - - if (facing === mxShapeMockupRuler2.prototype.cst.FACE_DOWN) - { - c.begin(); - - while (currX < w) - { - var remainder = i % 10; - - if (remainder === 0) - { - c.moveTo(currX, h - 10); - c.lineTo(currX, h); - - var unit = this.state.view.graph.getLabel(this.state.cell); - - if (!isNaN(unit)) - { - c.stroke(); - - var num = i * Math.round(100 * unit) / 1000; - - if (i != 10 && num != 0) - { - c.text(currX, (h - 10) * 0.5, 0, 0, num.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - c.begin(); - } - } - else if ( remainder === 5) - { - c.moveTo(currX, h - 6); - c.lineTo(currX, h); - } - else - { - c.moveTo(currX, h - 4); - c.lineTo(currX, h); - } - - currX = currX + unitSize; - i = i + 1; - } - - c.stroke(); - } - else if (facing === mxShapeMockupRuler2.prototype.cst.FACE_UP) - { - c.begin(); - - while (currX < w) - { - var remainder = i % 10; - - if (remainder === 0) - { - c.moveTo(currX, 10); - c.lineTo(currX, 0); - - var unit = this.state.view.graph.getLabel(this.state.cell); - - if (!isNaN(unit)) - { - c.stroke(); - - var num = i * Math.round(100 * unit) / 1000; - - if (i != 10 && num != 0) - { - c.text(currX, (h + 10) * 0.5, 0, 0, num.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - c.begin(); - } - } - else if ( remainder === 5) - { - c.moveTo(currX, 6); - c.lineTo(currX, 0); - } - else - { - c.moveTo(currX, 4); - c.lineTo(currX, 0); - } - - currX = currX + unitSize; - i = i + 1; - } - - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupRuler2.prototype.cst.SHAPE_RULER, mxShapeMockupRuler2); - -Graph.handleFactory[mxShapeMockupRuler2.prototype.cst.SHAPE_RULER] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'spacingLeft', 'align', 'varticalAlign', 'spacingBottom', 'spacingTop', 'spacingRight', 'spacing'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height - 10); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(1000 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 1000; - this.state.style['spacingLeft'] = Math.round(1000 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 1000 - 4; - this.state.style['align'] = 'left'; - this.state.style['verticalAlign'] = 'middle'; - - var facing = mxUtils.getValue(this.state.style, 'rulerOrient', '1'); - - if (facing == 'down') - { - this.state.style['spacingBottom'] = 10; - this.state.style['spacingTop'] = 0; - } - else - { - this.state.style['spacingBottom'] = 0; - this.state.style['spacingTop'] = 10; - } - - this.state.style['spacingRight'] = 0; - this.state.style['spacing'] = 0; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Revision Table -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRevisionTable(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRevisionTable, mxShape); - -mxShapeMockupRevisionTable.prototype.cst = { - SHAPE_REVISION_TABLE : 'mxgraph.mockup.misc.revisionTable', - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRevisionTable.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupRevisionTable.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupRevisionTable.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupRevisionTable.prototype.cst.MAIN_TEXT, '').toString().split(','); - var textColor = mxUtils.getValue(this.style, mxShapeMockupRevisionTable.prototype.cst.TEXT_COLOR, '#999999'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupRevisionTable.prototype.cst.TEXT_SIZE, '17'); - - c.begin(); - c.moveTo(0, h * 0.33); - c.lineTo(w, h * 0.33); - c.moveTo(0, h * 0.67); - c.lineTo(w, h * 0.67); - c.moveTo(w * 0.125, h * 0.33); - c.lineTo(w * 0.125, h); - c.moveTo(w * 0.5, h * 0.33); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.setFontSize(textSize); - c.setFontColor(textColor); - - c.text(w * 0.5, h * 0.165, 0, 0, mainText[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.0625, h * 0.5, 0, 0, mainText[1], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.3125, h * 0.5, 0, 0, mainText[2], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.75, h * 0.5, 0, 0, mainText[3], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.0625, h * 0.835, 0, 0, mainText[4], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.3125, h * 0.835, 0, 0, mainText[5], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.75, h * 0.835, 0, 0, mainText[6], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - -}; - -mxCellRenderer.registerShape(mxShapeMockupRevisionTable.prototype.cst.SHAPE_REVISION_TABLE, mxShapeMockupRevisionTable); - -//********************************************************************************************************************************************************** -//Status Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupStatusBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupStatusBar, mxShape); - -mxShapeMockupStatusBar.prototype.cst = { - SHAPE_STATUS_BAR : 'mxgraph.mockup.misc.statusBar', - MAIN_TEXT : 'mainText', - FILL_COLOR2 : 'fillColor2', - STROKE_COLOR2 : 'strokeColor2', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupStatusBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - w = Math.max(w, 105); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupStatusBar.prototype.background = function(c, w, h) -{ - c.rect(0, h * 0.5 - 15, w, 30); - c.fillAndStroke(); -}; - -mxShapeMockupStatusBar.prototype.foreground = function(c, w, h) -{ - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupStatusBar.prototype.cst.FILL_COLOR2, '#ddeeff'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeMockupStatusBar.prototype.cst.STROKE_COLOR2, '#008cff'); - var mainText = mxUtils.getValue(this.style, mxShapeMockupStatusBar.prototype.cst.MAIN_TEXT, '').toString().split(','); - var textColor = mxUtils.getValue(this.style, mxShapeMockupStatusBar.prototype.cst.TEXT_COLOR, '#999999'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupStatusBar.prototype.cst.TEXT_SIZE, '17'); - - c.setFillColor(fillColor2); - c.roundrect(5, h * 0.5 - 10, (w - 75) * 0.46, 20, 5, 5); - c.fill(); - - c.roundrect(10 + (w - 75) * 0.46, h * 0.5 - 10, (w - 75) * 0.23, 20, 5, 5); - c.fill(); - c.roundrect(15 + (w - 75) * 0.69, h * 0.5 - 10, (w - 75) * 0.276, 20, 5, 5); - c.fill(); - - c.setFontSize(textSize); - c.setFontColor(textColor); - c.text(10, h * 0.5, 0, 0, mainText[0], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(10 + (w - 75) * 0.575, h * 0.5, 0, 0, mainText[1], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(15 + (w - 75) * 0.828, h * 0.5, 0, 0, mainText[2], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setStrokeColor(strokeColor2); - c.ellipse(w - 25, h * 0.5 - 10, 20, 20); - c.stroke(); - c.begin(); - c.moveTo(w - 55, h * 0.5 + 10); - c.lineTo(w - 35, h * 0.5 + 10); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupStatusBar.prototype.cst.SHAPE_STATUS_BAR, mxShapeMockupStatusBar); - -//********************************************************************************************************************************************************** -//Pin -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupPin(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupPin, mxShape); - -mxShapeMockupPin.prototype.cst = { - SHAPE_PIN : 'mxgraph.mockup.misc.pin', - FILL_COLOR2 : 'fillColor2', - FILL_COLOR3 : 'fillColor3' -}; - -mxShapeMockupPin.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, - {name: 'fillColor3', dispName: 'Fill3 Color', type: 'color'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupPin.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupPin.prototype.cst.FILL_COLOR2, '#000000'); - var fillColor3 = mxUtils.getValue(this.style, mxShapeMockupPin.prototype.cst.FILL_COLOR3, '#000000'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setShadow(false); - c.translate(x, y); - - c.setStrokeWidth(3); - c.setStrokeColor('#666666'); - c.begin(); - c.moveTo(w * 0.5, h * 0.4); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.setStrokeWidth(2); - c.setStrokeColor(strokeColor); - c.setGradient(fillColor2, fillColor3, 0, 0, w, h * 0.4, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(0.9); - c.ellipse(0, 0, w, h * 0.4); - c.fillAndStroke(); - - c.setFillColor('#ffffff'); - c.setAlpha(0.5); - c.ellipse(w * 0.2, h * 0.08, w * 0.3, h * 0.12); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupPin.prototype.cst.SHAPE_PIN, mxShapeMockupPin); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupMiscRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupMiscRRect, mxShape); - -mxShapeMockupMiscRRect.prototype.cst = { - RRECT : 'mxgraph.mockup.misc.rrect', - R_SIZE : 'rSize' -}; - -mxShapeMockupMiscRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupMiscRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupMiscRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupMiscRRect.prototype.cst.RRECT, mxShapeMockupMiscRRect); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupMiscAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupMiscAnchor, mxShape); - -mxShapeMockupMiscAnchor.prototype.cst = { - ANCHOR : 'mxgraph.mockup.misc.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupMiscAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeMockupMiscAnchor.prototype.cst.ANCHOR, mxShapeMockupMiscAnchor); - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupNavigation.js b/dist/libs/drawio/shapes/mockup/mxMockupNavigation.js deleted file mode 100644 index 4afe075e..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupNavigation.js +++ /dev/null @@ -1,845 +0,0 @@ -/** - * $Id: mxMockupNavigation.js,v 1.5 2014/01/21 13:11:15 gaudenz Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Breadcrumb (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupBreadcrumb(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupBreadcrumb, mxShape); - -mxShapeMockupBreadcrumb.prototype.cst = { - SHAPE_BREADCRUMB : 'mxgraph.mockup.navigation.breadcrumb', - MAIN_TEXT : 'mainText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupBreadcrumb.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeMockupBreadcrumb.prototype.cst.MAIN_TEXT, 'Layer 1, Layer 2, Layer 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupBreadcrumb.prototype.cst.TEXT_COLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxShapeMockupBreadcrumb.prototype.cst.TEXT_COLOR2, '#008cff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupBreadcrumb.prototype.cst.TEXT_SIZE, '17').toString(); - var separatorColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#c4c4c4'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var labelOffset = 10; - - for (var i = 0; i < buttonNum; i++) - { - buttonWidths[i] = mxUtils.getSizeForString(textStrings[i], fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 20); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - c.translate(x, y); - c.setShadow(false); - - this.separators(c, trueW, trueH, buttonNum, buttonWidths, labelOffset, minW, separatorColor); - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i + 1 === buttonNum) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeMockupBreadcrumb.prototype.separators = function(c, w, h, buttonNum, buttonWidths, labelOffset, minW, separatorColor) -{ - //draw the button separators - c.setStrokeColor(separatorColor); - var midY = h * 0.5; - var size = 5; - c.begin(); - - for (var i = 1; i < buttonNum; i++) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth = currWidth * w / minW; - c.moveTo(currWidth - size * 0.5, midY - size); - c.lineTo(currWidth + size * 0.5, midY); - c.lineTo(currWidth - size * 0.5, midY + size); - } - c.stroke(); -}; - -mxShapeMockupBreadcrumb.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - c.begin(); - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, h * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupBreadcrumb.prototype.cst.SHAPE_BREADCRUMB, mxShapeMockupBreadcrumb); - -//********************************************************************************************************************************************************** -//Step Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupStepBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupStepBar, mxShape); - -mxShapeMockupStepBar.prototype.cst = { - SHAPE_STEP_BAR : 'mxgraph.mockup.navigation.stepBar', - SELECTED : '+', //must be 1 char - MAIN_TEXT : 'mainText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2' -}; - -mxShapeMockupStepBar.prototype.customProperties = [ - {name: 'mainText', dispName: 'Text', type: 'string'}, - {name: 'textSize', dispName: 'Text Size', type: 'float'}, - {name: 'textColor', dispName: 'Text Color', type: 'color'}, - {name: 'textColor2', dispName: 'Text2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupStepBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeMockupStepBar.prototype.cst.MAIN_TEXT, 'Step 1, Step 2, Step 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupStepBar.prototype.cst.TEXT_COLOR, '#666666'); - var currColor = mxUtils.getValue(this.style, mxShapeMockupStepBar.prototype.cst.TEXT_COLOR2, '#008cff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupStepBar.prototype.cst.TEXT_SIZE, '17').toString(); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#c4c4c4'); - var doneColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#666666'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var labelOffset = 10; - var selectedButton = -1; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxShapeMockupStepBar.prototype.cst.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - buttonWidths[i] = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 20); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - c.translate(x, y); - - this.stepLineBg(c, trueW, trueH, buttonNum, buttonWidths, labelOffset, minW, bgColor, fontSize, trueW); - c.setShadow(false); - - this.stepLineFg(c, trueW, trueH, buttonNum, buttonWidths, labelOffset, minW, bgColor, doneColor, currColor, fontSize, trueW, selectedButton); - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i >= selectedButton) - { - c.setFontColor(currColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeMockupStepBar.prototype.stepLineBg = function(c, w, h, buttonNum, buttonWidths, labelOffset, minW, bgColor, fontSize, trueW) -{ - //draw the button separators - c.setStrokeColor(bgColor); - c.setFillColor(bgColor); - var midY = fontSize * 2; - var size = 10; - var startX = 0; - var endX = 0; - - for (var i = 0; i < buttonNum; i++) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth += buttonWidths[i] * 0.5 + labelOffset; - - currWidth = currWidth * w / minW; - - if (i === 0) - { - startX = currWidth; - } - else if (i + 1 === buttonNum) - { - endX = currWidth; - } - - c.begin(); - c.ellipse(currWidth - size, midY - size, 2 * size, 2 * size); - c.fillAndStroke(); - } - - c.begin(); - c.rect(startX, midY - size * 0.2, endX - startX, size * 0.4); - c.fillAndStroke(); -}; - -mxShapeMockupStepBar.prototype.stepLineFg = function(c, w, h, buttonNum, buttonWidths, labelOffset, minW, bgColor, doneColor, currColor, fontSize, trueW, selectedButton) -{ - //draw the button separators - c.setStrokeColor(doneColor); - var midY = fontSize * 2; - var size = 10 * 0.75; - var startX = 0; - var endX = 0; - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - - for (var i = 0; i <= selectedButton; i++) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth += buttonWidths[i] * 0.5 + labelOffset; - - currWidth = currWidth * w / minW; - - if (i === 0) - { - startX = currWidth; - } - else if (i === selectedButton) - { - endX = currWidth; - } - } - - c.setFillColor(doneColor); - c.begin(); - c.rect(startX, midY - size * 0.15, endX - startX, size * 0.3); - c.fill(); - c.setFillColor(bgColor); - - for (var i = 0; i <= selectedButton; i++) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth += buttonWidths[i] * 0.5 + labelOffset; - - currWidth = currWidth * w / minW; - - if (i === 0) - { - startX = currWidth; - } - else if (i + 1 === selectedButton) - { - endX = currWidth; - } - - if (i < selectedButton) - { - c.setStrokeWidth(strokeWidth); - c.begin(); - c.ellipse(currWidth - size, midY - size, 2 * size, 2 * size); - c.fillAndStroke(); - - c.setStrokeWidth(strokeWidth * 0.5); - c.begin(); - c.ellipse(currWidth - size * 0.6, midY - size * 0.6, 2 * size * 0.6, 2 * size * 0.6); - c.fillAndStroke(); - } - else - { - c.setStrokeWidth(strokeWidth); - c.setFillColor(bgColor); - c.setStrokeColor(bgColor); - c.begin(); - c.ellipse(currWidth - size / 0.75, midY - size / 0.75, 2 * size / 0.75, 2 * size / 0.75); - c.fillAndStroke(); - - c.setStrokeWidth(strokeWidth); - c.setFillColor('#ffffff'); - c.setStrokeColor('#ffffff'); - c.begin(); - c.ellipse(currWidth - size, midY - size, 2 * size, 2 * size); - c.fillAndStroke(); - - c.setFillColor(currColor); - c.setStrokeColor(currColor); - c.setStrokeWidth(strokeWidth * 0.5); - c.begin(); - c.ellipse(currWidth - size * 0.7, midY - size * 0.7, 2 * size * 0.7, 2 * size * 0.7); - c.fillAndStroke(); - } - } -}; - -mxShapeMockupStepBar.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - if(textString.charAt(0) === mxShapeMockupStepBar.prototype.cst.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, fontSize * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeMockupStepBar.prototype.cst.SHAPE_STEP_BAR, mxShapeMockupStepBar); - -//********************************************************************************************************************************************************** -//Cover Flow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupCoverFlow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupCoverFlow, mxShape); - -mxShapeMockupCoverFlow.prototype.cst = { - SHAPE_COVER_FLOW : 'mxgraph.mockup.navigation.coverFlow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupCoverFlow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(w * 0.0924, h * 0.07); - c.lineTo(w * 0.005, h * 0.01); - c.lineTo(w * 0.005, h * 0.99); - c.lineTo(w * 0.0924, h * 0.93); - - c.moveTo(w * 0.1774, h * 0.09); - c.lineTo(w * 0.0924, h * 0.01); - c.lineTo(w * 0.0924, h * 0.99); - c.lineTo(w * 0.1774, h * 0.91); - - c.moveTo(w * 0.3373, h * 0.22); - c.lineTo(w * 0.1774, h * 0.01); - c.lineTo(w * 0.1774, h * 0.99); - c.lineTo(w * 0.3373, h * 0.78); - - c.moveTo(w * 0.912, h * 0.07); - c.lineTo(w * 0.998, h * 0.01); - c.lineTo(w * 0.998, h * 0.99); - c.lineTo(w * 0.912, h * 0.93); - - c.moveTo(w * 0.8271, h * 0.09); - c.lineTo(w * 0.912, h * 0.01); - c.lineTo(w * 0.912, h * 0.99); - c.lineTo(w * 0.8271, h * 0.91); - - c.moveTo(w * 0.6672, h * 0.22); - c.lineTo(w * 0.8271, h * 0.01); - c.lineTo(w * 0.8271, h * 0.99); - c.lineTo(w * 0.6672, h * 0.78); - - c.moveTo(w * 0.3373, h * 0.005); - c.lineTo(w * 0.3373, h * 0.995); - c.lineTo(w * 0.6672, h * 0.995); - c.lineTo(w * 0.6672, h * 0.005); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupCoverFlow.prototype.cst.SHAPE_COVER_FLOW, mxShapeMockupCoverFlow); - -//********************************************************************************************************************************************************** -//Scroll Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupScrollBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupScrollBar, mxShape); - -mxShapeMockupScrollBar.prototype.cst = { - SHAPE_SCROLL_BAR : 'mxgraph.mockup.navigation.scrollBar', - FILL_COLOR2 : 'fillColor2', - STROKE_COLOR2 : 'strokeColor2', - BAR_POS : 'barPos' -}; - -mxShapeMockupScrollBar.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float'}, - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupScrollBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - h = 20; - var buttonX = 20; - w = Math.max(w, 2 * buttonX); - - c.translate(x, y); - this.background(c, w, h, buttonX); - c.setShadow(false); - this.foreground(c, w, h, buttonX); - this.barPos = 20; -}; - -mxShapeMockupScrollBar.prototype.background = function(c, w, h, buttonX) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); - c.begin(); - c.moveTo(buttonX, 0); - c.lineTo(buttonX, h); - c.moveTo(w - buttonX, 0); - c.lineTo(w - buttonX, h); - c.stroke(); -} - -mxShapeMockupScrollBar.prototype.foreground = function(c, w, h, buttonX) -{ - var barPos = mxUtils.getValue(this.style, mxShapeMockupScrollBar.prototype.cst.BAR_POS, '20'); - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupScrollBar.prototype.cst.FILL_COLOR2, '#99ddff'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeMockupScrollBar.prototype.cst.STROKE_COLOR2, 'none'); - - barPos = Math.max(0, barPos); - barPos = Math.min(100, barPos); - - c.setStrokeColor(strokeColor2); - c.setFillColor(fillColor2); - - c.begin(); - c.moveTo(buttonX * 0.2, h * 0.5); - c.lineTo(buttonX * 0.8, h * 0.2); - c.lineTo(buttonX * 0.8, h * 0.8); - c.close(); - c.moveTo(w - buttonX * 0.2, h * 0.5); - c.lineTo(w - buttonX * 0.8, h * 0.2); - c.lineTo(w - buttonX * 0.8, h * 0.8); - c.close(); - c.fillAndStroke(); - - //draw the handle based on arg.barPos - var barWidth = 60; - var barMin = buttonX; - var barMax = w - buttonX; - barWidth = Math.min(barWidth, barMax - barMin); - var barCenterMin = barMin + barWidth / 2; - var barCenterMax = barMax - barWidth / 2; - var barCenterRange = barCenterMax - barCenterMin; - var barCenterPos = barCenterRange * barPos / 100; - var barStart = barMin + barCenterPos; - - c.roundrect(barStart, h * 0.15, barWidth, h * 0.7, 5, 5); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupScrollBar.prototype.cst.SHAPE_SCROLL_BAR, mxShapeMockupScrollBar); - -Graph.handleFactory[mxShapeMockupScrollBar.prototype.cst.SHAPE_SCROLL_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'barPos', this.barPos)))); - - return new mxPoint(bounds.x + ((bounds.width - 100) * barPos / bounds.width) / 100 * bounds.width + 50, bounds.y + 10); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(1000 * Math.max(0, Math.min(100, (pt.x - bounds.x - 50) * 100 / (bounds.width - 100)))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Pagination -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupPagination(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupPagination, mxShape); - -mxShapeMockupPagination.prototype.cst = { - MAIN_TEXT : 'linkText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - SHAPE_PAGINATION : 'mxgraph.mockup.navigation.pagination' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupPagination.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupPagination.prototype.cst.MAIN_TEXT, '0-9 A B C D E F G H I J K L M N O P Q R S T U V X Y Z'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupPagination.prototype.cst.TEXT_SIZE, '17'); - var textColor = mxUtils.getValue(this.style, mxShapeMockupPagination.prototype.cst.TEXT_COLOR, '#0000ff'); - - c.translate(x, y); - var width = mxUtils.getSizeForString(mainText, textSize, mxConstants.DEFAULT_FONTFAMILY).width; - c.setStrokeColor(textColor); - c.setFontSize(textSize); - c.setFontColor(textColor); - c.text(w * 0.5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.begin(); - c.moveTo(w * 0.5 - width * 0.5, (h + parseInt(textSize, 10)) * 0.5); - c.lineTo(w * 0.5 + width * 0.5, (h + parseInt(textSize, 10)) * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupPagination.prototype.cst.SHAPE_PAGINATION, mxShapeMockupPagination); - -//********************************************************************************************************************************************************** -//Page Control -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupPageControl(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupPageControl, mxShape); - -mxShapeMockupPageControl.prototype.cst = { - SHAPE_PAGE_CONTROL : 'mxgraph.mockup.navigation.pageControl' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupPageControl.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#000000'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - var rSize = Math.min(h * 0.5, w * 0.05); - c.setFillColor(strokeColor); - c.ellipse(0, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.setFillColor(fillColor); - c.ellipse(w * 0.35 - rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w * 0.65 - rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w - 2 * rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeMockupPageControl.prototype.cst.SHAPE_PAGE_CONTROL, mxShapeMockupPageControl); - -//********************************************************************************************************************************************************** -//Map Navigator -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupMapNavigator(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupMapNavigator, mxShape); - -mxShapeMockupMapNavigator.prototype.cst = { - SHAPE_MAP_NAVIGATOR : 'mxgraph.mockup.navigation.mapNavigator', - FILL_COLOR2 : 'fillColor2', - STROKE_COLOR2 : 'strokeColor2', - STROKE_COLOR3 : 'strokeColor3' -}; - -mxShapeMockupMapNavigator.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'}, - {name: 'strokeColor3', dispName: 'Stroke3 Color', type: 'color'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupMapNavigator.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupMapNavigator.prototype.background = function(c, w, h) -{ - c.ellipse(0, 0, w, h * 0.6); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.35, h * 0.584); - c.lineTo(w * 0.35, h * 0.95); - c.arcTo(w * 0.083, h * 0.05, 0, 0, 0, w * 0.43, h); - c.lineTo(w * 0.56, h); - c.arcTo(w * 0.083, h * 0.05, 0, 0, 0, w * 0.65, h * 0.95); - c.lineTo(w * 0.65, h * 0.584); - c.fillAndStroke(); -} - -mxShapeMockupMapNavigator.prototype.foreground = function(c, w, h) -{ - var fillColor2 = mxUtils.getValue(this.style, mxShapeMockupMapNavigator.prototype.cst.FILL_COLOR2, '#99ddff'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeMockupMapNavigator.prototype.cst.STROKE_COLOR2, 'none'); - var strokeColor3 = mxUtils.getValue(this.style, mxShapeMockupMapNavigator.prototype.cst.STROKE_COLOR3, '#ffffff'); - - c.setFillColor(fillColor2); - c.setStrokeColor(strokeColor2); - c.ellipse(w * 0.4, h * 0.65, w * 0.2, h * 0.12); - c.fillAndStroke(); - c.ellipse(w * 0.4, h * 0.85, w * 0.2, h * 0.12); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1806, h * 0.34); - c.lineTo(w * 0.1357, h * 0.366); - c.lineTo(w * 0.0228, h * 0.3); - c.lineTo(w * 0.1357, h * 0.234); - c.lineTo(w * 0.1806, h * 0.26); - c.lineTo(w * 0.1142, h * 0.3); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.433, h * 0.108); - c.lineTo(w * 0.3881, h * 0.08); - c.lineTo(w * 0.4994, h * 0.012); - c.lineTo(w * 0.6123, h * 0.08); - c.lineTo(w * 0.5658, h * 0.108); - c.lineTo(w * 0.4994, h * 0.068); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8198, h * 0.262); - c.lineTo(w * 0.868, h * 0.233); - c.lineTo(w * 0.9776, h * 0.3); - c.lineTo(w * 0.868, h * 0.367); - c.lineTo(w * 0.8198, h * 0.341); - c.lineTo(w * 0.8863, h * 0.3); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5641, h * 0.493); - c.lineTo(w * 0.6123, h * 0.522); - c.lineTo(w * 0.4994, h * 0.588); - c.lineTo(w * 0.3881, h * 0.521); - c.lineTo(w * 0.4363, h * 0.493); - c.lineTo(w * 0.4994, h * 0.533); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3333, h * 0.32); - c.lineTo(w * 0.3333, h * 0.28); - c.lineTo(w * 0.4163, h * 0.3); - c.close(); - c.moveTo(w * 0.4662, h * 0.2); - c.lineTo(w * 0.5326, h * 0.2); - c.lineTo(w * 0.4994, h * 0.25); - c.close() - c.moveTo(w * 0.6654, h * 0.28); - c.lineTo(w * 0.6654, h * 0.32); - c.lineTo(w * 0.5824, h * 0.3); - c.close(); - c.moveTo(w * 0.5326, h * 0.4); - c.lineTo(w * 0.4662, h * 0.4); - c.lineTo(w * 0.4994, h * 0.35); - c.close(); - c.fillAndStroke(); - - c.setStrokeWidth(2); - c.setStrokeColor(strokeColor3); - - c.begin(); - c.moveTo(w * 0.5, h * 0.67); - c.lineTo(w * 0.5, h * 0.75); - c.moveTo(w * 0.43, h * 0.71); - c.lineTo(w * 0.57, h * 0.71); - c.moveTo(w * 0.43, h * 0.91); - c.lineTo(w * 0.57, h * 0.91); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupMapNavigator.prototype.cst.SHAPE_MAP_NAVIGATOR, mxShapeMockupMapNavigator); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupNavigationAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupNavigationAnchor, mxShape); - -mxShapeMockupNavigationAnchor.prototype.cst = { - ANCHOR : 'mxgraph.mockup.navigation.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupNavigationAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeMockupNavigationAnchor.prototype.cst.ANCHOR, mxShapeMockupNavigationAnchor); - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupText.js b/dist/libs/drawio/shapes/mockup/mxMockupText.js deleted file mode 100644 index 6b53a743..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupText.js +++ /dev/null @@ -1,867 +0,0 @@ -/** - * $Id: mxMockupText.js,v 1.4 2013/05/24 07:12:36 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Link -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupLink(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupLink, mxShape); - -mxShapeMockupLink.prototype.cst = { - LINK_TEXT : 'linkText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - SHAPE_LINK : 'mxgraph.mockup.text.link' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupLink.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var linkText = mxUtils.getValue(this.style, mxShapeMockupLink.prototype.cst.LINK_TEXT, 'Link'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupLink.prototype.cst.TEXT_SIZE, '17'); - var textColor = mxUtils.getValue(this.style, mxShapeMockupLink.prototype.cst.TEXT_COLOR, '#0000ff'); - - c.translate(x, y); - var width = mxUtils.getSizeForString(linkText, textSize, mxConstants.DEFAULT_FONTFAMILY).width; - c.setStrokeColor(textColor); - c.setFontSize(textSize); - c.setFontColor(textColor); - - c.text(w * 0.5, h * 0.5, 0, 0, linkText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.begin(); - c.moveTo(w * 0.5 - width * 0.5, (h + parseInt(textSize, 10)) * 0.5); - c.lineTo(w * 0.5 + width * 0.5, (h + parseInt(textSize, 10)) * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupLink.prototype.cst.SHAPE_LINK, mxShapeMockupLink); - -//********************************************************************************************************************************************************** -//Link Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupLinkBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupLinkBar, mxShape); - -mxShapeMockupLinkBar.prototype.cst = { - MAIN_TEXT : 'mainText', - SHAPE_LINK_BAR : 'mxgraph.mockup.text.linkBar', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2', - SELECTED : '+', //must be 1 char - TEXT_SIZE : 'textSize' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupLinkBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeMockupLinkBar.prototype.cst.MAIN_TEXT, '+Button 1, Button 2, Button 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupLinkBar.prototype.cst.TEXT_COLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxShapeMockupLinkBar.prototype.cst.TEXT_COLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupLinkBar.prototype.cst.TEXT_SIZE, '17').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var separatorColor = mxUtils.getValue(this.style, mxShapeMockupLinkBar.prototype.cst.STROKE_COLOR2, '#c4c4c4'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var selectedFillColor = mxUtils.getValue(this.style, mxShapeMockupLinkBar.prototype.cst.FILL_COLOR2, '#008cff'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var selectedButton = -1; - var rSize = 10; //rounding size - var labelOffset = 5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxShapeMockupLinkBar.prototype.cst.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - var currW = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currW === 0) - { - buttonWidths[i] = 42; - } - else - { - buttonWidths[i] = currW; - } - - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 20); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - this.background(c, trueW, trueH, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton); - c.setShadow(false); - - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - c.setStrokeColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - c.setStrokeColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeMockupLinkBar.prototype.background = function(c, w, h, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton) -{ - c.begin(); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(separatorColor); - c.begin(); - - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth = currWidth * w / minW; - c.moveTo(currWidth, 0); - c.lineTo(currWidth, h); - } - } - - c.stroke(); - - //draw the selected button - var buttonLeft = 0; - c.setFillColor(selectedFillColor); - - for (var i = 0; i < selectedButton; i++) - { - buttonLeft += buttonWidths[i] + 2 * labelOffset; - } - - buttonLeft = buttonLeft * w / minW; - var buttonRight = (buttonWidths[selectedButton] + 2 * labelOffset) * w / minW; - buttonRight += buttonLeft; - - if (selectedButton === 0) - { - c.rect(0, 0, buttonRight, h); - c.fill(); - } - else if (selectedButton === buttonNum - 1) - { - c.rect(buttonLeft, 0, buttonRight - buttonLeft, h); - c.fill(); - } - else if (selectedButton !== -1) - { - c.rect(buttonLeft, 0, buttonRight - buttonLeft, h); - c.fill(); - } - - //draw the frame again, to achieve a nicer effect - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.rect(0, 0, w, h); - c.stroke(); -}; - -mxShapeMockupLinkBar.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - if(textString.charAt(0) === mxShapeMockupLinkBar.prototype.cst.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, h * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var textW = mxUtils.getSizeForString(textString, fontSize, mxConstants.DEFAULT_FONTFAMILY).width * 0.5; - - if (textString !== null && textString !== '') - { - c.begin(); - c.moveTo((w + buttonWidth * 0.5) * trueW / minW - textW, h * 0.5 + fontSize * 0.5); - c.lineTo((w + buttonWidth * 0.5) * trueW / minW + textW, h * 0.5 + fontSize * 0.5); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupLinkBar.prototype.cst.SHAPE_LINK_BAR, mxShapeMockupLinkBar); - -//********************************************************************************************************************************************************** -//Callout -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupCallout(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupCallout, mxShape); - -mxShapeMockupCallout.prototype.cst = { - CALLOUT_TEXT : 'linkText', - CALLOUT_DIR : 'callDir', - CALLOUT_STYLE : 'callStyle', - STYLE_LINE : 'line', - STYLE_RECT : 'rect', - STYLE_ROUNDRECT : 'roundRect', - DIR_NW : 'NW', - DIR_NE : 'NE', - DIR_SE : 'SE', - DIR_SW : 'SW', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - SHAPE_CALLOUT : 'mxgraph.mockup.text.callout' -}; - -mxShapeMockupCallout.prototype.customProperties = [ - {name: 'callDir', dispName: 'Direction', type: 'enum', - enumList:[{val: 'NW', dispName:'North-West'}, - {val: 'NE', dispName:'North-East'}, - {val: 'SE', dispName:'South-East'}, - {val: 'SW', dispName:'South-West'}]}, - {name: 'callStyle', dispName: 'Style', type: 'enum', - enumList:[{val: 'line', dispName:'Line'}, - {val: 'rect', dispName:'Rectangle'}]} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupCallout.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var calloutText = mxUtils.getValue(this.style, mxShapeMockupCallout.prototype.cst.CALLOUT_TEXT, 'Callout'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupCallout.prototype.cst.TEXT_SIZE, '17'); - var textColor = mxUtils.getValue(this.style, mxShapeMockupCallout.prototype.cst.TEXT_COLOR, '#666666'); - var callStyle = mxUtils.getValue(this.style, mxShapeMockupCallout.prototype.cst.CALLOUT_STYLE, mxShapeMockupCallout.prototype.cst.STYLE_LINE); - var callDir = mxUtils.getValue(this.style, mxShapeMockupCallout.prototype.cst.CALLOUT_DIR, mxShapeMockupCallout.prototype.cst.DIR_NW); - var textWidth = mxUtils.getSizeForString(calloutText, textSize, mxConstants.DEFAULT_FONTFAMILY).width; - textWidth = textWidth * 1.2; - - if (textWidth == 0) - { - textWidth = 70; - } - - c.translate(x, y); - c.setFontSize(textSize); - c.setFontColor(textColor); - var callH = textSize * 1.5; - - if (callDir === mxShapeMockupCallout.prototype.cst.DIR_NW) - { - if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_LINE) - { - c.begin(); - c.moveTo(0, callH); - c.lineTo(textWidth, callH); - c.lineTo(w, h); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_RECT) - { - c.rect(0,0, textWidth, callH); - c.fillAndStroke(); - c.begin(); - c.moveTo(textWidth * 0.5, callH); - c.lineTo(w, h); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT) - { - c.roundrect(0, 0, textWidth, callH, callH * 0.25, callH * 0.25); - c.fillAndStroke(); - c.begin(); - c.moveTo(textWidth * 0.5, callH); - c.lineTo(w, h); - c.stroke(); - } - - c.text(textWidth * 0.5, callH * 0.5, 0, 0, calloutText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (callDir === mxShapeMockupCallout.prototype.cst.DIR_NE) - { - if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_LINE) - { - c.begin(); - c.moveTo(w, callH); - c.lineTo(w - textWidth, callH); - c.lineTo(0, h); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_RECT) - { - c.rect(w - textWidth,0, textWidth, callH); - c.fillAndStroke(); - c.begin(); - c.moveTo(w - textWidth * 0.5, callH); - c.lineTo(0, h); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT) - { - c.roundrect(w - textWidth,0, textWidth, callH, callH * 0.25, callH * 0.25); - c.fillAndStroke(); - c.begin(); - c.moveTo(w - textWidth * 0.5, callH); - c.lineTo(0, h); - c.stroke(); - } - - c.text(w - textWidth * 0.5, callH * 0.5, 0, 0, calloutText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (callDir === mxShapeMockupCallout.prototype.cst.DIR_SE) - { - if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_LINE) - { - c.begin(); - c.moveTo(w, h); - c.lineTo(w - textWidth, h); - c.lineTo(0, 0); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_RECT) - { - c.rect(w - textWidth, h - callH, textWidth, callH); - c.fillAndStroke(); - c.begin(); - c.moveTo(w - textWidth * 0.5, h - callH); - c.lineTo(0, 0); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT) - { - c.roundrect(w - textWidth,h - callH, textWidth, callH, callH * 0.25, callH * 0.25); - c.fillAndStroke(); - c.begin(); - c.moveTo(w - textWidth * 0.5, h - callH); - c.lineTo(0, 0); - c.stroke(); - } - - c.text(w - textWidth * 0.5, h - callH * 0.5, 0, 0, calloutText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (callDir === mxShapeMockupCallout.prototype.cst.DIR_SW) - { - if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_LINE) - { - c.begin(); - c.moveTo(0, h); - c.lineTo(textWidth, h); - c.lineTo(w, 0); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_RECT) - { - c.rect(0, h - callH, textWidth, callH); - c.fillAndStroke(); - c.begin(); - c.moveTo(textWidth * 0.5, h - callH); - c.lineTo(w, 0); - c.stroke(); - } - else if (callStyle === mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT) - { - c.roundrect(0, h - callH, textWidth, callH, callH * 0.25, callH * 0.25); - c.fillAndStroke(); - c.begin(); - c.moveTo(textWidth * 0.5, h - callH); - c.lineTo(w, 0); - c.stroke(); - } - - c.text(textWidth * 0.5, h - callH * 0.5, 0, 0, calloutText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - -}; - -mxCellRenderer.registerShape(mxShapeMockupCallout.prototype.cst.SHAPE_CALLOUT, mxShapeMockupCallout); - -//********************************************************************************************************************************************************** -//Sticky Note -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupStickyNote(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupStickyNote, mxShape); - -mxShapeMockupStickyNote.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_STICKY_NOTE : 'mxgraph.mockup.text.stickyNote' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupStickyNote.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupStickyNote.prototype.background = function(c, w, h) -{ - c.setFillColor('#ffffcc'); - c.begin(); - c.moveTo(w * 0.03, h * 0.07); - c.lineTo(w * 0.89, h * 0.06); - c.arcTo(2.81 * w, 2.92 * h, 1, 0, 0, w * 0.99, h * 0.98); - c.lineTo(w * 0.09, h * 0.99); - c.arcTo(2.81 * w, 2.92 * h, 1, 0, 1, w * 0.03, h * 0.07); - c.close(); - c.fill(); -}; - -mxShapeMockupStickyNote.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupStickyNote.prototype.cst.MAIN_TEXT, 'Note line 1,Note line 2,Note line 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupStickyNote.prototype.cst.TEXT_COLOR, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupStickyNote.prototype.cst.TEXT_SIZE, '17').toString(); - - c.setFillColor('#ff3300'); - c.begin(); - c.moveTo(w * 0.28 , 0); - c.lineTo(w * 0.59, 0); - c.lineTo(w * 0.6, h * 0.12); - c.lineTo(w * 0.28, h * 0.13); - c.close(); - c.fill(); - - c.setFontSize(fontSize); - c.setFontColor(fontColor); - var lineNum = mainText.length; - var textH = lineNum * fontSize * 1.5; - - for (var i = 0; i < mainText.length; i++) - { - c.text(w / 2, (h - textH) / 2 + i * fontSize * 1.5 + fontSize * 0.75, 0, 0, mainText[i], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupStickyNote.prototype.cst.SHAPE_STICKY_NOTE, mxShapeMockupStickyNote); - -//********************************************************************************************************************************************************** -//Bulleted List -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupBulletedList(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupBulletedList, mxShape); - -mxShapeMockupBulletedList.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - BULLET_STYLE : 'bulletStyle', - STYLE_HYPHEN : 'hyphen', - STYLE_NUM : 'number', - STYLE_DOT : 'dot', - SHAPE_BULLETED_LIST : 'mxgraph.mockup.text.bulletedList' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupBulletedList.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupBulletedList.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupBulletedList.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupBulletedList.prototype.cst.MAIN_TEXT, 'Note line 1,Note line 2,Note line 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupBulletedList.prototype.cst.TEXT_COLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupBulletedList.prototype.cst.TEXT_SIZE, '17'); - var bulletStyle = mxUtils.getValue(this.style, mxShapeMockupBulletedList.prototype.cst.BULLET_STYLE, 'none'); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - var bullet = ''; - - for (var i = 0; i < mainText.length; i++) - { - var currText = ''; - - if (bulletStyle === mxShapeMockupBulletedList.prototype.cst.STYLE_NUM) - { - currText = (i + 1) + ') ' + mainText[i]; - } - else if (bulletStyle === mxShapeMockupBulletedList.prototype.cst.STYLE_HYPHEN) - { - currText = '- ' + mainText[i]; - } - else if(bulletStyle === mxShapeMockupBulletedList.prototype.cst.STYLE_DOT) - { - currText = String.fromCharCode(8226) + ' ' + mainText[i]; - } - else - { - currText = ' ' + mainText[i]; - } - - c.text(10, i * fontSize * 1.5 + fontSize * 0.75, 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupBulletedList.prototype.cst.SHAPE_BULLETED_LIST, mxShapeMockupBulletedList); - -//********************************************************************************************************************************************************** -//Text Box -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupTextBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupTextBox, mxShape); - -mxShapeMockupTextBox.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_TEXT_BOX : 'mxgraph.mockup.text.textBox' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupTextBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupTextBox.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupTextBox.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupTextBox.prototype.cst.MAIN_TEXT, 'Note line 1').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupTextBox.prototype.cst.TEXT_COLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupTextBox.prototype.cst.TEXT_SIZE, '17'); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - for (var i = 0; i < mainText.length; i++) - { - c.text(5, i * fontSize * 1.5 + fontSize * 0.75, 0, 0, mainText[i], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxShapeMockupTextBox.prototype.cst.SHAPE_TEXT_BOX, mxShapeMockupTextBox); - -//********************************************************************************************************************************************************** -//Captcha -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupCaptcha(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupCaptcha, mxShape); - -mxShapeMockupCaptcha.prototype.cst = { - MAIN_TEXT : 'mainText', - TEXT_COLOR : 'textColor', - TEXT_SIZE : 'textSize', - SHAPE_CAPTCHA : 'mxgraph.mockup.text.captcha' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupCaptcha.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxShapeMockupCaptcha.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupCaptcha.prototype.foreground = function(c, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupCaptcha.prototype.cst.MAIN_TEXT, 'Note line 1'); - var fontColor = mxUtils.getValue(this.style, mxShapeMockupCaptcha.prototype.cst.TEXT_COLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxShapeMockupCaptcha.prototype.cst.TEXT_SIZE, '25'); - - c.setFillColor('#88aaff'); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.35, 0); - c.lineTo(w * 0.55, h * 0.85); - c.lineTo(w * 0.4, h * 0.75); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w * 0.7, h * 0.1); - c.lineTo(w * 0.95, h * 0.23); - c.lineTo(w, h * 0.4); - c.lineTo(w, h * 0.9); - c.lineTo(w, h); - c.lineTo(w * 0.8, h); - c.close(); - c.fill(); - - c.setFontColor(fontColor); - c.setFontSize(fontSize); - - c.text(w * 0.5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.rect(0, 0, w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupCaptcha.prototype.cst.SHAPE_CAPTCHA, mxShapeMockupCaptcha); - -//********************************************************************************************************************************************************** -//Alphanumeric -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupAlphanumeric(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupAlphanumeric, mxShape); - -mxShapeMockupAlphanumeric.prototype.cst = { - MAIN_TEXT : 'linkText', - TEXT_SIZE : 'textSize', - TEXT_COLOR : 'textColor', - SHAPE_ALPHANUMERIC : 'mxgraph.mockup.text.alphanumeric' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupAlphanumeric.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxShapeMockupAlphanumeric.prototype.cst.MAIN_TEXT, '0-9 A B C D E F G H I J K L M N O P Q R S T U V X Y Z'); - var textSize = mxUtils.getValue(this.style, mxShapeMockupAlphanumeric.prototype.cst.TEXT_SIZE, '17'); - var textColor = mxUtils.getValue(this.style, mxShapeMockupAlphanumeric.prototype.cst.TEXT_COLOR, '#0000ff'); - - c.translate(x, y); - var width = mxUtils.getSizeForString(mainText, textSize, mxConstants.DEFAULT_FONTFAMILY).width; - c.setStrokeColor(textColor); - c.setFontSize(textSize); - c.setFontColor(textColor); - c.text(w * 0.5, h * 0.5, 0, 0, mainText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.begin(); - c.moveTo(w * 0.5 - width * 0.5, (h + parseInt(textSize, 10)) * 0.5); - c.lineTo(w * 0.5 + width * 0.5, (h + parseInt(textSize, 10)) * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupAlphanumeric.prototype.cst.SHAPE_ALPHANUMERIC, mxShapeMockupAlphanumeric); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupTextRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupTextRRect, mxShape); - -mxShapeMockupTextRRect.prototype.cst = { - RRECT : 'mxgraph.mockup.text.rrect', - R_SIZE : 'rSize' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupTextRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupTextRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupTextRRect.prototype.cst.RRECT, mxShapeMockupTextRRect); - diff --git a/dist/libs/drawio/shapes/mockup/mxMockupiOS.js b/dist/libs/drawio/shapes/mockup/mxMockupiOS.js deleted file mode 100644 index 15cf29ac..00000000 --- a/dist/libs/drawio/shapes/mockup/mxMockupiOS.js +++ /dev/null @@ -1,6691 +0,0 @@ -/** - * $Id: mxMockupiOS.js,v 1.5 2013/11/12 06:25:46 mate Exp $ - * Copyright (c) 2006-2010, JGraph Ltd - */ - -var mxMockupC = -{ - BAR_HEIGHT : 'barHeight', - BAR_POS : 'barPos', - BG_STYLE : 'bgStyle', - BG_FLAT_GREEN : 'bgGreen', - BG_FLAT_WHITE : 'bgWhite', - BG_FLAT_GRAY : 'bgGray', - BG_FLAT_CUSTOM : 'bgFlat', - BG_MAP : 'bgMap', - BG_STRIPED : 'bgStriped', - BUTTON_STYLE : 'buttonStyle', - BUTTON_TEXT : 'buttonText', - BUTTON_STATE : 'buttonState', - CHEVRON : 'chevron', - GRID_SIZE : 'gridSize', - POINTER_BOTTOM : 'bottom', - POINTER_POS : 'pointerPos', - POINTER_TOP : 'top', - ROUND : 'round', - SELECTED : '+', //has to be one character long - STATE_ON : 'on', - STATE_OFF : 'off', - SUB_TEXT : 'subText', - - SHAPE_IADD_ICON : 'mxgraph.ios.iAddIcon', - SHAPE_IALERT_BOX : 'mxgraph.ios.iAlertBox', - SHAPE_IALPHA_LIST : 'mxgraph.ios.iAlphaList', - SHAPE_IAPP_BAR : 'mxgraph.ios.iAppBar', - SHAPE_IARROW_ICON : 'mxgraph.ios.iArrowIcon', - SHAPE_IBG_FLAT : 'mxgraph.ios.iBgFlat', - SHAPE_IBG_MAP : 'mxgraph.ios.iBgMap', - SHAPE_IBG_STRIPED : 'mxgraph.ios.iBgStriped', - SHAPE_IBUTTON : 'mxgraph.ios.iButton', - SHAPE_IBUTTON_BACK : 'mxgraph.ios.iButtonBack', - SHAPE_IBUTTON_FORWARD : 'mxgraph.ios.iButtonFw', - SHAPE_IBUTTON_BAR : 'mxgraph.ios.iButtonBar', - SHAPE_ICALL_BUTTONS : 'mxgraph.ios.iCallButtons', - SHAPE_ICALL_DIALOG : 'mxgraph.ios.iCallDialog', - SHAPE_ICHECKBOX_GROUP : 'mxgraph.ios.iCheckboxGroup', - SHAPE_ICHECK_ICON : 'mxgraph.ios.iCheckIcon', - SHAPE_ICLOUD_PROGRESS_BAR : 'mxgraph.ios.iCloudProgressBar', - SHAPE_ICOMBO_BOX : 'mxgraph.ios.iComboBox', - SHAPE_ICOPY : 'mxgraph.ios.iCopy', - SHAPE_ICOPY_AREA : 'mxgraph.ios.iCopyArea', - SHAPE_IICON_GRID : 'mxgraph.ios.iIconGrid', - SHAPE_IDELETE_APP : 'mxgraph.ios.iDeleteApp', - SHAPE_IDELETE_ICON : 'mxgraph.ios.iDeleteIcon', - SHAPE_IDOWNLOAD_BAR : 'mxgraph.ios.iDownloadBar', - SHAPE_IDIALOG_BOX : 'mxgraph.ios.iDialogBox', - SHAPE_IDIRECTION : 'mxgraph.ios.iDir', - SHAPE_IHOME_PAGE_CONTROL : 'mxgraph.ios.iHomePageControl', - SHAPE_IKEYB_LETTERS : 'mxgraph.ios.iKeybLett', - SHAPE_IKEYB_NUMBERS : 'mxgraph.ios.iKeybNumb', - SHAPE_IKEYB_SYMBOLS : 'mxgraph.ios.iKeybSymb', - SHAPE_ILOCATION_BAR : 'mxgraph.ios.iLocBar', - SHAPE_ILOCK_BUTTON : 'mxgraph.ios.iLockButton', - SHAPE_IHOR_BUTTON_BAR : 'mxgraph.ios.iHorButtonBar', - SHAPE_IINFO_ICON : 'mxgraph.ios.iInfoIcon', - SHAPE_ION_OFF_BUTTON : 'mxgraph.ios.iOnOffButton', - SHAPE_IOPTION : 'mxgraph.ios.iOption', - SHAPE_IPAGE_CONTROL : 'mxgraph.ios.iPageControl', - SHAPE_IPAD : 'mxgraph.ios.iPad', - SHAPE_IPHONE : 'mxgraph.ios.iPhone', - SHAPE_IPIN : 'mxgraph.ios.iPin', - SHAPE_IPREV_NEXT : 'mxgraph.ios.iPrevNext', - SHAPE_IPROGRESS_BAR : 'mxgraph.ios.iProgressBar', - SHAPE_IRADIO_GROUP : 'mxgraph.ios.iRadioGroup', - SHAPE_ISLIDER : 'mxgraph.ios.iSlider', - SHAPE_ISORT_FIND_ICON : 'mxgraph.ios.iSortFindIcon', - SHAPE_ITEXT_INPUT : 'mxgraph.ios.iTextInput', - SHAPE_ITOP_BAR : 'mxgraph.ios.iTopBar', - SHAPE_ITOP_BAR_LOCKED : 'mxgraph.ios.iTopBarLocked', - SHAPE_IURL_BAR : 'mxgraph.ios.iURLBar', - SHAPE_IVIDEO_CONTROLS : 'mxgraph.ios.iVideoControls', - SHAPE_ISCREEN_NAME_BAR: 'mxgraph.ios.iScreenNameBar', - - STYLE_FILLCOLOR2 : 'fillColor2', - STYLE_FILLCOLOR3 : 'fillColor3', - STYLE_TEXTCOLOR : 'textColor', - STYLE_TEXTCOLOR2 : 'textColor2', - STYLE_STROKECOLOR2 : 'strokeColor2', - STYLE_STROKECOLOR3 : 'strokeColor3' -}; - -//********************************************************************************************************************************************************** -//iPhone Vertical -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiPhone(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiPhone, mxShape); - -mxShapeMockupiPhone.prototype.customProperties = [ - {name: 'bgStyle', dispName: 'Background', type: 'enum', - enumList: [{val: 'bgGreen', dispName: 'Green'}, - {val: 'bgWhite', dispName: 'White'}, - {val: 'bgGray', dispName: 'Gray'}, - {val: 'bgFlat', dispName: 'Flat'}, - {val: 'bgMap', dispName: 'Map'}, - {val: 'bgStriped', dispName: 'Striped'}]} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiPhone.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = 25; - this.background(c, x, y, w, h, rSize); - c.setShadow(false); - this.foreground(c, x, y, w, h, rSize); -}; - -mxShapeMockupiPhone.prototype.background = function(c, x, y, w, h, rSize) -{ - c.setFillColor('#000000'); - c.setStrokeColor('#000000'); - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); -}; - -mxShapeMockupiPhone.prototype.foreground = function(c, x, y, w, h, rSize) -{ - c.setStrokeWidth(1.5); - - c.begin(); - c.setGradient('#808080', '#000000', w * 0.325, 0, w * 0.675, h * 0.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.moveTo(w * 0.325, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.7, h * 0.5); - c.close(); - c.fill(); - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, ''); - var bgStyle = mxUtils.getValue(this.style, mxMockupC.BG_STYLE, mxMockupC.BG_FLAT_GREEN); - - c.setStrokeWidth(1); - if (bgStyle === mxMockupC.BG_FLAT_WHITE) - { - c.setFillColor('#ffffff'); - c.rect(w * 0.0625, h * 0.15, w * 0.875, h * 0.7); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_FLAT_GREEN) - { - c.setFillColor('#1f2923'); - c.rect(w * 0.0625, h * 0.15, w * 0.875, h * 0.7); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_FLAT_GRAY) - { - c.setFillColor('#dddddd'); - c.rect(w * 0.0625, h * 0.15, w * 0.875, h * 0.7); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_FLAT_CUSTOM) - { - c.setFillColor(fillColor); - c.rect(w * 0.0625, h * 0.15, w * 0.875, h * 0.7); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_STRIPED) - { - var xOld = x; - var yOld = y; - var wOld = w; - var hOld = h; - c.translate(w * 0.0625, h * 0.15); - w = w * 0.875; - h = h * 0.7; - - c.setFillColor('#5D7585'); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - var strokeColor = '#18211b'; - var strokeColor2 = '#657E8F'; - - c.setStrokeColor(strokeColor2); - var i = 5; - c.begin(); - - while (i < w) - { - c.moveTo(i, 0); - c.lineTo(i, h); - i = i + 5; - } - - c.stroke(); - - c.setStrokeColor(strokeColor); - c.begin(); - c.rect(0, 0, w, h); - c.stroke(); - - w = wOld; - h = hOld; - c.translate( - w * 0.0625, - h * 0.15); - } - else if (bgStyle === mxMockupC.BG_MAP) - { - var xOld = x; - var yOld = y; - var wOld = w; - var hOld = h; - c.translate(w * 0.0625, h * 0.15); - w = w * 0.875; - h = h * 0.7; - - c.setFillColor('#ffffff'); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - var fillColor2 = '#96D1FF'; - var strokeColor = '#18211b'; - var strokeColor2 = '#008cff'; - - c.setFillColor(fillColor2); - c.setStrokeColor(strokeColor2); - c.setStrokeWidth(1); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.1171, 0); - c.lineTo(w * 0.1136, h * 0.0438); - c.lineTo(w * 0.0993, h * 0.054); - c.lineTo(0, h * 0.0446); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1993, 0); - c.lineTo(w * 0.1914, h * 0.03884); - c.lineTo(w * 0.1536, h * 0.0362); - c.lineTo(w * 0.1586, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.24, 0); - c.lineTo(w * 0.2257, h * 0.054); - c.lineTo(w * 0.2414, h * 0.0674); - c.lineTo(w * 0.4707, h * 0.0835); - c.lineTo(w * 0.5264, h * 0.0906); - c.lineTo(w * 0.6429, h * 0.0929); - c.arcTo(w * 0.0857, h * 0.0536, 0, 0, 0, w * 0.7193, h * 0.0621); - c.arcTo(w * 0.48, h * 0.2143, 0, 0, 0, w * 0.7286, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8, 0); - c.lineTo(w * 0.7886, h * 0.04554); - c.arcTo(w * 0.0857, h * 0.0536, 0, 0, 0, w * 0.8164, h * 0.0875); - c.arcTo(w * 0.1429, h * 0.0893, 0, 0, 0, w * 0.88, h * 0.1036); - c.lineTo(w, h * 0.1112); - c.lineTo(w, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.0933); - c.lineTo(w * 0.08, h * 0.1036); - c.lineTo(w * 0.1021, h * 0.1246); - c.lineTo(w * 0.1007, h * 0.1768); - c.lineTo(w * 0.0471, h * 0.2241); - c.lineTo(0, h * 0.2527); - c.close(); - c.fillAndStroke(); - - c.ellipse(w * 0.1214, h * 0.0603, w * 0.0843, h * 0.0576); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1293, h * 0.1924); - c.lineTo(w * 0.1729, h * 0.142); - c.lineTo(w * 0.1407, h * 0.1411); - c.lineTo(w * 0.14, h * 0.1777); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4586, h * 0.1241); - c.lineTo(w * 0.455, h * 0.1835); - c.lineTo(w * 0.3893, h * 0.2246); - c.lineTo(w * 0.2171, h * 0.1362); - c.lineTo(w * 0.2171, h * 0.1308); - c.lineTo(w * 0.2293, h * 0.1214); - c.lineTo(w * 0.2857, h * 0.1174); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5079, h * 0.1134); - c.lineTo(w * 0.7307, h * 0.1223); - c.lineTo(w * 0.7279, h * 0.1625); - c.lineTo(w * 0.715, h * 0.1772); - c.lineTo(w * 0.6929, h * 0.1688); - c.lineTo(w * 0.625, h * 0.1795); - c.lineTo(w * 0.4779, h * 0.2835); - c.lineTo(w * 0.395, h * 0.2299); - c.lineTo(w * 0.4657, h * 0.1826); - c.lineTo(w * 0.4707, h * 0.1223); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.1362); - c.lineTo(w * 0.7643, h * 0.1237); - c.lineTo(w * 0.7543, h * 0.1562); - c.lineTo(w * 0.7643, h * 0.1585); - c.lineTo(w * 0.9186, h * 0.2366); - c.lineTo(w, h * 0.1732); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2079, h * 0.1545); - c.lineTo(w * 0.3886, h * 0.2536); - c.lineTo(w * 0.3414, h * 0.2933); - c.lineTo(w * 0.1743, h * 0.1969); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1579, h * 0.2134); - c.lineTo(w * 0.3221, h * 0.3067); - c.lineTo(w * 0.2957, h * 0.3237); - c.lineTo(w * 0.1157, h * 0.2424); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.405, h * 0.2656); - c.lineTo(w * 0.31, h * 0.3353); - c.lineTo(w * 0.3693, h * 0.3661); - c.lineTo(w * 0.4571, h * 0.2982); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.7121, h * 0.1848); - c.lineTo(w * 0.6879, h * 0.1754); - c.lineTo(w * 0.6329, h * 0.1844); - c.lineTo(w * 0.61, h * 0.2018); - c.lineTo(w * 0.6207, h * 0.2085); - c.lineTo(w * 0.4986, h * 0.2982); - c.lineTo(w * 0.535, h * 0.3237); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5557, h * 0.3379); - c.lineTo(w * 0.7464, h * 0.1826); - c.lineTo(w * 0.8036, h * 0.2076); - c.lineTo(w * 0.595, h * 0.3616); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8293, h * 0.2188); - c.lineTo(w * 0.8979, h * 0.2509); - c.lineTo(w * 0.6936, h * 0.4125); - c.lineTo(w * 0.6171, h * 0.3737); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.2138); - c.lineTo(w * 0.6821, h * 0.4603); - c.lineTo(w * 0.815, h * 0.5277); - c.lineTo(w, h * 0.4); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.317); - c.lineTo(w * 0.0971, h * 0.2554); - c.lineTo(w * 0.4121, h * 0.4143); - c.lineTo(w * 0.3736, h * 0.4415); - c.lineTo(w * 0.315, h * 0.4076); - c.lineTo(w * 0.3093, h * 0.4116); - c.lineTo(w * 0.3686, h * 0.4455); - c.lineTo(w * 0.285, h * 0.5045); - c.lineTo(w * 0.1114, h * 0.4134); - c.lineTo(w * 0.025, h * 0.4603); - c.lineTo(w * 0.0371, h * 0.4723); - c.lineTo(w * 0.1114, h * 0.4371); - c.lineTo(w * 0.2871, h * 0.5312); - c.lineTo(w * 0.1929, h * 0.6058); - c.lineTo(w * 0.2271, h * 0.6705); - c.lineTo(w * 0.17, h * 0.7147); - c.lineTo(w * 0.0314, h * 0.6321); - c.lineTo(0, h * 0.6246); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.48, h * 0.3121); - c.lineTo(w * 0.5157, h * 0.3375); - c.lineTo(w * 0.4314, h * 0.3982); - c.lineTo(w * 0.3929, h * 0.3786); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3086, h * 0.5179); - c.lineTo(w * 0.53, h * 0.3518); - c.lineTo(w * 0.5757, h * 0.3745); - c.lineTo(w * 0.3479, h * 0.5411); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5964, h * 0.3884); - c.lineTo(w * 0.6736, h * 0.4277); - c.lineTo(w * 0.445, h * 0.5991); - c.lineTo(w * 0.3664, h * 0.5531); - c.lineTo(w * 0.5057, h * 0.4545); - c.lineTo(w * 0.5507, h * 0.4754); - c.lineTo(w * 0.5571, h * 0.4723); - c.lineTo(w * 0.5114, h * 0.4504); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4793, h * 0.6161); - c.lineTo(w * 0.6771, h * 0.4643); - c.lineTo(w * 0.8086, h * 0.5326); - c.lineTo(w * 0.7471, h * 0.5817); - c.lineTo(w * 0.7214, h * 0.567); - c.lineTo(w * 0.715, h * 0.571); - c.lineTo(w * 0.7421, h * 0.5871); - c.lineTo(w * 0.6014, h * 0.6933); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.4371); - c.lineTo(w * 0.8443, h * 0.546); - c.lineTo(w * 0.9071, h * 0.5701); - c.lineTo(w, h * 0.5022); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8407, h * 0.5504); - c.lineTo(w * 0.8993, h * 0.5759); - c.lineTo(w * 0.6757, h * 0.7416); - c.lineTo(w * 0.6286, h * 0.7139); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.5321); - c.lineTo(w * 0.6979, h * 0.7549); - c.lineTo(w * 0.7457, h * 0.7781); - c.lineTo(w * 0.9814, h * 0.6094); - c.lineTo(w, h * 0.6067); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.6254); - c.lineTo(w * 0.7664, h * 0.792); - c.lineTo(w * 0.9586, h * 0.9062); - c.lineTo(w, h * 0.8786); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3093, h * 0.5464); - c.lineTo(w * 0.4271, h * 0.6152); - c.lineTo(w * 0.245, h * 0.7643); - c.lineTo(w * 0.185, h * 0.7228); - c.lineTo(w * 0.2493, h * 0.6728); - c.lineTo(w * 0.2214, h * 0.6143); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.65); - c.lineTo(w * 0.2179, h * 0.7826); - c.lineTo(w * 0.1136, h * 0.8424); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.7272); - c.lineTo(w * 0.0821, h * 0.859); - c.lineTo(0, h * 0.9085); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4529, h * 0.6366); - c.lineTo(w * 0.575, h * 0.7143); - c.lineTo(w * 0.39, h * 0.8621); - c.lineTo(w * 0.2657, h * 0.7902); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.9415); - c.lineTo(w * 0.1036, h * 0.8821); - c.lineTo(w * 0.2343, h * 0.959); - c.lineTo(w * 0.1721, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2586, h * 0.7951); - c.lineTo(w * 0.3829, h * 0.8674); - c.lineTo(w * 0.2543, h * 0.9451); - c.lineTo(w * 0.1279, h * 0.8692); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2836, h * 0.9639); - c.lineTo(w * 0.4207, h * 0.8772); - c.lineTo(w * 0.605, h * 0.7321); - c.lineTo(w * 0.6521, h * 0.7634); - c.lineTo(w * 0.3486, h); - c.lineTo(w * 0.3393, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3879, h); - c.lineTo(w * 0.6721, h * 0.7759); - c.lineTo(w * 0.7171, h * 0.7982); - c.lineTo(w * 0.4564, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4986, h); - c.lineTo(w * 0.7386, h * 0.8125); - c.lineTo(w * 0.9307, h * 0.925); - c.lineTo(w * 0.8264, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8671, h); - c.lineTo(w * 0.9464, h * 0.9491); - c.lineTo(w, h * 0.975); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2295, h); - c.lineTo(w * 0.2648, h * 0.9792); - c.lineTo(w * 0.2981, h); - c.close(); - c.fillAndStroke(); - - w = wOld; - h = hOld; - c.translate( - w * 0.0625, - h * 0.15); - } - - c.setStrokeWidth(1); - c.setStrokeColor('#18211b'); - c.rect(w * 0.0625, h * 0.15, w * 0.875, h * 0.7); - c.stroke(); - - c.setStrokeWidth(1.5); - c.setAlpha(0.8); - c.setStrokeColor('#dddddd'); - c.roundrect(0, 0, w, h, rSize, rSize); - c.stroke(); - - rSize = 22.5; - c.begin(); - c.setStrokeColor('#666666'); - c.roundrect(5, 5, w - 10, h - 10, rSize, rSize); - c.stroke(); - - c.setAlpha(1); - c.ellipse(w * 0.4875, h * 0.04125, w * 0.025, h * 0.0125); - c.setStrokeWidth(2.5); - c.setStrokeColor('#000000'); - c.setFillColor('#000099'); - c.fillAndStroke(); - - c.begin(); - c.setStrokeWidth(1.5); - c.setFillColor('#444444'); - c.setStrokeColor('#333333'); - rSize = 4; - - c.roundrect(w * 0.375, h * 0.075, w * 0.25, h * 0.01875, w * 0.02, h * 0.01); - c.fillAndStroke(); - - c.setGradient('#bbbbbb', '#000000', w * 0.4, h * 0.875, w * 0.2, h * 0.1, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(w * 0.4, h * 0.875, w * 0.2, h * 0.1); - c.fill(); - - c.setAlpha(0.5); - c.ellipse(w * 0.404, h * 0.876, w * 0.19, h * 0.095); - c.stroke(); - - c.begin(); - c.setAlpha(0.85); - c.setFillColor('#000000'); - c.moveTo(w * 0.4025, h * 0.925); - c.arcTo(w * 0.0975, h * 0.04625, 0, 0, 1, w * 0.5975, h * 0.925); - c.arcTo(w * 0.2, h * 0.1, 0, 0, 1, w * 0.4025, h * 0.925); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.setAlpha(0.7); - c.setStrokeWidth(1.5); - c.setStrokeColor('#dddddd'); - rSize = 4; - c.roundrect(w * 0.4575, h * 0.905, w * 0.0875, h * 0.04375, h * 0.00625, h * 0.00625); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IPHONE, mxShapeMockupiPhone); - -//********************************************************************************************************************************************************** -//iPhone flat colored background -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiBgFlat(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiBgFlat, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiBgFlat.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeMockupiBgFlat.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IBG_FLAT, mxShapeMockupiBgFlat); - -//********************************************************************************************************************************************************** -//iPhone striped background -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiBgStriped(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiBgStriped, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiBgStriped.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiBgStriped.prototype.background = function(c, x, y, w, h) -{ - c.setStrokeWidth(1); - c.begin(); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiBgStriped.prototype.foreground = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, ''); - var strokeColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_STROKECOLOR2, ''); - - c.setStrokeColor(strokeColor2); - var i = 5; - c.begin(); - - while (i < w) - { - c.moveTo(i, 0); - c.lineTo(i, h); - i = i + 5; - } - - c.stroke(); - - c.setStrokeColor(strokeColor); - c.begin(); - c.rect(0, 0, w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IBG_STRIPED, mxShapeMockupiBgStriped); - -//********************************************************************************************************************************************************** -//iPhone map background -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiBgMap(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiBgMap, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiBgMap.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiBgMap.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiBgMap.prototype.foreground = function(c, x, y, w, h) -{ - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, ''); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, ''); - var strokeColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_STROKECOLOR2, ''); - - c.setFillColor(fillColor2); - c.setStrokeColor(strokeColor2); - c.setStrokeWidth(0.5); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.1171, 0); - c.lineTo(w * 0.1136, h * 0.0438); - c.lineTo(w * 0.0993, h * 0.054); - c.lineTo(0, h * 0.0446); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1993, 0); - c.lineTo(w * 0.1914, h * 0.03884); - c.lineTo(w * 0.1536, h * 0.0362); - c.lineTo(w * 0.1586, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.24, 0); - c.lineTo(w * 0.2257, h * 0.054); - c.lineTo(w * 0.2414, h * 0.0674); - c.lineTo(w * 0.4707, h * 0.0835); - c.lineTo(w * 0.5264, h * 0.0906); - c.lineTo(w * 0.6429, h * 0.0929); - c.arcTo(w * 0.0857, h * 0.0536, 0, 0, 0, w * 0.7193, h * 0.0621); - c.arcTo(w * 0.48, h * 0.2143, 0, 0, 0, w * 0.7286, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8, 0); - c.lineTo(w * 0.7886, h * 0.04554); - c.arcTo(w * 0.0857, h * 0.0536, 0, 0, 0, w * 0.8164, h * 0.0875); - c.arcTo(w * 0.1429, h * 0.0893, 0, 0, 0, w * 0.88, h * 0.1036); - c.lineTo(w, h * 0.1112); - c.lineTo(w, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.0933); - c.lineTo(w * 0.08, h * 0.1036); - c.lineTo(w * 0.1021, h * 0.1246); - c.lineTo(w * 0.1007, h * 0.1768); - c.lineTo(w * 0.0471, h * 0.2241); - c.lineTo(0, h * 0.2527); - c.close(); - c.fillAndStroke(); - - c.ellipse(w * 0.1214, h * 0.0603, w * 0.0843, h * 0.0576); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1293, h * 0.1924); - c.lineTo(w * 0.1729, h * 0.142); - c.lineTo(w * 0.1407, h * 0.1411); - c.lineTo(w * 0.14, h * 0.1777); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4586, h * 0.1241); - c.lineTo(w * 0.455, h * 0.1835); - c.lineTo(w * 0.3893, h * 0.2246); - c.lineTo(w * 0.2171, h * 0.1362); - c.lineTo(w * 0.2171, h * 0.1308); - c.lineTo(w * 0.2293, h * 0.1214); - c.lineTo(w * 0.2857, h * 0.1174); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5079, h * 0.1134); - c.lineTo(w * 0.7307, h * 0.1223); - c.lineTo(w * 0.7279, h * 0.1625); - c.lineTo(w * 0.715, h * 0.1772); - c.lineTo(w * 0.6929, h * 0.1688); - c.lineTo(w * 0.625, h * 0.1795); - c.lineTo(w * 0.4779, h * 0.2835); - c.lineTo(w * 0.395, h * 0.2299); - c.lineTo(w * 0.4657, h * 0.1826); - c.lineTo(w * 0.4707, h * 0.1223); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.1362); - c.lineTo(w * 0.7643, h * 0.1237); - c.lineTo(w * 0.7543, h * 0.1562); - c.lineTo(w * 0.7643, h * 0.1585); - c.lineTo(w * 0.9186, h * 0.2366); - c.lineTo(w, h * 0.1732); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2079, h * 0.1545); - c.lineTo(w * 0.3886, h * 0.2536); - c.lineTo(w * 0.3414, h * 0.2933); - c.lineTo(w * 0.1743, h * 0.1969); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1579, h * 0.2134); - c.lineTo(w * 0.3221, h * 0.3067); - c.lineTo(w * 0.2957, h * 0.3237); - c.lineTo(w * 0.1157, h * 0.2424); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.405, h * 0.2656); - c.lineTo(w * 0.31, h * 0.3353); - c.lineTo(w * 0.3693, h * 0.3661); - c.lineTo(w * 0.4571, h * 0.2982); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.7121, h * 0.1848); - c.lineTo(w * 0.6879, h * 0.1754); - c.lineTo(w * 0.6329, h * 0.1844); - c.lineTo(w * 0.61, h * 0.2018); - c.lineTo(w * 0.6207, h * 0.2085); - c.lineTo(w * 0.4986, h * 0.2982); - c.lineTo(w * 0.535, h * 0.3237); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5557, h * 0.3379); - c.lineTo(w * 0.7464, h * 0.1826); - c.lineTo(w * 0.8036, h * 0.2076); - c.lineTo(w * 0.595, h * 0.3616); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8293, h * 0.2188); - c.lineTo(w * 0.8979, h * 0.2509); - c.lineTo(w * 0.6936, h * 0.4125); - c.lineTo(w * 0.6171, h * 0.3737); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.2138); - c.lineTo(w * 0.6821, h * 0.4603); - c.lineTo(w * 0.815, h * 0.5277); - c.lineTo(w, h * 0.4); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.317); - c.lineTo(w * 0.0971, h * 0.2554); - c.lineTo(w * 0.4121, h * 0.4143); - c.lineTo(w * 0.3736, h * 0.4415); - c.lineTo(w * 0.315, h * 0.4076); - c.lineTo(w * 0.3093, h * 0.4116); - c.lineTo(w * 0.3686, h * 0.4455); - c.lineTo(w * 0.285, h * 0.5045); - c.lineTo(w * 0.1114, h * 0.4134); - c.lineTo(w * 0.025, h * 0.4603); - c.lineTo(w * 0.0371, h * 0.4723); - c.lineTo(w * 0.1114, h * 0.4371); - c.lineTo(w * 0.2871, h * 0.5312); - c.lineTo(w * 0.1929, h * 0.6058); - c.lineTo(w * 0.2271, h * 0.6705); - c.lineTo(w * 0.17, h * 0.7147); - c.lineTo(w * 0.0314, h * 0.6321); - c.lineTo(0, h * 0.6246); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.48, h * 0.3121); - c.lineTo(w * 0.5157, h * 0.3375); - c.lineTo(w * 0.4314, h * 0.3982); - c.lineTo(w * 0.3929, h * 0.3786); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3086, h * 0.5179); - c.lineTo(w * 0.53, h * 0.3518); - c.lineTo(w * 0.5757, h * 0.3745); - c.lineTo(w * 0.3479, h * 0.5411); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5964, h * 0.3884); - c.lineTo(w * 0.6736, h * 0.4277); - c.lineTo(w * 0.445, h * 0.5991); - c.lineTo(w * 0.3664, h * 0.5531); - c.lineTo(w * 0.5057, h * 0.4545); - c.lineTo(w * 0.5507, h * 0.4754); - c.lineTo(w * 0.5571, h * 0.4723); - c.lineTo(w * 0.5114, h * 0.4504); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4793, h * 0.6161); - c.lineTo(w * 0.6771, h * 0.4643); - c.lineTo(w * 0.8086, h * 0.5326); - c.lineTo(w * 0.7471, h * 0.5817); - c.lineTo(w * 0.7214, h * 0.567); - c.lineTo(w * 0.715, h * 0.571); - c.lineTo(w * 0.7421, h * 0.5871); - c.lineTo(w * 0.6014, h * 0.6933); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.4371); - c.lineTo(w * 0.8443, h * 0.546); - c.lineTo(w * 0.9071, h * 0.5701); - c.lineTo(w, h * 0.5022); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8407, h * 0.5504); - c.lineTo(w * 0.8993, h * 0.5759); - c.lineTo(w * 0.6757, h * 0.7416); - c.lineTo(w * 0.6286, h * 0.7139); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.5321); - c.lineTo(w * 0.6979, h * 0.7549); - c.lineTo(w * 0.7457, h * 0.7781); - c.lineTo(w * 0.9814, h * 0.6094); - c.lineTo(w, h * 0.6067); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.6254); - c.lineTo(w * 0.7664, h * 0.792); - c.lineTo(w * 0.9586, h * 0.9062); - c.lineTo(w, h * 0.8786); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3093, h * 0.5464); - c.lineTo(w * 0.4271, h * 0.6152); - c.lineTo(w * 0.245, h * 0.7643); - c.lineTo(w * 0.185, h * 0.7228); - c.lineTo(w * 0.2493, h * 0.6728); - c.lineTo(w * 0.2214, h * 0.6143); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.65); - c.lineTo(w * 0.2179, h * 0.7826); - c.lineTo(w * 0.1136, h * 0.8424); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.7272); - c.lineTo(w * 0.0821, h * 0.859); - c.lineTo(0, h * 0.9085); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4529, h * 0.6366); - c.lineTo(w * 0.575, h * 0.7143); - c.lineTo(w * 0.39, h * 0.8621); - c.lineTo(w * 0.2657, h * 0.7902); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.9415); - c.lineTo(w * 0.1036, h * 0.8821); - c.lineTo(w * 0.2343, h * 0.959); - c.lineTo(w * 0.1721, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2586, h * 0.7951); - c.lineTo(w * 0.3829, h * 0.8674); - c.lineTo(w * 0.2543, h * 0.9451); - c.lineTo(w * 0.1279, h * 0.8692); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2836, h * 0.9639); - c.lineTo(w * 0.4207, h * 0.8772); - c.lineTo(w * 0.605, h * 0.7321); - c.lineTo(w * 0.6521, h * 0.7634); - c.lineTo(w * 0.3486, h); - c.lineTo(w * 0.3393, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3879, h); - c.lineTo(w * 0.6721, h * 0.7759); - c.lineTo(w * 0.7171, h * 0.7982); - c.lineTo(w * 0.4564, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4986, h); - c.lineTo(w * 0.7386, h * 0.8125); - c.lineTo(w * 0.9307, h * 0.925); - c.lineTo(w * 0.8264, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8671, h); - c.lineTo(w * 0.9464, h * 0.9491); - c.lineTo(w, h * 0.975); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2295, h); - c.lineTo(w * 0.2648, h * 0.9792); - c.lineTo(w * 0.2981, h); - c.close(); - c.fillAndStroke(); - - c.setStrokeWidth(1); - c.setStrokeColor(strokeColor); - c.begin(); - c.rect(0, 0, w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IBG_MAP, mxShapeMockupiBgMap); - -//********************************************************************************************************************************************************** -//Vertical Button Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiButtonBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiButtonBar, mxShape); - -mxShapeMockupiButtonBar.prototype.customProperties = [ - {name: 'buttonText', dispName: 'Labels', type: 'string'}, - {name: 'textColor', dispName: 'Text Color', type: 'color'}, - {name: 'textColor2', dispName: 'Text2 Color', type: 'color'}, - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiButtonBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, '+Button 1, Button 2, Button 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var separatorColor = mxUtils.getValue(this.style, mxMockupC.STYLE_STROKECOLOR2, '#c4c4c4'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var buttonNum = textStrings.length; - var maxButtonWidth = 0; - var selectedButton = -1; - var rSize = 2.5; //rounding size - var labelOffset = 2.5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxMockupC.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - var currWidth = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxButtonWidth) - { - maxButtonWidth = currWidth; - } - } - - var minButtonHeight = fontSize * 1.5; - var minH = buttonNum * minButtonHeight; - var trueH = Math.max(h, minH); - var minW = 2 * labelOffset + maxButtonWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - - this.background(c, trueW, trueH, rSize, buttonNum, labelOffset, buttonNum * minButtonHeight, frameColor, separatorColor, bgColor, selectedButton, minButtonHeight); - c.setShadow(false); - - this.foreground(c, trueW, trueH, rSize, buttonNum, labelOffset, buttonNum * minButtonHeight, frameColor, separatorColor, bgColor, selectedButton, minButtonHeight); - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - var currHeight = (i * minButtonHeight + minButtonHeight * 0.5) * trueH / minH; - this.buttonText(c, trueW, currHeight, textStrings[i], fontSize, separatorColor); - } -}; - -mxShapeMockupiButtonBar.prototype.background = function(c, w, h, rSize, buttonNum, labelOffset, minH, frameColor, separatorColor, bgColor, selectedButton, minButtonHeight) -{ - c.begin(); - c.setStrokeWidth(1); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupiButtonBar.prototype.foreground = function(c, w, h, rSize, buttonNum, labelOffset, minH, frameColor, separatorColor, bgColor, selectedButton, minButtonHeight) -{ - //draw the button separators - var strokeWidth = mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1'); - c.setStrokeWidth(strokeWidth); - c.setStrokeColor(separatorColor); - c.begin(); - - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currHeight = i * minButtonHeight * h / minH; - - c.moveTo(0, currHeight); - c.lineTo(w, currHeight); - } - } - - c.stroke(); - - //draw the selected button - c.setStrokeColor(mxConstants.NONE); - - if (selectedButton === 0) - { - // we draw a path for the first button - c.begin(); - var buttonBottom = minButtonHeight * h / minH; - c.setGradient('#5D7585', '#008cff', 0, 0, w, buttonBottom, mxConstants.DIRECTION_SOUTH, 1, 1); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, buttonBottom); - c.lineTo(0, buttonBottom); - c.close(); - c.fill(); - } - else if (selectedButton === buttonNum - 1) - { - // we draw a path for the last button - c.begin(); - var buttonTop = h - minButtonHeight * h / minH; - c.setGradient('#5D7585', '#008cff', 0, buttonTop, w, h - buttonTop, mxConstants.DIRECTION_SOUTH, 1, 1); - c.moveTo(0, buttonTop); - c.lineTo(w, buttonTop); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fill(); - } - else if (selectedButton !== -1) - { - // we draw a path rectangle for one of the buttons in the middle - c.begin(); - var buttonTop = minButtonHeight * selectedButton * h / minH; - var buttonBottom = minButtonHeight * (selectedButton + 1) * h / minH; - c.setGradient('#5D7585', '#008cff', 0, buttonTop, w, buttonBottom - buttonTop, mxConstants.DIRECTION_SOUTH, 1, 1); - c.moveTo(0, buttonTop); - c.lineTo(w, buttonTop); - c.lineTo(w, buttonBottom); - c.lineTo(0, buttonBottom); - c.close(); - c.fill(); - } - -// //draw the frame again, to achieve a nicer effect - c.begin(); - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.stroke(); -}; - -mxShapeMockupiButtonBar.prototype.buttonText = function(c, w, h, textString, fontSize, separatorColor) -{ - if(textString.charAt(0) === mxMockupC.SELECTED) - { - textString = textString.substring(1); - } - - c.setFontSize(fontSize); - c.text(10, h, 0, 0, textString, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var mSize = fontSize * 0.5; - c.setStrokeWidth(fontSize * 0.3); - c.setStrokeColor(separatorColor); - c.begin(); - c.moveTo(w - 20 - mSize, h - mSize); - c.lineTo(w - 20, h); - c.lineTo(w - 20 - mSize, h + mSize); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IBUTTON_BAR, mxShapeMockupiButtonBar); - -//********************************************************************************************************************************************************** -//iPhone Application Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiAppBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiAppBar, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiAppBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiAppBar.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#eeeeee', '#999999', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeMockupiAppBar.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#0099ff'); - c.rect(5, h * 0.5 + 1.75, 1.5, 2.5); - c.fill(); - - c.rect(7, h * 0.5 + 0.75, 1.5, 3.5); - c.fill(); - - c.rect(9, h * 0.5 - 0.25, 1.5, 4.5); - c.fill(); - - c.rect(11, h * 0.5 - 1.25, 1.5, 5.5); - c.fill(); - - c.rect(13, h * 0.5 - 2.25, 1.5, 6.5); - c.fill(); - - c.rect(15, h * 0.5 - 3.25, 1.5, 7.5); - c.fill(); - - c.setFillColor('#999999'); - c.ellipse(w - 56.5, h * 0.5 - 4, 8, 8); - c.fill(); - - c.setStrokeColor('#cccccc'); - c.begin(); - c.moveTo(w - 52.5, h * 0.5 - 3); - c.lineTo(w - 52.5, h * 0.5); - c.lineTo(w - 54.5, h * 0.5); - c.stroke(); - - c.setStrokeWidth(0.5); - c.setStrokeColor('#333333'); - c.setFillColor('#990000'); - c.begin(); - c.moveTo(w - 45.5, h * 0.5); - c.lineTo(w - 37.5, h * 0.5 - 5); - c.lineTo(w - 41.5, h * 0.5 + 4); - c.lineTo(w - 42, h * 0.5 + 0.5); - c.close(); - c.fillAndStroke(); - - c.setFillColor('#999999'); - c.setStrokeColor('#999999'); - c.begin(); - c.moveTo(w - 28.5, h * 0.5 + 3.5); - c.arcTo(3.5, 3.5, 0, 1, 1, w - 26.5, h * 0.5 + 1); - c.stroke(); - - c.begin(); - c.moveTo(w - 27.25, h * 0.5 + 0.25); - c.lineTo(w - 25.75, h * 0.5 + 0.25); - c.lineTo(w - 26.5, h * 0.5 + 1.5); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w - 31, h * 0.5 - 0.5); - c.arcTo(1, 1.5, 0, 0, 1, w - 29, h * 0.5 - 0.5); - c.stroke(); - - c.rect(w - 31.5, h * 0.5 - 0.5, 3, 2); - c.fillAndStroke(); - - c.setGradient('#eeeeee', '#444444', w - 20, h * 0.5 - 3, 16.5, 6, mxConstants.DIRECTION_NORTH, 1, 1); - c.begin(); - c.moveTo(w - 20, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 3); - c.lineTo(w - 20, h * 0.5 + 3); - c.close(); - c.fill(); - - c.setGradient('#E2FFEB', '#008215', w - 20, h * 0.5 - 3, 10, 6, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(w - 20, h * 0.5 - 3); - c.lineTo(w - 10, h * 0.5 - 3); - c.lineTo(w - 10, h * 0.5 + 3); - c.lineTo(w - 20, h * 0.5 + 3); - c.close(); - c.fill(); - - c.setStrokeColor('#666666'); - c.begin(); - c.moveTo(w - 20, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 3); - c.lineTo(w - 20, h * 0.5 + 3); - c.close(); - c.stroke(); - -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IAPP_BAR, mxShapeMockupiAppBar); - -//********************************************************************************************************************************************************** -//iPhone Top Bar (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiTopBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiTopBar, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiTopBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiTopBar.prototype.background = function(c, x, y, w, h) -{ - c.setAlpha(0.5); - c.setFillColor('#999999'); - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeMockupiTopBar.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#cccccc'); - c.setStrokeColor('#cccccc'); - c.setFontColor('#cccccc'); - c.setFontSize(7.5); - - c.rect(5, h * 0.5 + 1.75, 1.5, 2.5); - c.fill(); - - c.rect(7, h * 0.5 + 0.75, 1.5, 3.5); - c.fill(); - - c.rect(9, h * 0.5 - 0.25, 1.5, 4.5); - c.fill(); - - c.rect(11, h * 0.5 - 1.25, 1.5, 5.5); - c.fill(); - - c.rect(13, h * 0.5 - 2.25, 1.5, 6.5); - c.fill(); - - c.rect(15, h * 0.5 - 3.25, 1.5, 7.5); - c.fill(); - - c.text(18, h * 0.5, 0, 0, 'CARRIER', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.5, 0, 0, '11:15AM', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.begin(); - c.moveTo(w - 19, h * 0.5 - 2); - c.lineTo(w - 10, h * 0.5 - 2); - c.lineTo(w - 10, h * 0.5 + 2); - c.lineTo(w - 19, h * 0.5 + 2); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w - 20, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 3); - c.lineTo(w - 20, h * 0.5 + 3); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ITOP_BAR, mxShapeMockupiTopBar); - -//********************************************************************************************************************************************************** -//iPhone Top Bar 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupiTopBar2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupiTopBar2, mxShape); - -mxShapeMockupiTopBar2.prototype.cst = { - SHAPE_ITOP_BAR2 : 'mxgraph.ios.iTopBar2' -}; - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupiTopBar2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; -mxShapeMockupiTopBar2.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeMockupiTopBar2.prototype.foreground = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.setStrokeColor(strokeColor); - - c.rect(5, h * 0.5 + 1.75, 1.5, 2.5); - c.fill(); - - c.rect(7, h * 0.5 + 0.75, 1.5, 3.5); - c.fill(); - - c.rect(9, h * 0.5 - 0.25, 1.5, 4.5); - c.fill(); - - c.rect(11, h * 0.5 - 1.25, 1.5, 5.5); - c.fill(); - - c.rect(13, h * 0.5 - 2.25, 1.5, 6.5); - c.fill(); - - c.rect(15, h * 0.5 - 3.25, 1.5, 7.5); - c.fill(); - - c.begin(); - c.moveTo(w - 19, h * 0.5 - 2); - c.lineTo(w - 10, h * 0.5 - 2); - c.lineTo(w - 10, h * 0.5 + 2); - c.lineTo(w - 19, h * 0.5 + 2); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w - 20, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 3); - c.lineTo(w - 20, h * 0.5 + 3); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupiTopBar2.prototype.cst.SHAPE_ITOP_BAR2, mxShapeMockupiTopBar2); - -//********************************************************************************************************************************************************** -//iPhone Top Bar Locked -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiTopBarLocked(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiTopBarLocked, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiTopBarLocked.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiTopBarLocked.prototype.background = function(c, x, y, w, h) -{ - c.setFillColor('#000000'); - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeMockupiTopBarLocked.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#cccccc'); - c.setStrokeColor('#cccccc'); - - c.rect(5, h * 0.5 + 1.75, 1.5, 2.5); - c.fill(); - - c.rect(7, h * 0.5 + 0.75, 1.5, 3.5); - c.fill(); - - c.rect(9, h * 0.5 - 0.25, 1.5, 4.5); - c.fill(); - - c.rect(11, h * 0.5 - 1.25, 1.5, 5.5); - c.fill(); - - c.rect(13, h * 0.5 - 2.25, 1.5, 6.5); - c.fill(); - - c.rect(15, h * 0.5 - 3.25, 1.5, 7.5); - c.fill(); - - c.begin(); - c.moveTo(w * 0.5 - 2, h * 0.5 - 1); - c.arcTo(2, 3, 0, 0, 1, w * 0.5 + 2, h * 0.5 - 1); - c.stroke(); - - c.rect(w * 0.5 - 3, h * 0.5 - 1, 6, 4); - c.fillAndStroke(); - - - c.begin(); - c.moveTo(w - 19, h * 0.5 - 2); - c.lineTo(w - 10, h * 0.5 - 2); - c.lineTo(w - 10, h * 0.5 + 2); - c.lineTo(w - 19, h * 0.5 + 2); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w - 20, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 3); - c.lineTo(w - 5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 - 1); - c.lineTo(w - 3.5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 1); - c.lineTo(w - 5, h * 0.5 + 3); - c.lineTo(w - 20, h * 0.5 + 3); - c.close(); - c.stroke(); - -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ITOP_BAR_LOCKED, mxShapeMockupiTopBarLocked); - -//********************************************************************************************************************************************************** -//Button -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiButton, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Main Text'); - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8.5').toString(); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeMockupiButton.prototype.background = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.roundrect(0, 0, w, h, 2.5, 2.5); - c.fill(); -}; - -mxShapeMockupiButton.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w / 2, h / 2, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IBUTTON, mxShapeMockupiButton); - -//********************************************************************************************************************************************************** -//Button Back -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiButtonBack(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiButtonBack, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiButtonBack.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Main Text'); - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17').toString(); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeMockupiButtonBack.prototype.background = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - rSize = 2.5; - c.begin(); - c.moveTo(w, rSize); - c.arcTo(rSize, rSize, 0, 0, 0, w - rSize, 0); - c.lineTo(10, 0); - c.lineTo(0.87, h * 0.5 - 0.75); - c.arcTo(rSize, rSize, 0, 0, 0, 0.87, h * 0.5 + 0.75); - c.lineTo(10, h); - c.lineTo(w - rSize, h); - c.arcTo(rSize, rSize, 0, 0, 0, w, h - rSize); - c.close(); - c.fill(); -}; - -mxShapeMockupiButtonBack.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5 + 2.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IBUTTON_BACK, mxShapeMockupiButtonBack); - -//********************************************************************************************************************************************************** -//Button Forward -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiButtonForward(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiButtonForward, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiButtonForward.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Main Text'); - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '17').toString(); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeMockupiButtonForward.prototype.background = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - rSize = 2.5; - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - 10, 0); - c.lineTo(w - 0.87, h * 0.5 - 0.75); - c.arcTo(rSize, rSize, 0, 0, 1, w - 0.87, h * 0.5 + 0.75); - c.lineTo(w - 10, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fill(); -}; - -mxShapeMockupiButtonForward.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(w * 0.5 - 2.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IBUTTON_FORWARD, mxShapeMockupiButtonForward); - -//********************************************************************************************************************************************************** -//Prev/Next Button -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiPrevNextButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiPrevNextButton, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiPrevNextButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiPrevNextButton.prototype.background = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - var rSize = 5; - c.roundrect(0, 0, w, h, rSize, rSize); - c.fill(); - - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.stroke(); -}; - -mxShapeMockupiPrevNextButton.prototype.foreground = function(c, x, y, w, h) -{ - var fillColor3 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR3, '').toString(); - c.setFillColor(fillColor3); - - c.begin(); - c.moveTo(w * 0.25, h * 0.25); - c.lineTo(w * 0.35, h * 0.75); - c.lineTo(w * 0.15, h * 0.75); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w * 0.75, h * 0.75); - c.lineTo(w * 0.85, h * 0.25); - c.lineTo(w * 0.65, h * 0.25); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IPREV_NEXT, mxShapeMockupiPrevNextButton); - -//********************************************************************************************************************************************************** -//Text Input -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiTextInput(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiTextInput, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiTextInput.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Main Text'); - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#000000').toString(); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8').toString(); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeMockupiTextInput.prototype.background = function(c, x, y, w, h) -{ - c.roundrect(0, 0, w, h, 2.5, 2.5); - c.fillAndStroke(); -}; - -mxShapeMockupiTextInput.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(2, h * 0.5, 0, 0, text, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ITEXT_INPUT, mxShapeMockupiTextInput); - -//********************************************************************************************************************************************************** -//Radio Button Group (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiRadioGroup(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiRadioGroup, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiRadioGroup.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8').toString(); - var optionText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Option 1').toString().split(','); - var optionNum = optionText.length; - var buttonSize = 5; - var lineH = Math.max(fontSize * 1.5, buttonSize); - var maxTextWidth = 0; - var selected = -1; - var labelOffset = 2.5; - var minH = optionNum * lineH; - var trueH = Math.max(h, minH); - - //get min width and selected option - for (var i = 0; i < optionNum; i++) - { - var currText = optionText[i]; - - if(currText.charAt(0) === mxMockupC.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - var currWidth = mxUtils.getSizeForString(currText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxTextWidth) - { - maxTextWidth = currWidth; - } - } - - var minW = 2 * labelOffset + maxTextWidth + 2 * buttonSize; - var trueW = Math.max(w, minW); - - //draw the background - c.roundrect(0, 0, trueW, trueH, 2.5, 2.5); - c.fillAndStroke(); - c.setShadow(false); - - c.setFontSize(fontSize); - c.setFontColor(fontColor); - - for (var i = 0; i < optionNum; i++) - { - var currHeight = (i * lineH + lineH * 0.5) * trueH / minH; - - var currText = optionText[i]; - - if(currText.charAt(0) === mxMockupC.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - c.text(buttonSize * 2 + labelOffset, currHeight, 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var iconX = buttonSize * 0.5; - var iconY = currHeight - buttonSize * 0.5; - c.setFillColor('#dddddd'); - c.setStrokeColor('#000000'); - - if (selected === i) - { - c.setGradient('#aaaaaa', '#666666', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - c.setFillColor('#333333'); - c.setStrokeColor('#333333'); - c.ellipse(iconX + buttonSize * 0.25, iconY + buttonSize * 0.25, buttonSize * 0.5, buttonSize * 0.5); - c.fillAndStroke(); - } - else - { - c.setGradient('#eeeeee', '#cccccc', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - } - } -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IRADIO_GROUP, mxShapeMockupiRadioGroup); - -//********************************************************************************************************************************************************** -//Checkbox Group (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiCheckboxGroup(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiCheckboxGroup, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiCheckboxGroup.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8').toString(); - var optionText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Option 1').toString().split(','); - var optionNum = optionText.length; - var buttonSize = 5; - var lineH = Math.max(fontSize * 1.5, buttonSize); - var maxTextWidth = 0; - var selected = -1; - var labelOffset = 2.5; - var minH = optionNum * lineH; - var trueH = Math.max(h, minH); - - //get min width and selected option - for (var i = 0; i < optionNum; i++) - { - var currText = optionText[i]; - - if(currText.charAt(0) === mxMockupC.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - var currWidth = mxUtils.getSizeForString(currText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxTextWidth) - { - maxTextWidth = currWidth; - } - } - - var minW = 2 * labelOffset + maxTextWidth + 2 * buttonSize; - var trueW = Math.max(w, minW); - - //draw the background - c.roundrect(0, 0, trueW, trueH, 2.5, 2.5); - c.fillAndStroke(); - c.setShadow(false); - - c.setFontSize(fontSize); - c.setFontColor(fontColor); - - for (var i = 0; i < optionNum; i++) - { - var currHeight = (i * lineH + lineH * 0.5) * trueH / minH; - - var currText = optionText[i]; - - if(currText.charAt(0) === mxMockupC.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - c.text(buttonSize * 2 + labelOffset, currHeight, 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var iconX = buttonSize * 0.5; - var iconY = currHeight - buttonSize * 0.5; - c.setFillColor('#dddddd'); - c.setStrokeColor('#000000'); - - if (selected === i) - { - c.setGradient('#aaaaaa', '#666666', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - c.setStrokeColor('#333333'); - c.begin(); - c.moveTo(iconX + buttonSize * 0.25, iconY + buttonSize * 0.5); - c.lineTo(iconX + buttonSize * 0.5, iconY + buttonSize * 0.75); - c.lineTo(iconX + buttonSize * 0.75, iconY + buttonSize * 0.25); - c.stroke(); - } - else - { - c.setGradient('#eeeeee', '#cccccc', iconX, iconY, buttonSize, buttonSize, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - } - - selected = -1; - } -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICHECKBOX_GROUP, mxShapeMockupiCheckboxGroup); - -//********************************************************************************************************************************************************** -//Combo box -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiComboBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiComboBox, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiComboBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var mainText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Main Text'); - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#666666').toString(); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8.5').toString(); - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); - this.mainText(c, x, y, w, h, mainText, fontSize, fontColor); -}; - -mxShapeMockupiComboBox.prototype.background = function(c, x, y, w, h) -{ - c.setFillColor('#ffffff'); - c.roundrect(0, 0, w, h, 2.5, 2.5); - c.fillAndStroke(); -}; - -mxShapeMockupiComboBox.prototype.foreground = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, w - 30, 0, 30, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(w - 15, 0); - c.lineTo(w - 2.5, 0); - c.arcTo(2.5, 2.5, 0, 0, 1, w, 2.5); - c.lineTo(w, h - 2.5); - c.arcTo(2.5, 2.5, 0, 0, 1, w - 2.5, h); - c.lineTo(w - 15, h); - c.close(); - c.fillAndStroke(); - - c.setFillColor('#ffffff'); - c.begin(); - c.moveTo(w - 11, 5); - c.lineTo(w - 7.5, 10); - c.lineTo(w - 4, 5); - c.fill(); -}; - -mxShapeMockupiComboBox.prototype.mainText = function(c, x, y, w, h, text, fontSize, fontColor) -{ - c.begin(); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.text(2.5, h * 0.5, 0, 0, text, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICOMBO_BOX, mxShapeMockupiComboBox); - -//********************************************************************************************************************************************************** -//On-Off Button -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiOnOffButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiOnOffButton, mxShape); - -mxShapeMockupiOnOffButton.prototype.customProperties = [ - { name: 'buttonState', dispName: 'State', type: 'enum', - enumList: [{val: 'on', dispName: 'On'}, {val: 'off', dispName: 'Off'}]} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiOnOffButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - w = Math.max(w, 2 * h); - var state = mxUtils.getValue(this.style, mxMockupC.BUTTON_STATE, mxMockupC.STATE_ON); - this.background(c, x, y, w, h, state); - c.setShadow(false); - this.foreground(c, x, y, w, h, state); - this.mainText(c, x, y, w, h, state); -}; - -mxShapeMockupiOnOffButton.prototype.background = function(c, x, y, w, h, state) -{ - if (state === mxMockupC.STATE_ON) - { - c.setGradient('#E2FFEB', '#008215', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(0, 0, w, h, h * 0.5, h * 0.5); - c.fillAndStroke(); - } - else if (state === mxMockupC.STATE_OFF) - { - c.setGradient('#cc9999', '#881100', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(0, 0, w, h, h * 0.5, h * 0.5); - c.fillAndStroke(); - } -}; - -mxShapeMockupiOnOffButton.prototype.foreground = function(c, x, y, w, h, state) -{ - if (state === mxMockupC.STATE_ON) - { - c.setGradient('#ffffff', '#888888', w - h, 0, h, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(w - h, 0, h, h); - c.fillAndStroke(); - } - else - { - c.setGradient('#ffffff', '#888888', 0, 0, h, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(0, 0, h, h); - c.fillAndStroke(); - } -}; - -mxShapeMockupiOnOffButton.prototype.mainText = function(c, x, y, w, h, state) -{ - var mainText = mxUtils.getValue(this.style, 'mainText', null); - c.setFontColor('#ffffff'); - c.setFontSize(8.5); - - if (mainText != '') - { - if(state === mxMockupC.STATE_ON) - { - c.text(w * 0.5 - h * 0.4, h * 0.5, 0, 0, mainText || 'ON', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (state === mxMockupC.STATE_OFF) - { - c.text(w * 0.5 + h * 0.4, h * 0.5, 0, 0, mainText || 'OFF', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - } -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ION_OFF_BUTTON, mxShapeMockupiOnOffButton); - -//********************************************************************************************************************************************************** -//Alert Box -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiAlertBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiAlertBox, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiAlertBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - w = Math.max(w, 15); - h = Math.max(h, 15); - c.translate(x, y); - rSize = 7.5; - this.background(c, x, y, w, h, rSize); - c.setShadow(false); - this.foreground(c, x, y, w, h, rSize); -}; - -mxShapeMockupiAlertBox.prototype.background = function(c, x, y, w, h, rSize) -{ - c.setGradient('#497198', '#193168', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(0.8); - c.setStrokeWidth(1); - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); -}; - -mxShapeMockupiAlertBox.prototype.foreground = function(c, x, y, w, h, rSize) -{ - var mainText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Main Text').toString().split(','); - - c.setStrokeColor('#497198'); - c.setGradient('#497198', '#c5cee1', 0, 0, w, 22.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(0.5); - c.begin(); - c.moveTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, 17.5); - c.arcTo(w * 1.67, h * 2.5, 0, 0, 1, 0, 17.5); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fillAndStroke(); - - c.setAlpha(0.8); - c.setStrokeColor('#ffffff'); - c.setStrokeWidth(1); - c.roundrect(0, 0, w, h, rSize, rSize); - c.stroke(); - - c.setGradient('#497198', '#c5cee1', 5, h - 50, w - 20, 20, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(5, h - 25, w - 10, 20, 2.5, 2.5); - c.fillAndStroke(); - - c.setAlpha(0.9); - c.setFontSize(9.5); - c.setFontColor('#ffffff'); - c.text(w * 0.5, h * 0.15, 0, 0, mainText[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(8); - c.text(w * 0.5, h * 0.4, 0, 0, mainText[2], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.55, 0, 0, mainText[3], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(8.5); - c.text(w * 0.5, h - 15, 0, 0, mainText[1], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IALERT_BOX, mxShapeMockupiAlertBox); - -//********************************************************************************************************************************************************** -//Dialog Box -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiDialogBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiDialogBox, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiDialogBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - w = Math.max(w, 15); - h = Math.max(h, 15); - c.translate(x, y); - rSize = 7.5; - this.background(c, x, y, w, h, rSize); - c.setShadow(false); - this.foreground(c, x, y, w, h, rSize); -}; - -mxShapeMockupiDialogBox.prototype.background = function(c, x, y, w, h, rSize) -{ - c.setGradient('#497198', '#193168', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(0.8); - c.setStrokeWidth(1); - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); -}; - -mxShapeMockupiDialogBox.prototype.foreground = function(c, x, y, w, h, rSize) -{ - var mainText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Main Text').toString().split(','); - - c.setStrokeColor('#497198'); - c.setGradient('#497198', '#c5cee1', 0, 0, w, 22.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(0.5); - c.begin(); - c.moveTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, 17.5); - c.arcTo(w * 1.67, h * 2.5, 0, 0, 1, 0, 17.5); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fillAndStroke(); - - c.setAlpha(0.8); - c.setStrokeColor('#ffffff'); - c.setStrokeWidth(1); - c.roundrect(0, 0, w, h, rSize, rSize); - c.stroke(); - - c.setGradient('#497198', '#c5cee1', 5, h - 25, w * 0.5 - 10, 20, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(5, h - 25, w * 0.5 - 10, 20, 2.5, 2.5); - c.fillAndStroke(); - - c.roundrect(w * 0.5 + 2.5, h - 25, w * 0.5 - 10, 20, 2.5, 2.5); - c.fillAndStroke(); - - c.setAlpha(0.9); - c.setFontSize(9.5); - c.setFontColor('#ffffff'); - c.text(w * 0.5, h * 0.15, 0, 0, mainText[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(8); - c.text(w * 0.5, h * 0.4, 0, 0, mainText[3], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.55, 0, 0, mainText[4], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(8.5); - c.text(w * 0.25, h - 15, 0, 0, mainText[1], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.75, h - 15, 0, 0, mainText[2], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IDIALOG_BOX, mxShapeMockupiDialogBox); - -//********************************************************************************************************************************************************** -//Lock Button -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiLockButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiLockButton, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiLockButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.setShadow(false); - - c.setAlpha(0.7); - c.setGradient('#4A4F56', '#70757B', 0, 0, w, h, mxConstants.DIRECTION_NORTH, 1, 1); - c.rect(0, 0, w, h); - c.fill(); - - c.setAlpha(0.8); - c.setGradient('#18232D', '#1F2933', 10, 10, 154, 30, mxConstants.DIRECTION_NORTH, 1, 1); - c.roundrect(10, h * 0.5 - 15, w - 20, 30, 7.5, 7.5); - c.fill(); - - c.setAlpha(1); - c.setGradient('#E9F3FD', '#ADB7C1', 12.5, 12.5, 40, 25, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(12.5, h * 0.5 - 12.5, 40, 25, 5, 5); - c.fill(); - - c.setAlpha(0.8); - c.setStrokeWidth(0.5); - c.setStrokeColor('#aabbbb'); - c.setGradient('#AEB7C1', '#667079', 20, 17.5, 25, 15, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(20, h * 0.5 - 3.5); - c.lineTo(35, h * 0.5 - 3.5); - c.lineTo(35, h * 0.5 - 7.5); - c.lineTo(45, h * 0.5); - c.lineTo(35, h * 0.5 + 7.5); - c.lineTo(35, h * 0.5 + 3.5); - c.lineTo(20, h * 0.5 + 3.5); - c.close(); - c.fillAndStroke(); - - var mainText = mxUtils.getValue(this.style, 'mainText', null); - - if (mainText != '') - { - c.setFontSize(12.5); - c.setFontColor('#cccccc'); - c.text(w / 2 + 20.5, h / 2, 0, 0, 'slide to unlock', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ILOCK_BUTTON, mxShapeMockupiLockButton); - -//********************************************************************************************************************************************************** -//Arrow Icon -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiArrowIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiArrowIcon, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiArrowIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '').toString(); - - c.translate(x, y); - this.background(c, x, y, w, h, strokeColor); - c.setShadow(false); - this.foreground(c, x, y, w, h, strokeColor); -}; - -mxShapeMockupiArrowIcon.prototype.background = function(c, x, y, w, h, strokeColor) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.setStrokeWidth(1.5); - c.setStrokeColor(strokeColor); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiArrowIcon.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setStrokeWidth(2.5); - c.begin(); - c.moveTo(w * 0.4, h * 0.22); - c.lineTo(w * 0.65, h * 0.5); - c.lineTo(w * 0.4, h * 0.78); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IARROW_ICON, mxShapeMockupiArrowIcon); - -//********************************************************************************************************************************************************** -//Delete Icon -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiDeleteIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiDeleteIcon, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiDeleteIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '').toString(); - - c.translate(x, y); - this.background(c, x, y, w, h, strokeColor); - c.setShadow(false); - this.foreground(c, x, y, w, h, strokeColor); -}; - -mxShapeMockupiDeleteIcon.prototype.background = function(c, x, y, w, h, strokeColor) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.setStrokeWidth(1.5); - c.setStrokeColor(strokeColor); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiDeleteIcon.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setStrokeWidth(2.5); - c.begin(); - c.moveTo(w * 0.25, h * 0.5); - c.lineTo(w * 0.75, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IDELETE_ICON, mxShapeMockupiDeleteIcon); - -//********************************************************************************************************************************************************** -//Add Icon -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiAddIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiAddIcon, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiAddIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '').toString(); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setStrokeColor(strokeColor); - - - c.translate(x, y); - this.background(c, x, y, w, h, strokeColor); - c.setShadow(false); - this.foreground(c, x, y, w, h, strokeColor); -}; - -mxShapeMockupiAddIcon.prototype.background = function(c, x, y, w, h, strokeColor) -{ - c.setStrokeWidth(1.5); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiAddIcon.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setStrokeWidth(2.5); - c.begin(); - c.moveTo(w * 0.25, h * 0.5); - c.lineTo(w * 0.75, h * 0.5); - c.moveTo(w * 0.5, h * 0.25); - c.lineTo(w * 0.5, h * 0.75); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IADD_ICON, mxShapeMockupiAddIcon); - -//********************************************************************************************************************************************************** -//Info Icon -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiInfoIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiInfoIcon, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiInfoIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '').toString(); - - c.translate(x, y); - this.background(c, x, y, w, h, strokeColor); - c.setShadow(false); - this.foreground(c, x, y, w, h, strokeColor); -}; - -mxShapeMockupiInfoIcon.prototype.background = function(c, x, y, w, h, strokeColor) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.setStrokeWidth(1.5); - c.setStrokeColor(strokeColor); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiInfoIcon.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setStrokeWidth(2.5); - c.begin(); - c.setFillColor('#ffffff'); - c.moveTo(w * 0.47, h * 0.334); - c.arcTo(w * 0.1, h * 0.15, 60, 0, 1, w * 0.61, h * 0.42); - c.lineTo(w * 0.51, h * 0.7); - c.arcTo(w * 0.026, h * 0.03, 30, 0, 0, w * 0.54, h * 0.74); - c.lineTo(w * 0.608, h * 0.684); - c.arcTo(w * 0.02, h * 0.015, 0, 0, 1, w * 0.638, h * 0.706); - c.arcTo(w * 0.45, h * 0.45, 0, 0, 1, w * 0.42, h * 0.865); - c.arcTo(w * 0.1, h * 0.08, -15, 0, 1, w * 0.325, h * 0.77); - c.lineTo(w * 0.358, h * 0.66); - c.lineTo(w * 0.435, h * 0.46); - c.arcTo(w * 0.023, h * 0.03, 0, 0, 0, w * 0.4, h * 0.43); - c.lineTo(w * 0.338, h * 0.484); - c.arcTo(w * 0.01, h * 0.015, 45, 0, 1, w * 0.31, h * 0.47); - c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, w * 0.47, h * 0.334); - c.fill(); - - c.begin(); - c.moveTo(w * 0.5438, h * 0.141); - c.arcTo(w * 0.0776, h * 0.0898, 40, 0, 1, w * 0.6671, h * 0.2308); - c.arcTo(w * 0.0776, h * 0.0898, 40, 0, 1, w * 0.5438, h * 0.141); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IINFO_ICON, mxShapeMockupiInfoIcon); - - -//********************************************************************************************************************************************************** -//Sort/Find Icon -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiSortFindIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiSortFindIcon, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiSortFindIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '').toString(); - - c.translate(x, y); - this.background(c, x, y, w, h, strokeColor); - c.setShadow(false); - this.foreground(c, x, y, w, h, strokeColor); -}; - -mxShapeMockupiSortFindIcon.prototype.background = function(c, x, y, w, h, strokeColor) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.setStrokeWidth(1.5); - c.setStrokeColor(strokeColor); - c.roundrect(0, 0, w, h, w * 0.1, h * 0.1); - c.fillAndStroke(); -}; - -mxShapeMockupiSortFindIcon.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setStrokeWidth((Math.min(h, w)) / 20); - c.begin(); - c.setFillColor('#ffffff'); - c.moveTo(w * 0.1, h * 0.25); - c.lineTo(w * 0.9, h * 0.25); - c.moveTo(w * 0.1, h * 0.4); - c.lineTo(w * 0.9, h * 0.4); - c.moveTo(w * 0.1, h * 0.55); - c.lineTo(w * 0.6, h * 0.55); - c.moveTo(w * 0.1, h * 0.7); - c.lineTo(w * 0.5, h * 0.7); - c.stroke(); - - c.begin(); - c.ellipse(w * 0.6, h * 0.6, w * 0.2, h * 0.2); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.77, h * 0.77); - c.lineTo(w * 0.85, h * 0.85); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ISORT_FIND_ICON, mxShapeMockupiSortFindIcon); - -//********************************************************************************************************************************************************** -//Check Icon -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiCheckIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiCheckIcon, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiCheckIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '').toString(); - - c.translate(x, y); - this.background(c, x, y, w, h, strokeColor); - c.setShadow(false); - this.foreground(c, x, y, w, h, strokeColor); -}; - -mxShapeMockupiCheckIcon.prototype.background = function(c, x, y, w, h, strokeColor) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.setStrokeWidth(1.5); - c.setStrokeColor(strokeColor); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiCheckIcon.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setStrokeWidth(2.5); - c.begin(); - c.moveTo(w * 0.25, h * 0.5); - c.lineTo(w * 0.5, h * 0.65); - c.lineTo(w * 0.75, h * 0.25); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICHECK_ICON, mxShapeMockupiCheckIcon); - -//********************************************************************************************************************************************************** -//Keyboard (letters) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiKeybLetters(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiKeybLetters, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiKeybLetters.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiKeybLetters.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#8A97A7', '#425163', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeMockupiKeybLetters.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setGradient('#EEF3F9', '#DBE2E9', w * 0.0086, h * 0.03, w * 0.0776, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - rSizeX = w * 0.0144; - rSizeY = h * 0.025; - c.setFontSize(10.5); - c.setFontColor('#000000'); - - c.roundrect(w * 0.0086, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.0474, h * 0.125, 0, 0, 'Q', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1092, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.148, h * 0.125, 0, 0, 'W', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2098, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2486, h * 0.125, 0, 0, 'E', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3103, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3491, h * 0.125, 0, 0, 'R', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4109, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.4497, h * 0.125, 0, 0, 'T', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5115, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5503, h * 0.125, 0, 0, 'Y', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.6121, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6509, h * 0.125, 0, 0, 'U', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.7126, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7514, h * 0.125, 0, 0, 'I', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.8132, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.852, h * 0.125, 0, 0, 'O', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.9138, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.9526, h * 0.125, 0, 0, 'P', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.0632, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.102, h * 0.375, 0, 0, 'A', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1638, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2026, h * 0.375, 0, 0, 'S', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2644, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3032, h * 0.375, 0, 0, 'D', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3649, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.4037, h * 0.375, 0, 0, 'F', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4655, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5043, h * 0.375, 0, 0, 'G', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5661, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6049, h * 0.375, 0, 0, 'H', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.6667, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7055, h * 0.375, 0, 0, 'J', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.7672, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.806, h * 0.375, 0, 0, 'K', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.8678, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.9066, h * 0.375, 0, 0, 'L', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - - c.roundrect(w * 0.1638, h * 0.53, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2026, h * 0.625, 0, 0, 'Z', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2644, h * 0.53, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3032, h * 0.625, 0, 0, 'X', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3649, h * 0.53, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.4037, h * 0.625, 0, 0, 'C', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4655, h * 0.53, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5043, h * 0.625, 0, 0, 'V', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5661, h * 0.53, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6049, h * 0.625, 0, 0, 'B', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.6667, h * 0.53, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7055, h * 0.625, 0, 0, 'N', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.7672, h * 0.53, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.806, h * 0.625, 0, 0, 'M', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - - c.roundrect(w * 0.2644, h * 0.78, w * 0.4799, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.setFontColor('#666666'); - c.text(w * 0.5043, h * 0.875, 0, 0, 'space', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontColor('#ffffff'); - - c.setGradient('#8B98A8', '#677488', w * 0.0115, h * 0.53, w * 0.1207, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(w * 0.0115, h * 0.53, w * 0.1207, h * 0.19, rSizeX, rSizeY); - c.fill(); - - c.setGradient('#8B98A8', '#677488', w * 0.8736, h * 0.53, w * 0.115, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(w * 0.8736, h * 0.53, w * 0.115, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.setGradient('#8B98A8', '#677488', w * 0.0115, h * 0.78, w * 0.2299, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(w * 0.0115, h * 0.78, w * 0.2299, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.setGradient('#8B98A8', '#677488', w * 0.7672, h * 0.78, w * 0.2213, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(w * 0.7672, h * 0.78, w * 0.2213, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.1264, h * 0.875, 0, 0, '.?123', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8779, h * 0.875, 0, 0, 'return', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setShadow(false); - c.setLineJoin('round'); - c.setStrokeColor('#ffffff'); - c.setFillColor('#ffffff'); - c.setStrokeWidth(1.5); - c.begin(); - c.moveTo(w * 0.0402, h * 0.635); - c.lineTo(w * 0.0718, h * 0.58); - c.lineTo(w * 0.1034, h * 0.635); - c.lineTo(w * 0.0862, h * 0.635); - c.lineTo(w * 0.0862, h * 0.67); - c.lineTo(w * 0.0575, h * 0.67); - c.lineTo(w * 0.0575, h * 0.635); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.9109, h * 0.585); - c.lineTo(w * 0.9655, h * 0.585); - c.lineTo(w * 0.9655, h * 0.665); - c.lineTo(w * 0.9109, h * 0.665); - c.lineTo(w * 0.8879, h * 0.625); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor('#677488'); - c.begin(); - c.moveTo(w * 0.9224, h * 0.605); - c.lineTo(w * 0.9454, h * 0.645); - c.moveTo(w * 0.9224, h * 0.645); - c.lineTo(w * 0.9454, h * 0.605); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IKEYB_LETTERS, mxShapeMockupiKeybLetters); - -//********************************************************************************************************************************************************** -//Keyboard (numbers) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiKeybNumbers(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiKeybNumbers, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiKeybNumbers.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiKeybNumbers.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#8A97A7', '#425163', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeMockupiKeybNumbers.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setGradient('#EEF3F9', '#DBE2E9', w * 0.0086, h * 0.03, w * 0.0776, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - rSizeX = w * 0.0144; - rSizeY = h * 0.025; - c.setFontSize(10.5); - c.setFontColor('#000000'); - - c.roundrect(w * 0.0086, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.0474, h * 0.125, 0, 0, '1', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1092, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.148, h * 0.125, 0, 0, '2', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2098, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2486, h * 0.125, 0, 0, '3', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3103, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3491, h * 0.125, 0, 0, '4', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4109, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.4497, h * 0.125, 0, 0, '5', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5115, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5503, h * 0.125, 0, 0, '6', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.6121, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6509, h * 0.125, 0, 0, '7', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.7126, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7514, h * 0.125, 0, 0, '8', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.8132, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.852, h * 0.125, 0, 0, '9', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.9138, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.9526, h * 0.125, 0, 0, '0', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.0086, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.0474, h * 0.375, 0, 0, '-', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1092, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.148, h * 0.375, 0, 0, '/', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2098, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2486, h * 0.375, 0, 0, ':', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3103, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3491, h * 0.375, 0, 0, ';', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4109, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.4497, h * 0.375, 0, 0, '(', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5115, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5503, h * 0.375, 0, 0, ')', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.6121, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6509, h * 0.375, 0, 0, '$', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.7126, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7514, h * 0.375, 0, 0, '&', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.8132, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.852, h * 0.375, 0, 0, '@', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.9138, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.9526, h * 0.375, 0, 0, '\"', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1638, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2227, h * 0.625, 0, 0, '.', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3046, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3635, h * 0.625, 0, 0, ',', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4454, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5043, h * 0.625, 0, 0, '?', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5862, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6451, h * 0.625, 0, 0, '!', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.727, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7859, h * 0.625, 0, 0, '\'', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - - c.roundrect(w * 0.2644, h * 0.78, w * 0.4799, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.setFontColor('#666666'); - c.text(w * 0.5043, h * 0.875, 0, 0, 'space', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setGradient('#8B98A8', '#677488', w * 0.0115, h * 0.53, w * 0.1207, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setFontColor('#ffffff'); - - c.roundrect(w * 0.0115, h * 0.53, w * 0.1207, h * 0.19, rSizeX, rSizeY); - c.fill(); - - c.roundrect(w * 0.8736, h * 0.53, w * 0.115, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.roundrect(w * 0.0115, h * 0.78, w * 0.2299, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.roundrect(w * 0.7672, h * 0.78, w * 0.2213, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.0718, h * 0.625, 0, 0, '#+=', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.1264, h * 0.875, 0, 0, 'ABC', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8779, h * 0.875, 0, 0, 'return', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setShadow(false); - c.setLineJoin('round'); - c.setStrokeColor('#ffffff'); - c.setFillColor('#ffffff'); - c.setStrokeWidth(1.5); - c.begin(); - c.moveTo(w * 0.9109, h * 0.585); - c.lineTo(w * 0.9655, h * 0.585); - c.lineTo(w * 0.9655, h * 0.665); - c.lineTo(w * 0.9109, h * 0.665); - c.lineTo(w * 0.8879, h * 0.625); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor('#677488'); - c.begin(); - c.moveTo(w * 0.9224, h * 0.605); - c.lineTo(w * 0.9454, h * 0.645); - c.moveTo(w * 0.9224, h * 0.645); - c.lineTo(w * 0.9454, h * 0.605); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IKEYB_NUMBERS, mxShapeMockupiKeybNumbers); - -//********************************************************************************************************************************************************** -//Keyboard (symbols) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiKeybSymbols(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiKeybSymbols, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiKeybSymbols.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiKeybSymbols.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#8A97A7', '#425163', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeMockupiKeybSymbols.prototype.foreground = function(c, x, y, w, h, strokeColor) -{ - c.setGradient('#EEF3F9', '#DBE2E9', w * 0.0086, h * 0.03, w * 0.0776, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - rSizeX = w * 0.0144; - rSizeY = h * 0.025; - c.setFontSize(10.5); - c.setFontColor('#000000'); - - c.roundrect(w * 0.0086, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.0474, h * 0.125, 0, 0, '[', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1092, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.148, h * 0.125, 0, 0, ']', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2098, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2486, h * 0.125, 0, 0, '{', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3103, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3491, h * 0.125, 0, 0, '}', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4109, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.4497, h * 0.125, 0, 0, '#', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5115, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5503, h * 0.125, 0, 0, '%', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.6121, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6509, h * 0.125, 0, 0, '^', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.7126, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7514, h * 0.125, 0, 0, '*', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.8132, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.852, h * 0.125, 0, 0, '+', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.9138, h * 0.03, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.9526, h * 0.125, 0, 0, '=', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.0086, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.0474, h * 0.375, 0, 0, '_', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1092, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.148, h * 0.375, 0, 0, '\\', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2098, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2486, h * 0.375, 0, 0, '|', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3103, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3491, h * 0.375, 0, 0, '~', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4109, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.4497, h * 0.375, 0, 0, '<', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5115, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5503, h * 0.375, 0, 0, '>', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.6121, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6509, h * 0.375, 0, 0, String.fromCharCode(128), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.7126, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7514, h * 0.375, 0, 0, String.fromCharCode(parseInt('00A3', 16)), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.8132, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.852, h * 0.375, 0, 0, String.fromCharCode(parseInt('00A5', 16)), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.9138, h * 0.28, w * 0.0776, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.9526, h * 0.375, 0, 0, String.fromCharCode(parseInt('0095', 16)), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.1638, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.2227, h * 0.625, 0, 0, '.', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.3046, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.3635, h * 0.625, 0, 0, ',', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.4454, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.5043, h * 0.625, 0, 0, '?', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.5862, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.6451, h * 0.625, 0, 0, '!', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.727, h * 0.53, w * 0.1178, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.7859, h * 0.625, 0, 0, '\'', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.roundrect(w * 0.2644, h * 0.78, w * 0.4799, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.setFontColor('#666666'); - c.text(w * 0.5043, h * 0.875, 0, 0, 'space', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setGradient('#8B98A8', '#677488', w * 0.0115, h * 0.53, w * 0.1207, h * 0.19, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setFontColor('#ffffff'); - - c.roundrect(w * 0.0115, h * 0.53, w * 0.1207, h * 0.19, rSizeX, rSizeY); - c.fill(); - - c.roundrect(w * 0.8736, h * 0.53, w * 0.115, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.roundrect(w * 0.0115, h * 0.78, w * 0.2299, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.roundrect(w * 0.7672, h * 0.78, w * 0.2213, h * 0.19, rSizeX, rSizeY); - c.fill(); - c.text(w * 0.0718, h * 0.625, 0, 0, '123', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.1264, h * 0.875, 0, 0, 'ABC', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8779, h * 0.875, 0, 0, 'return', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setShadow(false); - c.setLineJoin('round'); - c.setStrokeColor('#ffffff'); - c.setFillColor('#ffffff'); - c.setStrokeWidth(1.5); - c.begin(); - c.moveTo(w * 0.9109, h * 0.585); - c.lineTo(w * 0.9655, h * 0.585); - c.lineTo(w * 0.9655, h * 0.665); - c.lineTo(w * 0.9109, h * 0.665); - c.lineTo(w * 0.8879, h * 0.625); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor('#677488'); - c.begin(); - c.moveTo(w * 0.9224, h * 0.605); - c.lineTo(w * 0.9454, h * 0.645); - c.moveTo(w * 0.9224, h * 0.645); - c.lineTo(w * 0.9454, h * 0.605); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IKEYB_SYMBOLS, mxShapeMockupiKeybSymbols); - -//********************************************************************************************************************************************************** -//Delete App -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiDeleteApp(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiDeleteApp, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiDeleteApp.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '').toString(); - - c.translate(x, y); - this.background(c, x, y, w, h, strokeColor); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiDeleteApp.prototype.background = function(c, x, y, w, h, strokeColor) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '').toString(); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '').toString(); - c.setGradient(fillColor, fillColor2, 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.setStrokeWidth(1.5); - c.setStrokeColor(strokeColor); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiDeleteApp.prototype.foreground = function(c, x, y, w, h) -{ - c.setStrokeWidth(2.5); - c.begin(); - c.moveTo(w * 0.3, h * 0.3); - c.lineTo(w * 0.7, h * 0.7); - c.moveTo(w * 0.3, h * 0.7); - c.lineTo(w * 0.7, h * 0.3); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IDELETE_APP, mxShapeMockupiDeleteApp); - -//********************************************************************************************************************************************************** -//Direction -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiDirection(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiDirection, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiDirection.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiDirection.prototype.background = function(c, x, y, w, h) -{ - c.setStrokeWidth(0.5); - c.setStrokeColor('#008cff'); - c.ellipse(0, 0, w, h); - c.stroke(); -}; - -mxShapeMockupiDirection.prototype.foreground = function(c, x, y, w, h) -{ - c.setAlpha(1); - c.setGradient('#ffffff', '#ffffff', w * 0.29, h * 0.2, w * 0.42, h * 0.3, mxConstants.DIRECTION_NORTH, 1, 0); - c.begin(); - c.moveTo(w * 0.29, h * 0.2); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.71, h * 0.2); - c.fillAndStroke(); - - c.setStrokeColor('#006cdf'); - c.setGradient('#ffffff', '#007cef', w * 0.47, h * 0.47, w * 0.06, h * 0.06, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(1); - c.ellipse(w * 0.47, h * 0.47, w * 0.06, h * 0.06); - c.fillAndStroke(); - - c.setFillColor('#ffffff'); - c.setAlpha(0.8); - c.ellipse(w * 0.4825, h * 0.4825, w * 0.015, h * 0.015); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IDIRECTION, mxShapeMockupiDirection); - -//********************************************************************************************************************************************************** -//Location Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiLocationBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiLocationBar, mxShape); - -mxShapeMockupiLocationBar.prototype.customProperties = [ - {name: 'buttonText', dispName: 'Text', type: 'string'}, - {name: 'barPos', dispName: 'Callout Position', type: 'float', min:0, defVal:80}, - {name: 'pointerPos', dispName: 'Callout Orientation', type: 'enum', - enumList: [{val: 'bottom', dispName: 'Bottom'}, {val: 'top', dispName: 'Top'}] - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiLocationBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiLocationBar.prototype.background = function(c, x, y, w, h) -{ - var barPos = mxUtils.getValue(this.style, mxMockupC.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var pointerPos = mxUtils.getValue(this.style, mxMockupC.POINTER_POS, mxMockupC.POINTER_BOTTOM); - var rSize = 2.5; - var deadzone = rSize + 7.5; // rounding + pointer width / 2 - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - c.setStrokeWidth(0.5); - c.setStrokeColor('#000000'); - c.setAlpha(0.7); - c.begin(); - - if (pointerPos === mxMockupC.POINTER_BOTTOM) - { - c.setGradient('#000000', '#888888', 0, 0, w, h, mxConstants.DIRECTION_NORTH, 1, 1); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize - 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h - 7.5); - c.lineTo(truePos + 7.5, h - 7.5); - c.lineTo(truePos, h); - c.lineTo(truePos - 7.5, h - 7.5); - c.lineTo(rSize, h - 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize - 7.5); - } - else if (pointerPos === mxMockupC.POINTER_TOP) - { - c.setGradient('#000000', '#888888', 0, 0, w, h, mxConstants.DIRECTION_NORTH, 1, 1); - c.moveTo(0, rSize + 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 7.5); - c.lineTo(truePos - 7.5, 7.5); - c.lineTo(truePos, 0); - c.lineTo(truePos + 7.5, 7.5); - c.lineTo(w - rSize, 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize + 7.5); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - } - - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupiLocationBar.prototype.foreground = function(c, x, y, w, h) -{ - var pointerPos = mxUtils.getValue(this.style, mxMockupC.POINTER_POS, mxMockupC.POINTER_BOTTOM); - var locText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Some Location'); - c.setAlpha(1); - c.setFontColor('#ffffff'); - c.setFontSize(9.5); - - if (pointerPos === mxMockupC.POINTER_BOTTOM) - { - c.text(5, (h - 7.5) * 0.5, 0, 0, locText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.translate(w - 20, (h - 7.5) * 0.5 - 7.5); - } - else - { - c.text(5, (h + 7.5) * 0.5, 0, 0, locText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.translate(w - 20, (h + 7.5) * 0.5 - 7.5); - } - - w = 15; - h = 15; - - c.setGradient('#8BbEff', '#135Ec8', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - - c.setStrokeWidth(1.5); - c.setStrokeColor('#ffffff'); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - c.setStrokeWidth(2.5); - c.begin(); - c.moveTo(w * 0.4, h * 0.22); - c.lineTo(w * 0.65, h * 0.5); - c.lineTo(w * 0.4, h * 0.78); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ILOCATION_BAR, mxShapeMockupiLocationBar); - -//********************************************************************************************************************************************************** -//Call Dialog -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiCallDialog(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiCallDialog, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiCallDialog.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var rSize = 5; - c.translate(x, y); - this.background(c, x, y, w, h, rSize); - c.setShadow(false); - this.foreground(c, x, y, w, h, rSize); -}; - -mxShapeMockupiCallDialog.prototype.background = function(c, x, y, w, h, rSize) -{ - c.setAlpha(0.8); - c.setStrokeColor('#888888'); - c.setStrokeWidth(1.5); - c.setFillColor('#000000'); - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); -}; - -mxShapeMockupiCallDialog.prototype.foreground = function(c, x, y, w, h, rSize) -{ - - c.begin(); - c.moveTo(w * 0.33, 0); - c.lineTo(w * 0.33, h); - c.moveTo(w * 0.67, 0); - c.lineTo(w * 0.67, h); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - c.setStrokeColor('#000000'); - c.setFillColor('#ffffff'); - c.setStrokeWidth(0.5); - c.roundrect(w * 0.1433, h * 0.104, w * 0.0417, h * 0.148, w * 0.02, h * 0.024); - c.fill(); - - c.begin(); - c.moveTo(w * 0.14, h * 0.188); - c.lineTo(w * 0.14, h * 0.228); - c.arcTo(w * 0.025, h * 0.03, 0, 0, 0, w * 0.19, h * 0.228); - c.lineTo(w * 0.19, h * 0.188); - c.lineTo(w * 0.2, h * 0.188); - c.lineTo(w * 0.2, h * 0.228); - c.arcTo(w * 0.0367, h * 0.044, 0, 0, 1, w * 0.17, h * 0.27); - c.lineTo(w * 0.17, h * 0.296); - c.lineTo(w * 0.195, h * 0.296); - c.lineTo(w * 0.195, h * 0.308); - c.lineTo(w * 0.1367, h * 0.308); - c.lineTo(w * 0.1367, h * 0.296); - c.lineTo(w * 0.16, h * 0.296); - c.lineTo(w * 0.16, h * 0.27); - c.arcTo(w * 0.0367, h * 0.044, 0, 0, 1, w * 0.13, h * 0.228); - c.lineTo(w * 0.13, h * 0.188); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1033, h * 0.108); - c.lineTo(w * 0.24, h * 0.286); - c.lineTo(w * 0.2317, h * 0.298); - c.lineTo(w * 0.095, h * 0.12); - c.close(); - c.fillAndStroke(); - - c.rect(w * 0.44, h * 0.128, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.485, h * 0.128, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.53, h * 0.128, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.44, h * 0.186, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.485, h * 0.186, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.53, h * 0.186, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.44, h * 0.244, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.485, h * 0.244, w * 0.033, h * 0.04); - c.fill(); - c.rect(w * 0.53, h * 0.244, w * 0.033, h * 0.04); - c.fill(); - - c.begin(); - c.moveTo(w * 0.7567, h * 0.18); - c.lineTo(w * 0.785, h * 0.18); - c.lineTo(w * 0.825, h * 0.128); - c.lineTo(w * 0.825, h * 0.28); - c.lineTo(w * 0.79, h * 0.234); - c.lineTo(w * 0.7567, h * 0.234); - c.close(); - c.fill(); - - c.setStrokeWidth(1.5); - c.setStrokeColor('#ffffff'); - c.begin(); - c.moveTo(w * 0.8383, h * 0.16); - c.arcTo(w * 0.0533, h * 0.064, 0, 0, 1, w * 0.8383, h * 0.252); - c.moveTo(w * 0.8583, h * 0.134); - c.arcTo(w * 0.0817, h * 0.098, 0, 0, 1, w * 0.8583, h * 0.276); - c.moveTo(w * 0.8767, h * 0.11); - c.arcTo(w * 0.1133, h * 0.136, 0, 0, 1, w * 0.8767, h * 0.304); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.1467, h * 0.62); - c.lineTo(w * 0.1833, h * 0.62); - c.lineTo(w * 0.1833,h * 0.676); - c.lineTo(w * 0.2267,h * 0.676); - c.lineTo(w * 0.2267,h * 0.724); - c.lineTo(w * 0.1833,h * 0.724); - c.lineTo(w * 0.1833,h * 0.78); - c.lineTo(w * 0.1467,h * 0.78); - c.lineTo(w * 0.1467,h * 0.724); - c.lineTo(w * 0.105,h * 0.724); - c.lineTo(w * 0.105,h * 0.676); - c.lineTo(w * 0.1467,h * 0.676); - c.close(); - c.fill(); - - c.rect(w * 0.4517, h * 0.624, w * 0.0333, h * 0.152); - c.fill(); - - c.rect(w * 0.5183, h * 0.624, w * 0.0333, h * 0.152); - c.fill(); - - c.begin(); - c.moveTo(w * 0.76, h * 0.752); - c.arcTo(w * 0.1, h * 0.12, 0, 0, 1, w * 0.8033, h * 0.728); - c.arcTo(w * 0.0167, h * 0.02, 0, 0, 0, w * 0.8167, h * 0.712); - c.lineTo(w * 0.8175, h * 0.7); - c.arcTo(w * 0.0267, h * 0.06, 0, 0, 1, w * 0.8067, h * 0.644); - c.arcTo(w * 0.0287, h * 0.0344, 0, 0, 1, w * 0.8633, h * 0.644); - c.arcTo(w * 0.0267, h * 0.06, 0, 0, 1, w * 0.855, h * 0.7); - c.arcTo(w * 0.05, h * 0.724, 0, 0, 1, w * 0.8633, h * 0.724); - c.arcTo(w * 0.1667, h * 0.75, 0, 0, 1, w * 0.9083, h * 0.75); - c.lineTo(w * 0.9083, h * 0.78); - c.lineTo(w * 0.76, h * 0.78); - c.close(); - c.fill(); - - c.setFontColor('#ffffff'); - c.setFontSize(8.5); - c.text(w * 0.1667, h * 0.35, 0, 0, 'mute', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.35, 0, 0, 'keypad', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.35, 0, 0, 'speaker', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.1667, h * 0.85, 0, 0, 'add', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.85, 0, 0, 'pause', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.85, 0, 0, 'contacts', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setGradient('#808080', '#ffffff', 0, 0, w, h * 0.308, mxConstants.DIRECTION_NORTH, 1, 1); - c.setAlpha(0.4); - c.begin(); - c.moveTo(0, h * 0.308); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h * 0.308); - c.arcTo(w * 1.5, h * 1.8, 0, 0, 1, 0, h * 0.308); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICALL_DIALOG, mxShapeMockupiCallDialog); - -//********************************************************************************************************************************************************** -//Call Buttons -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiCallButtons(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiCallButtons, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiCallButtons.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiCallButtons.prototype.background = function(c, x, y, w, h) -{ - c.setStrokeWidth(0.5); - c.setStrokeColor('#008cff'); - c.setGradient('#0F1B2B', '#4F5B6B', 0, 0, w, h, mxConstants.DIRECTION_NORTH, 1, 1); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeMockupiCallButtons.prototype.foreground = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.1667); - c.lineTo(w, h * 0.1667); - c.moveTo(0, h * 0.3333); - c.lineTo(w, h * 0.3333); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.moveTo(0, h * 0.6667); - c.lineTo(w, h * 0.6667); - c.moveTo(0, h * 0.8333); - c.lineTo(w, h * 0.8333); - c.moveTo(w * 0.3333, h * 0.1667); - c.lineTo(w * 0.3333, h); - c.moveTo(w * 0.6667, h * 0.1667); - c.lineTo(w * 0.6667, h); - c.stroke(); - - c.setFontSize(15.5); - c.setFontColor('#ffffff'); - c.setFontStyle(mxConstants.FONT_BOLD); - - c.text(w * 0.5, h * 0.0834, 0, 0, '(123) 456-7890', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(w * 0.1667, h * 0.22, 0, 0, '1', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.22, 0, 0, '2', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.22, 0, 0, '3', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(w * 0.1667, h * 0.3867, 0, 0, '3', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.3867, 0, 0, '4', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.3867, 0, 0, '5', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(w * 0.1667, h * 0.5534, 0, 0, '6', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.5534, 0, 0, '7', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.5534, 0, 0, '8', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontSize(27.5); - c.text(w * 0.1667, h * 0.76, 0, 0, '*', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.setFontSize(15.5); - c.text(w * 0.5, h * 0.72, 0, 0, '0', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.75, 0, 0, '#', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setGradient('#E2FFEB', '#008215', w * 0.3333, h * 0.8333, w * 0.3333, h * 0.1667, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(w * 0.3333, h * 0.8333, w * 0.3333, h * 0.1667); - c.fillAndStroke(); - - c.text(w * 0.5, h * 0.9168, 0, 0, 'Call', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontStyle(0); - c.setFontSize(8); - c.setFontColor('#bbbbbb'); - - c.text(w * 0.5, h * 0.28, 0, 0, 'ABC', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.28, 0, 0, 'DEF', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(w * 0.1667, h * 0.4467, 0, 0, 'GHI', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.4467, 0, 0, 'JKL', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.4467, 0, 0, 'MNO', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(w * 0.1667, h * 0.6134, 0, 0, 'PQRS', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.6134, 0, 0, 'TUV', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.8333, h * 0.6134, 0, 0, 'WXYZ', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.text(w * 0.5, h * 0.78, 0, 0, '+', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFillColor('#ffffff'); - c.begin(); - c.moveTo(w * 0.1028, h * 0.9464); - c.arcTo(w * 0.0862, h * 0.0652, 0, 0, 1, w * 0.1402, h * 0.9333); - c.arcTo(w * 0.0144, h * 0.0109, 0, 0, 0, w * 0.1517, h * 0.9246); - c.lineTo(w * 0.1524, h * 0.9181); - c.arcTo(w * 0.023, h * 0.0326, 0, 0, 1, w * 0.143, h * 0.8877); - c.arcTo(w * 0.0247, h * 0.0187, 0, 0, 1, w * 0.1919, h * 0.8877); - c.arcTo(w * 0.023, h * 0.0326, 0, 0, 1, w * 0.1847, h * 0.9181); - c.arcTo(w * 0.0431, h * 0.0174, 0, 0, 0, w * 0.1919, h * 0.9311); - c.arcTo(w * 0.1437, h * 0.1087, 0, 0, 1, w * 0.2307, h * 0.9453); - c.lineTo(w * 0.2307, h * 0.9616); - c.lineTo(w * 0.1028, h * 0.9616); - c.close(); - c.fill(); - - c.setStrokeColor('#ffffff'); - c.setStrokeWidth(2.5); - c.setLineJoin('round'); - c.begin(); - c.moveTo(w * 0.79, h * 0.89); - c.lineTo(w * 0.9, h * 0.89); - c.lineTo(w * 0.9, h * 0.95); - c.lineTo(w * 0.79, h * 0.95); - c.lineTo(w * 0.76, h * 0.92); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor('#0F1B2B'); - c.begin(); - c.moveTo(w * 0.82, h * 0.907); - c.lineTo(w * 0.85, h * 0.933); - c.moveTo(w * 0.82, h * 0.933); - c.lineTo(w * 0.85, h * 0.907); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICALL_BUTTONS, mxShapeMockupiCallButtons); - -//********************************************************************************************************************************************************** -//Option -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiOption(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiOption, mxShape); - -mxShapeMockupiOption.prototype.customProperties = [ - {name: 'buttonText', dispName: 'Text', type: 'string'}, - {name: 'barPos', dispName: 'Callout Position', type: 'float', min:0, defVal:80}, - {name: 'pointerPos', dispName: 'Callout Orientation', type: 'enum', - enumList: [{val: 'bottom', dispName: 'Bottom'}, {val: 'top', dispName: 'Top'}] - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiOption.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeMockupiOption.prototype.background = function(c, x, y, w, h) -{ - var barPos = mxUtils.getValue(this.style, mxMockupC.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var pointerPos = mxUtils.getValue(this.style, mxMockupC.POINTER_POS, mxMockupC.POINTER_BOTTOM); - var rSize = 2.5; - var deadzone = rSize + 7.5; // rounding + pointer width / 2 - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - c.setStrokeWidth(0.5); - c.setStrokeColor('#000000'); - c.setAlpha(0.9); - c.begin(); - - if (pointerPos === mxMockupC.POINTER_BOTTOM) - { - c.setGradient('#000000', '#888888', 0, 0, w, h, mxConstants.DIRECTION_NORTH, 1, 1); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize - 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h - 7.5); - c.lineTo(truePos + 7.5, h - 7.5); - c.lineTo(truePos, h); - c.lineTo(truePos - 7.5, h - 7.5); - c.lineTo(rSize, h - 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize - 7.5); - } - else if (pointerPos === mxMockupC.POINTER_TOP) - { - c.setGradient('#000000', '#888888', 0, 0, w, h, mxConstants.DIRECTION_NORTH, 1, 1); - c.moveTo(0, rSize + 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 7.5); - c.lineTo(truePos - 7.5, 7.5); - c.lineTo(truePos, 0); - c.lineTo(truePos + 7.5, 7.5); - c.lineTo(w - rSize, 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize + 7.5); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - } - - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupiOption.prototype.foreground = function(c, x, y, w, h) -{ - var locText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, 'Some Location'); - var pointerPos = mxUtils.getValue(this.style, mxMockupC.POINTER_POS, mxMockupC.POINTER_BOTTOM); - c.setAlpha(1); - c.setFontColor('#ffffff'); - c.setFontSize(9.5); - - if (pointerPos === mxMockupC.POINTER_BOTTOM) - { - c.text(w * 0.5, (h - 7.5) * 0.5, 0, 0, locText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else - { - c.text(w * 0.5, (h + 7.5) * 0.5, 0, 0, locText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IOPTION, mxShapeMockupiOption); - -//********************************************************************************************************************************************************** -//Alpha List -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiAlphaList(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiAlphaList, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiAlphaList.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.setShadow(false); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8'); - - c.setFontColor('#999999'); - c.setFontSize(fontSize); - c.text(w * 0.5, h * 0.069, 0, 0, 'A', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.1035, 0, 0, 'B', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.138, 0, 0, 'C', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.1725, 0, 0, 'D', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.207, 0, 0, 'E', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.2415, 0, 0, 'F', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.276, 0, 0, 'G', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.3105, 0, 0, 'H', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.345, 0, 0, 'I', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.3795, 0, 0, 'J', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.414, 0, 0, 'K', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.4485, 0, 0, 'L', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.483, 0, 0, 'M', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.5175, 0, 0, 'N', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.552, 0, 0, 'O', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.5865, 0, 0, 'P', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.621, 0, 0, 'Q', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.6555, 0, 0, 'R', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.69, 0, 0, 'S', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.7245, 0, 0, 'T', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.759, 0, 0, 'U', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.7935, 0, 0, 'V', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.828, 0, 0, 'W', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.8625, 0, 0, 'X', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.897, 0, 0, 'Y', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.9315, 0, 0, 'Z', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.text(w * 0.5, h * 0.966, 0, 0, '#', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setStrokeColor('#999999'); - c.ellipse(w * 0.5 - 2.25, h * 0.0345 - 3.5, 4.5, 4.5); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5 - 4.25, h * 0.0345 + 3); - c.lineTo(w * 0.5 - 1.75, h * 0.0345); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IALPHA_LIST, mxShapeMockupiAlphaList); - -//********************************************************************************************************************************************************** -//Horizontal Button Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiHorButtonBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiHorButtonBar, mxShape); - -mxShapeMockupiHorButtonBar.prototype.customProperties = [ - {name: 'buttonText', dispName: 'Labels', type: 'string'}, - {name: 'textColor', dispName: 'Text Color', type: 'color'}, - {name: 'textColor2', dispName: 'Text2 Color', type: 'color'}, - {name: 'strokeColor2', dispName: 'Stroke2 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiHorButtonBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, '+Button 1, Button 2, Button 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR, '#666666'); - var selectedFontColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR2, '#ffffff'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8.5').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#666666'); - var separatorColor = mxUtils.getValue(this.style, mxMockupC.STYLE_STROKECOLOR2, '#c4c4c4'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var selectedFillColor = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '#008cff'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var selectedButton = -1; - var rSize = 2.5; //rounding size - var labelOffset = 2.5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxMockupC.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - buttonWidths[i] = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 10); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - this.background(c, trueW, trueH, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton); - c.setShadow(false); - - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeMockupiHorButtonBar.prototype.background = function(c, w, h, rSize, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton) -{ - c.begin(); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(separatorColor); - c.begin(); - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth = currWidth * w / minW; - c.moveTo(currWidth, 0); - c.lineTo(currWidth, h); - } - } - - c.stroke(); - - //draw the selected button - var buttonLeft = 0; - c.setStrokeColor(mxConstants.NONE); - - for (var i = 0; i < selectedButton; i++) - { - buttonLeft += buttonWidths[i] + 2 * labelOffset; - } - - buttonLeft = buttonLeft * w / minW; - var buttonRight = (buttonWidths[selectedButton] + 2 * labelOffset) * w / minW; - buttonRight += buttonLeft; - - if (selectedButton === 0) - { - c.setGradient('#5D7585', '#008cff', 0, 0, buttonRight, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - // we draw a path for the first button - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(buttonRight, 0); - c.lineTo(buttonRight, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fill(); - } - else if (selectedButton === buttonNum - 1) - { - c.setGradient('#5D7585', '#008cff', buttonLeft, 0, buttonRight - buttonLeft, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - // we draw a path for the last button - c.moveTo(buttonLeft, 0); - c.lineTo(buttonRight - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, buttonRight, rSize); - c.lineTo(buttonRight, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, buttonRight - rSize, h); - c.lineTo(buttonLeft, h); - c.close(); - c.fill(); - } - else if (selectedButton !== -1) - { - c.setGradient('#5D7585', '#008cff', buttonLeft, 0, buttonRight - buttonLeft, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - // we draw a path rectangle for one of the buttons in the middle - c.moveTo(buttonLeft, 0); - c.lineTo(buttonRight, 0); - c.lineTo(buttonRight, h); - c.lineTo(buttonLeft, h); - c.close(); - c.fill(); - } - - //draw the frame again, to achieve a nicer effect - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.stroke(); -}; - -mxShapeMockupiHorButtonBar.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - if(textString.charAt(0) === mxMockupC.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, h * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IHOR_BUTTON_BAR, mxShapeMockupiHorButtonBar); - -//********************************************************************************************************************************************************** -//Pin -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiPin(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiPin, mxShape); - -mxShapeMockupiPin.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Fill2 Color', type: 'color'}, - {name: 'fillColor3', dispName: 'Fill3 Color', type: 'color'} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiPin.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '#000000'); - var fillColor3 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR3, '#000000'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setShadow(false); - c.translate(x, y); - - c.setStrokeWidth(1.5); - c.setStrokeColor('#666666'); - c.begin(); - c.moveTo(w * 0.5, h * 0.4); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.setStrokeWidth(1); - c.setStrokeColor(strokeColor); - c.setGradient(fillColor2, fillColor3, 0, 0, w, h * 0.4, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(0.9); - c.ellipse(0, 0, w, h * 0.4); - c.fillAndStroke(); - - c.setFillColor('#ffffff'); - c.setAlpha(0.5); - c.ellipse(w * 0.2, h * 0.08, w * 0.3, h * 0.12); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IPIN, mxShapeMockupiPin); - -//********************************************************************************************************************************************************** -//Video Controls -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiVideoControls(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiVideoControls, mxShape); - -mxShapeMockupiVideoControls.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, defVal:20} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiVideoControls.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = 5; - c.setStrokeWidth(1); - c.setFillColor('#000000'); - c.setStrokeColor('#bbbbbb'); - c.setAlpha(0.7); - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); - c.setShadow(false); - - this.foreground(c, w, h, rSize); -}; - -mxShapeMockupiVideoControls.prototype.foreground = function(c, w, h, rSize) -{ - c.setGradient('#ffffff', '#ffffff', 0, 0, w, h * 0.5, mxConstants.DIRECTION_SOUTH, 0.8, 0.1); - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h * 0.5); - c.lineTo(0, h * 0.5); - c.close(); - c.fill(); - - c.setAlpha(1); - c.setFillColor('#ffffff'); - c.setStrokeColor('#ffffff'); - var iconX = w * 0.1; - var iconY = h * 0.35; - - c.begin(); - c.moveTo(iconX - 7.5, iconY - 2.5); - c.arcTo(6, 6, 0, 0, 1, iconX, iconY - 2.5); - c.arcTo(6, 6, 0, 0, 1, iconX + 7.5, iconY - 2.5); - c.lineTo(iconX + 7.5, iconY + 4); - c.arcTo(6, 6, 0, 0, 0, iconX, iconY + 4); - c.arcTo(6, 6, 0, 0, 0, iconX - 7.5, iconY + 4); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(iconX, iconY - 2.5); - c.lineTo(iconX, iconY + 4); - c.stroke(); - - iconX = w * 0.3; - c.rect(iconX - 7.5, iconY - 5, 1, 10); - c.fill(); - - c.begin(); - c.moveTo(iconX - 6.5, iconY); - c.lineTo(iconX + 0.5, iconY - 5); - c.lineTo(iconX + 0.5, iconY + 5); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(iconX + 0.5, iconY); - c.lineTo(iconX + 7.5, iconY - 5); - c.lineTo(iconX + 7.5, iconY + 5); - c.close(); - c.fill(); - - iconX = w * 0.5; - c.begin(); - c.moveTo(iconX - 6, iconY - 5); - c.lineTo(iconX + 6, iconY); - c.lineTo(iconX - 6, iconY + 5); - c.close(); - c.fill(); - - iconX = w * 0.7; - c.begin(); - c.moveTo(iconX - 7.5, iconY - 5); - c.lineTo(iconX - 0.5, iconY); - c.lineTo(iconX - 7.5, iconY + 5); - c.close(); - c.fill(); - c.begin(); - c.moveTo(iconX - 0.5, iconY - 5); - c.lineTo(iconX + 6.5, iconY); - c.lineTo(iconX - 0.5, iconY + 5); - c.close(); - c.fill(); - c.rect(iconX + 6.5, iconY - 5, 1, 10); - c.fill(); - - iconX = w * 0.9; - c.rect(iconX - 7.5, iconY - 4, 15, 8); - c.stroke(); - c.setStrokeWidth(0.5); - c.begin(); - c.moveTo(iconX - 7.5, iconY - 4); - c.lineTo(iconX, iconY + 1.5); - c.lineTo(iconX + 7.5, iconY - 4); - c.stroke(); - c.begin(); - c.moveTo(iconX - 7.5, iconY + 4); - c.lineTo(iconX - 2, iconY); - c.stroke(); - c.begin(); - c.moveTo(iconX + 7.5, iconY + 4); - c.lineTo(iconX + 2, iconY); - c.stroke(); - - c.setGradient('#444444', '#ffffff', w * 0.1, h * 0.75 - 2.5, w * 0.8, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(w * 0.1, h * 0.75 - 2.5, w * 0.8, 5, 2.5, 2.5); - c.fill(); - - var barPos = mxUtils.getValue(this.style, mxMockupC.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var deadzone = w * 0.1; - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - - c.setGradient('#96D1FF', '#003377', w * 0.1, h * 0.75 - 5, truePos - w * 0.1, 10, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(truePos, h * 0.75 - 2.5); - c.lineTo(truePos, h * 0.75 + 2.5); - c.lineTo(w * 0.1 + 2.5, h * 0.75 + 2.5); - c.arcTo(2.5, 2.5, 0, 0, 1, w * 0.1 + 2.5, h * 0.75 - 2.5); - c.close(); - c.fill(); - - c.setStrokeColor('#999999'); - c.setGradient('#444444', '#ffffff', truePos - 5, h * 0.75 - 5, 10, 10, mxConstants.DIRECTION_NORTH, 1, 1); - c.ellipse(truePos - 5, h * 0.75 - 5, 10, 10); - c.fillAndStroke(); - - c.setStrokeColor('#dddddd'); - c.roundrect(0, 0, w, h, rSize, rSize); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IVIDEO_CONTROLS, mxShapeMockupiVideoControls); - -Graph.handleFactory[mxMockupC.SHAPE_IVIDEO_CONTROLS] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 40)))); - - return new mxPoint(bounds.x + bounds.width * 0.1 + barPos * bounds.width * 0.8 / 100, bounds.y + bounds.height * 0.75); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.width * 0.1 - bounds.x) * 100 / (bounds.width * 0.8)))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//URL Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiURLBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiURLBar, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiURLBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setGradient('#cccccc', '#003377', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(0, 0, w, h); - c.fill(); - c.setShadow(false); - - this.foreground(c, w, h); -}; - -mxShapeMockupiURLBar.prototype.foreground = function(c, w, h) -{ - c.setStrokeWidth(0.5); - c.setFillColor('#ffffff'); - c.setStrokeColor('#008cff'); - c.roundrect(w * 0.0287, h * 0.625 - 6.25, w * 0.7184, 12.5, 6.25, 6.25); - c.fillAndStroke(); - - c.setGradient('#cccccc', '#001144', w * 0.7816, h * 0.625 - 6.25, w * 0.1868, 12.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setStrokeColor('#000000'); - c.roundrect(w * 0.7816, h * 0.625 - 6.25, w * 0.1868, 12.5, 2.5, 2.5); - c.fillAndStroke(); - - c.setFillColor('#bbbbbb'); - c.ellipse(w * 0.7471 - 11.5, h * 0.625 - 5, 10, 10); - c.fill(); - - c.setStrokeColor('#ffffff'); - c.setStrokeWidth(1.5); - c.begin(); - c.moveTo(w * 0.7471 - 8.5, h * 0.625 - 2.5); - c.lineTo(w * 0.7471 - 3.5, h * 0.625 + 2.5); - c.moveTo(w * 0.7471 - 8.5, h * 0.625 + 2.5); - c.lineTo(w * 0.7471 - 3.5, h * 0.625 - 2.5); - c.stroke(); - - var fieldText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, '').toString().split(','); - c.setFontColor('#425664'); - c.setFontStyle(mxConstants.FONT_BOLD); - c.setFontSize(8); - c.text(w * 0.5, h * 0.2, 0, 0, fieldText[0], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.setFontColor('#000000'); - c.text(w * 0.06, h * 0.625, 0, 0, fieldText[1], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - c.setFontColor('#ffffff'); - c.text(w * 0.875, h * 0.625, 0, 0, fieldText[2], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IURL_BAR, mxShapeMockupiURLBar); - -//********************************************************************************************************************************************************** -//Slider -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiSlider(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiSlider, mxShape); - -mxShapeMockupiSlider.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, defVal:20}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiSlider.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.setShadow(false); - - this.foreground(c, w, h); -}; - -mxShapeMockupiSlider.prototype.foreground = function(c, w, h) -{ - c.setStrokeWidth(0.5); - c.setGradient('#444444', '#ffffff', 0, h * 0.5 - 2.5, w, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(0, h * 0.5 - 2.5, w, 5, 2.5, 2.5); - c.fill(); - - var barPos = mxUtils.getValue(this.style, mxMockupC.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var deadzone = 0; - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - - c.setGradient('#96D1FF', '#003377', 2.5, h * 0.5 - 2.5, truePos - 2.5, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(truePos, h * 0.5 - 2.5); - c.lineTo(truePos, h * 0.5 + 2.5); - c.lineTo(2.5, h * 0.5 + 2.5); - c.arcTo(2.5, 2.5, 0, 0, 1, 2.5, h * 0.5 - 2.5); - c.close(); - c.fill(); - - c.setStrokeColor('#999999'); - c.setGradient('#444444', '#ffffff', truePos - 5, h * 0.5 - 5, 10, 10, mxConstants.DIRECTION_NORTH, 1, 1); - c.ellipse(truePos - 5, h * 0.5 - 5, 10, 10); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ISLIDER, mxShapeMockupiSlider); - -Graph.handleFactory[mxMockupC.SHAPE_ISLIDER] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; -}; - - -//********************************************************************************************************************************************************** -//Progress Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiProgressBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiProgressBar, mxShape); - -mxShapeMockupiProgressBar.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, defVal:40}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiProgressBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.setShadow(false); - - this.foreground(c, w, h); -}; - -mxShapeMockupiProgressBar.prototype.foreground = function(c, w, h) -{ - c.setStrokeWidth(0.5); - c.setGradient('#444444', '#ffffff', 0, h * 0.5 - 2.5, w, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.roundrect(0, h * 0.5 - 2.5, w, 5, 2.5, 2.5); - c.fill(); - - var barPos = mxUtils.getValue(this.style, mxMockupC.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var deadzone = 0; - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - - c.setGradient('#96D1FF', '#003377', 2.5, h * 0.5 - 2.5, truePos - 2.5, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(truePos, h * 0.5 - 2.5); - c.arcTo(2.5, 2.5, 0, 0, 1, truePos, h * 0.5 + 2.5); - c.lineTo(2.5, h * 0.5 + 2.5); - c.arcTo(2.5, 2.5, 0, 0, 1, 2.5, h * 0.5 - 2.5); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IPROGRESS_BAR, mxShapeMockupiProgressBar); - -Graph.handleFactory[mxMockupC.SHAPE_IPROGRESS_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//iCloud Progress Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiCloudProgressBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiCloudProgressBar, mxShape); - -mxShapeMockupiCloudProgressBar.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, defVal:20}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiCloudProgressBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.setShadow(false); - - this.foreground(c, w, h); -}; - -mxShapeMockupiCloudProgressBar.prototype.foreground = function(c, w, h) -{ - c.setStrokeWidth(0.5); - c.setFillColor('#5C6E86'); - c.rect(0, h * 0.5 - 2.5, w, 5); - c.fill(); - - var barPos = mxUtils.getValue(this.style, mxMockupC.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var deadzone = 0; - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - - c.setFillColor('#8AD155'); - c.rect(0, h * 0.5 - 2.5, truePos, 5); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICLOUD_PROGRESS_BAR, mxShapeMockupiCloudProgressBar); - -Graph.handleFactory[mxMockupC.SHAPE_ICLOUD_PROGRESS_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//Download Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiDownloadBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiDownloadBar, mxShape); - -mxShapeMockupiDownloadBar.prototype.customProperties = [ - {name: 'barPos', dispName: 'Handle Position', type: 'float', min:0, defVal:30}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiDownloadBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setGradient('#00ccff', '#0066cc', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.rect(0, 0, w, h); - c.fill(); - c.setShadow(false); - - this.foreground(c, w, h); -}; - -mxShapeMockupiDownloadBar.prototype.foreground = function(c, w, h) -{ - var fieldText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, ''); - c.setFontColor('#ffffff'); - c.setFontStyle(mxConstants.FONT_BOLD); - c.setFontSize(8); - c.text(w * 0.5, h * 0.2, 0, 0, fieldText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var barPos = mxUtils.getValue(this.style, mxMockupC.BAR_POS, '80'); - barPos = Math.min(barPos, 100); - barPos = Math.max(barPos, 0); - var deadzone = w * 0.1; - var virRange = w - 2 * deadzone; - var truePos = deadzone + virRange * barPos / 100; - - c.setStrokeWidth(0.5); - c.setGradient('#96D1FF', '#003377', deadzone, h * 0.65 - 2.5, w - 2 * deadzone, 5, mxConstants.DIRECTION_NORTH, 1, 1); - c.roundrect(deadzone, h * 0.65 - 2.5, w - 2 * deadzone, 5, 2.5, 2.5); - c.fill(); - - c.setGradient('#aaaaaa', '#ffffff', deadzone + 2.5, h * 0.65 - 2.5, truePos - deadzone - 2.5, 5, mxConstants.DIRECTION_NORTH, 1, 1); - c.begin(); - c.moveTo(truePos, h * 0.65 - 2.5); - c.arcTo(2.5, 2.5, 0, 0, 1, truePos, h * 0.65 + 2.5); - c.lineTo(deadzone + 2.5, h * 0.65 + 2.5); - c.arcTo(2.5, 2.5, 0, 0, 1, deadzone + 2.5, h * 0.65 - 2.5); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IDOWNLOAD_BAR, mxShapeMockupiDownloadBar); - -Graph.handleFactory[mxMockupC.SHAPE_IDOWNLOAD_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 40)))); - - return new mxPoint(bounds.x + bounds.width * 0.1 + barPos * bounds.width * 0.8 / 100, bounds.y + bounds.height * 0.65); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.width * 0.1 - bounds.x) * 100 / (bounds.width * 0.8)))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//Screen Name Bar -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiScreenNameBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiScreenNameBar, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiScreenNameBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = 5; - c.setStrokeWidth(0.5); - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '#00ff00'); - c.setFillColor(fillColor2); - c.rect(0, 0, w, h); - c.fill(); - c.setShadow(false); - - this.foreground(c, w, h, rSize); -}; - -mxShapeMockupiScreenNameBar.prototype.foreground = function(c, w, h, rSize) -{ - var fillColor3 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR3, '#00ff00'); - c.setGradient(fillColor3, fillColor3, 0, 0, w, h * 0.5, mxConstants.DIRECTION_SOUTH, 0.8, 0.1); - c.rect(0, 0, w, h * 0.5); - c.fill(); - - var fieldText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, ''); - var textColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR, '#00ff00'); - c.setFontColor(textColor); - c.setFontSize(9.5); - c.text(w * 0.5, h * 0.45, 0, 0, fieldText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ISCREEN_NAME_BAR, mxShapeMockupiScreenNameBar); - -//********************************************************************************************************************************************************** -//Icon Grid -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiIconGrid(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiIconGrid, mxShape); - -mxShapeMockupiIconGrid.prototype.customProperties = [ - {name: 'gridSize', dispName: 'Grid Size', type: 'string'}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiIconGrid.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var gridSize = mxUtils.getValue(this.style, mxMockupC.GRID_SIZE, '3,3').toString().split(','); - this.background(c, w, h, gridSize); - c.setShadow(false); - - this.foreground(c, w, h, gridSize); -}; - -mxShapeMockupiIconGrid.prototype.background = function(c, w, h, gridSize) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#00ff00'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#00ff00'); - c.setStrokeColor(strokeColor); - c.setFillColor(fillColor); - - var boxSizeX = w / (parseInt(gridSize[0],10) + (gridSize[0]-1) * 0.5); - var boxSizeY = h / (parseInt(gridSize[1],10) + (gridSize[1]-1) * 0.5); - - for (var i = 0; i < gridSize[0]; i++) - { - for (var j = 0; j < gridSize[1]; j++) - { - c.rect(boxSizeX * 1.5 * i, boxSizeY * 1.5 * j, boxSizeX, boxSizeY); - c.fillAndStroke(); - } - } -}; - -mxShapeMockupiIconGrid.prototype.foreground = function(c, w, h, gridSize) -{ - var boxSizeX = w / (parseInt(gridSize[0],10) + (gridSize[0]-1) * 0.5); - var boxSizeY = h / (parseInt(gridSize[1],10) + (gridSize[1]-1) * 0.5); - - for (var i = 0; i < gridSize[0]; i++) - { - for (var j = 0; j < gridSize[1]; j++) - { - c.begin(); - c.moveTo(boxSizeX * 1.5 * i, boxSizeY * 1.5 * j); - c.lineTo(boxSizeX * 1.5 * i + boxSizeX, boxSizeY * 1.5 * j + boxSizeY); - c.moveTo(boxSizeX * 1.5 * i + boxSizeX, boxSizeY * 1.5 * j); - c.lineTo(boxSizeX * 1.5 * i, boxSizeY * 1.5 * j + boxSizeY); - c.stroke(); - } - } -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IICON_GRID, mxShapeMockupiIconGrid); - -//********************************************************************************************************************************************************** -//Copy -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiCopy(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiCopy, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiCopy.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var rSize = 5; - c.translate(x, y); - this.background(c, w, h, rSize); - c.setShadow(false); - - this.foreground(c, w, h, rSize); -}; - -mxShapeMockupiCopy.prototype.background = function(c, w, h, rSize) -{ - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize - 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h - 7.5); - c.lineTo(w * 0.5 + 7.5, h - 7.5); - c.lineTo(w * 0.5, h); - c.lineTo(w * 0.5 - 7.5, h - 7.5); - c.lineTo(rSize, h - 7.5); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize - 7.5); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupiCopy.prototype.foreground = function(c, w, h, rSize) -{ - var fillColor3 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR3, '#00ff00'); - c.setGradient(fillColor3, fillColor3, 0, 0, w, h * 0.5, mxConstants.DIRECTION_SOUTH, 0.8, 0.1); - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, (h - 7.5) * 0.5); - c.lineTo(0, (h - 7.5) * 0.5); - c.close(); - c.fill(); - - var fieldText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, ''); - var textColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR, '#00ff00'); - c.setFontColor(textColor); - c.setFontSize(8.5); - c.text(w * 0.5, (h - 7.5)* 0.45, 0, 0, fieldText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICOPY, mxShapeMockupiCopy); - -//********************************************************************************************************************************************************** -//Copy Area -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiCopyArea(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiCopyArea, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiCopyArea.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var rSize = 5; - c.translate(x, y); - this.background(c, w, h, rSize); - c.setShadow(false); - - this.foreground(c, w, h, rSize); -}; - -mxShapeMockupiCopyArea.prototype.background = function(c, w, h, rSize) -{ - c.begin(); - c.moveTo(w * 0.5 - 20, 0 + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 - 20 + rSize, 0); - c.lineTo(w * 0.5 + 20 - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 + 20, rSize); - c.lineTo(w * 0.5 + 20, 20 - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 + 20 - rSize, 20); - c.lineTo(w * 0.5 + 7.5, 20); - c.lineTo(w * 0.5, 27.5); - c.lineTo(w * 0.5 - 7.5, 20); - c.lineTo(w * 0.5 - 20 + rSize, 20); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 - 20, 20 - rSize); - c.close(); - c.fillAndStroke(); -}; - -mxShapeMockupiCopyArea.prototype.foreground = function(c, w, h, rSize) -{ - c.setAlpha(0.3); - c.setFillColor('#2266ff'); - c.rect(2.5, 27.5, w - 5, h - 30); - c.fill(); - c.setAlpha(1); - - if (h > 27.5) - { - c.setStrokeColor('#ffffff'); - c.setGradient('#88ddff', '#2266ff', w * 0.5 - 2.5, 25, 5, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(w * 0.5 - 2.5, 25, 5, 5); - c.fillAndStroke(); - c.setGradient('#88ddff', '#2266ff', w * 0.5 - 2.5, h - 5, 5, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(w * 0.5 - 2.5, h - 5, 5, 5); - c.fillAndStroke(); - c.setGradient('#88ddff', '#2266ff', 0, h * 0.5 + 10, 5, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(0, h * 0.5 + 10, 5, 5); - c.fillAndStroke(); - c.setGradient('#88ddff', '#2266ff', w - 5, h * 0.5 + 10, 5, 5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(w - 5, h * 0.5 + 10, 5, 5); - c.fillAndStroke(); - } - - var fillColor2 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR2, '#00ff00'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#00ff00'); - - c.setFillColor(fillColor2); - c.setStrokeColor(strokeColor); - c.begin(); - c.moveTo(w * 0.5 - 20, 0 + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 - 20 + rSize, 0); - c.lineTo(w * 0.5 + 20 - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 + 20, rSize); - c.lineTo(w * 0.5 + 20, 20 - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 + 20 - rSize, 20); - c.lineTo(w * 0.5 + 7.5, 20); - c.lineTo(w * 0.5, 27.5); - c.lineTo(w * 0.5 - 7.5, 20); - c.lineTo(w * 0.5 - 20 + rSize, 20); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 - 20, 20 - rSize); - c.close(); - c.fillAndStroke(); - - var fillColor3 = mxUtils.getValue(this.style, mxMockupC.STYLE_FILLCOLOR3, '#00ff00'); - c.setGradient(fillColor3, fillColor3, w * 0.5 - 20, 0, 40, 10, mxConstants.DIRECTION_SOUTH, 0.8, 0.1); - c.begin(); - c.moveTo(w * 0.5 - 20, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 - 20 + rSize, 0); - c.lineTo(w * 0.5 + 20 - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w * 0.5 + 20, rSize); - c.lineTo(w * 0.5 + 20, 10); - c.lineTo(w * 0.5 - 20, 10); - c.close(); - c.fill(); - - var fieldText = mxUtils.getValue(this.style, mxMockupC.BUTTON_TEXT, ''); - var textColor = mxUtils.getValue(this.style, mxMockupC.STYLE_TEXTCOLOR, '#00ff00'); - c.setFontColor(textColor); - c.setFontSize(8.5); - - c.text(w * 0.5, 8.75, 0, 0, fieldText, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICOPY_AREA, mxShapeMockupiCopyArea); - -//********************************************************************************************************************************************************** -//Home Page Control -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiHomePageControl(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiHomePageControl, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiHomePageControl.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#000000'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setStrokeColor(strokeColor); - c.setFillColor(fillColor); - - var rSize = Math.min(h * 0.5, w * 0.05); - c.ellipse(w * 0.35 - rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w * 0.65 - rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w - 2 * rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - - c.ellipse(rSize * 0.2, h * 0.5 - rSize * 0.8, rSize * 1.2, rSize * 1.2); - c.stroke(); - c.begin(); - c.moveTo(rSize * 1.15, h * 0.5 + rSize * 0.25); - c.lineTo(rSize * 1.6, h * 0.5 + rSize * 0.8); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IHOME_PAGE_CONTROL, mxShapeMockupiHomePageControl); - -//********************************************************************************************************************************************************** -//Page Control -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiPageControl(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiPageControl, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiPageControl.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#000000'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - var rSize = Math.min(h * 0.5, w * 0.05); - c.setFillColor(strokeColor); - c.ellipse(0, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.setFillColor(fillColor); - c.ellipse(w * 0.35 - rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w * 0.65 - rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); - c.ellipse(w - 2 * rSize, h * 0.5 - rSize, 2 * rSize, 2 * rSize); - c.fill(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IPAGE_CONTROL, mxShapeMockupiPageControl); - -//********************************************************************************************************************************************************** -//iPad -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeMockupiPad(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeMockupiPad, mxShape); - -mxShapeMockupiPad.prototype.customProperties = [ - {name: 'bgStyle', dispName: 'Background', type: 'enum', - enumList: [{val: 'bgGreen', dispName: 'Green'}, {val: 'bgWhite', dispName: 'White'}, {val: 'bgGray', dispName: 'Gray'}, {val: 'bgFlat', dispName: 'Flat'}, {val: 'bgMap', dispName: 'Map'}, {val: 'bgStriped', dispName: 'Striped'}] - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeMockupiPad.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var rSize = 25; - c.translate(x, y); - this.background(c, x, y, w, h, rSize); - c.setShadow(false); - this.foreground(c, x, y, w, h, rSize); -}; - -mxShapeMockupiPad.prototype.background = function(c, x, y, w, h, rSize) -{ - c.setFillColor('#000000'); - c.setStrokeColor('#000000'); - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); -}; - -mxShapeMockupiPad.prototype.foreground = function(c, x, y, w, h, rSize) -{ - c.setStrokeWidth(1.5); - c.setStrokeColor('#999999'); - - c.begin(); - c.setStrokeColor('none'); - c.setFillColor('#808080'); - c.setGradient('#808080', '#000000', w * 0.325, 0, w * 0.675, h * 0.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.moveTo(w * 0.325, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.7, h * 0.5); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.setFillColor('#1f2923'); - c.setStrokeColor('#18211b'); - c.setStrokeWidth(1); - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, ''); - var bgStyle = mxUtils.getValue(this.style, mxMockupC.BG_STYLE, mxMockupC.BG_FLAT_GREEN); - - c.setStrokeWidth(1); - - if (bgStyle === mxMockupC.BG_FLAT_WHITE) - { - c.setFillColor('#ffffff'); - c.rect(w * 0.0928, h * 0.08, w * 0.8144, h * 0.816); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_FLAT_GREEN) - { - c.setFillColor('#1f2923'); - c.rect(w * 0.0928, h * 0.08, w * 0.8144, h * 0.816); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_FLAT_GRAY) - { - c.setFillColor('#dddddd'); - c.rect(w * 0.0928, h * 0.08, w * 0.8144, h * 0.816); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_FLAT_CUSTOM) - { - c.setFillColor(fillColor); - c.rect(w * 0.0928, h * 0.08, w * 0.8144, h * 0.816); - c.fill(); - } - else if (bgStyle === mxMockupC.BG_STRIPED) - { - var xOld = x; - var yOld = y; - var wOld = w; - var hOld = h; - c.translate(w * 0.0928, h * 0.08); - w = w * 0.8144; - h = h * 0.816; - - c.setFillColor('#5D7585'); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - var strokeColor = '#18211b'; - var strokeColor2 = '#657E8F'; - - c.setStrokeColor(strokeColor2); - var i = 7; - c.begin(); - - while (i < w) - { - c.moveTo(i, 0); - c.lineTo(i, h); - i = i + 7; - } - - c.stroke(); - - c.setStrokeColor(strokeColor); - c.begin(); - c.rect(0, 0, w, h); - c.stroke(); - - w = wOld; - h = hOld; - c.translate( - w * 0.0928, - h * 0.08); - } - else if (bgStyle === mxMockupC.BG_MAP) - { - var xOld = x; - var yOld = y; - var wOld = w; - var hOld = h; - c.translate(w * 0.0928, h * 0.08); - w = w * 0.8144; - h = h * 0.816; - - c.setFillColor('#ffffff'); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - var fillColor2 = '#96D1FF'; - var strokeColor = '#18211b'; - var strokeColor2 = '#008cff'; - - c.setFillColor(fillColor2); - c.setStrokeColor(strokeColor2); - c.setStrokeWidth(0.5); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.1171, 0); - c.lineTo(w * 0.1136, h * 0.0438); - c.lineTo(w * 0.0993, h * 0.054); - c.lineTo(0, h * 0.0446); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1993, 0); - c.lineTo(w * 0.1914, h * 0.03884); - c.lineTo(w * 0.1536, h * 0.0362); - c.lineTo(w * 0.1586, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.24, 0); - c.lineTo(w * 0.2257, h * 0.054); - c.lineTo(w * 0.2414, h * 0.0674); - c.lineTo(w * 0.4707, h * 0.0835); - c.lineTo(w * 0.5264, h * 0.0906); - c.lineTo(w * 0.6429, h * 0.0929); - c.arcTo(w * 0.0857, h * 0.0536, 0, 0, 0, w * 0.7193, h * 0.0621); - c.arcTo(w * 0.48, h * 0.2143, 0, 0, 0, w * 0.7286, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8, 0); - c.lineTo(w * 0.7886, h * 0.04554); - c.arcTo(w * 0.0857, h * 0.0536, 0, 0, 0, w * 0.8164, h * 0.0875); - c.arcTo(w * 0.1429, h * 0.0893, 0, 0, 0, w * 0.88, h * 0.1036); - c.lineTo(w, h * 0.1112); - c.lineTo(w, 0); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.0933); - c.lineTo(w * 0.08, h * 0.1036); - c.lineTo(w * 0.1021, h * 0.1246); - c.lineTo(w * 0.1007, h * 0.1768); - c.lineTo(w * 0.0471, h * 0.2241); - c.lineTo(0, h * 0.2527); - c.close(); - c.fillAndStroke(); - - c.ellipse(w * 0.1214, h * 0.0603, w * 0.0843, h * 0.0576); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1293, h * 0.1924); - c.lineTo(w * 0.1729, h * 0.142); - c.lineTo(w * 0.1407, h * 0.1411); - c.lineTo(w * 0.14, h * 0.1777); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4586, h * 0.1241); - c.lineTo(w * 0.455, h * 0.1835); - c.lineTo(w * 0.3893, h * 0.2246); - c.lineTo(w * 0.2171, h * 0.1362); - c.lineTo(w * 0.2171, h * 0.1308); - c.lineTo(w * 0.2293, h * 0.1214); - c.lineTo(w * 0.2857, h * 0.1174); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5079, h * 0.1134); - c.lineTo(w * 0.7307, h * 0.1223); - c.lineTo(w * 0.7279, h * 0.1625); - c.lineTo(w * 0.715, h * 0.1772); - c.lineTo(w * 0.6929, h * 0.1688); - c.lineTo(w * 0.625, h * 0.1795); - c.lineTo(w * 0.4779, h * 0.2835); - c.lineTo(w * 0.395, h * 0.2299); - c.lineTo(w * 0.4657, h * 0.1826); - c.lineTo(w * 0.4707, h * 0.1223); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.1362); - c.lineTo(w * 0.7643, h * 0.1237); - c.lineTo(w * 0.7543, h * 0.1562); - c.lineTo(w * 0.7643, h * 0.1585); - c.lineTo(w * 0.9186, h * 0.2366); - c.lineTo(w, h * 0.1732); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2079, h * 0.1545); - c.lineTo(w * 0.3886, h * 0.2536); - c.lineTo(w * 0.3414, h * 0.2933); - c.lineTo(w * 0.1743, h * 0.1969); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1579, h * 0.2134); - c.lineTo(w * 0.3221, h * 0.3067); - c.lineTo(w * 0.2957, h * 0.3237); - c.lineTo(w * 0.1157, h * 0.2424); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.405, h * 0.2656); - c.lineTo(w * 0.31, h * 0.3353); - c.lineTo(w * 0.3693, h * 0.3661); - c.lineTo(w * 0.4571, h * 0.2982); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.7121, h * 0.1848); - c.lineTo(w * 0.6879, h * 0.1754); - c.lineTo(w * 0.6329, h * 0.1844); - c.lineTo(w * 0.61, h * 0.2018); - c.lineTo(w * 0.6207, h * 0.2085); - c.lineTo(w * 0.4986, h * 0.2982); - c.lineTo(w * 0.535, h * 0.3237); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5557, h * 0.3379); - c.lineTo(w * 0.7464, h * 0.1826); - c.lineTo(w * 0.8036, h * 0.2076); - c.lineTo(w * 0.595, h * 0.3616); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8293, h * 0.2188); - c.lineTo(w * 0.8979, h * 0.2509); - c.lineTo(w * 0.6936, h * 0.4125); - c.lineTo(w * 0.6171, h * 0.3737); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.2138); - c.lineTo(w * 0.6821, h * 0.4603); - c.lineTo(w * 0.815, h * 0.5277); - c.lineTo(w, h * 0.4); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.317); - c.lineTo(w * 0.0971, h * 0.2554); - c.lineTo(w * 0.4121, h * 0.4143); - c.lineTo(w * 0.3736, h * 0.4415); - c.lineTo(w * 0.315, h * 0.4076); - c.lineTo(w * 0.3093, h * 0.4116); - c.lineTo(w * 0.3686, h * 0.4455); - c.lineTo(w * 0.285, h * 0.5045); - c.lineTo(w * 0.1114, h * 0.4134); - c.lineTo(w * 0.025, h * 0.4603); - c.lineTo(w * 0.0371, h * 0.4723); - c.lineTo(w * 0.1114, h * 0.4371); - c.lineTo(w * 0.2871, h * 0.5312); - c.lineTo(w * 0.1929, h * 0.6058); - c.lineTo(w * 0.2271, h * 0.6705); - c.lineTo(w * 0.17, h * 0.7147); - c.lineTo(w * 0.0314, h * 0.6321); - c.lineTo(0, h * 0.6246); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.48, h * 0.3121); - c.lineTo(w * 0.5157, h * 0.3375); - c.lineTo(w * 0.4314, h * 0.3982); - c.lineTo(w * 0.3929, h * 0.3786); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3086, h * 0.5179); - c.lineTo(w * 0.53, h * 0.3518); - c.lineTo(w * 0.5757, h * 0.3745); - c.lineTo(w * 0.3479, h * 0.5411); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5964, h * 0.3884); - c.lineTo(w * 0.6736, h * 0.4277); - c.lineTo(w * 0.445, h * 0.5991); - c.lineTo(w * 0.3664, h * 0.5531); - c.lineTo(w * 0.5057, h * 0.4545); - c.lineTo(w * 0.5507, h * 0.4754); - c.lineTo(w * 0.5571, h * 0.4723); - c.lineTo(w * 0.5114, h * 0.4504); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4793, h * 0.6161); - c.lineTo(w * 0.6771, h * 0.4643); - c.lineTo(w * 0.8086, h * 0.5326); - c.lineTo(w * 0.7471, h * 0.5817); - c.lineTo(w * 0.7214, h * 0.567); - c.lineTo(w * 0.715, h * 0.571); - c.lineTo(w * 0.7421, h * 0.5871); - c.lineTo(w * 0.6014, h * 0.6933); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.4371); - c.lineTo(w * 0.8443, h * 0.546); - c.lineTo(w * 0.9071, h * 0.5701); - c.lineTo(w, h * 0.5022); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8407, h * 0.5504); - c.lineTo(w * 0.8993, h * 0.5759); - c.lineTo(w * 0.6757, h * 0.7416); - c.lineTo(w * 0.6286, h * 0.7139); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.5321); - c.lineTo(w * 0.6979, h * 0.7549); - c.lineTo(w * 0.7457, h * 0.7781); - c.lineTo(w * 0.9814, h * 0.6094); - c.lineTo(w, h * 0.6067); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, h * 0.6254); - c.lineTo(w * 0.7664, h * 0.792); - c.lineTo(w * 0.9586, h * 0.9062); - c.lineTo(w, h * 0.8786); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3093, h * 0.5464); - c.lineTo(w * 0.4271, h * 0.6152); - c.lineTo(w * 0.245, h * 0.7643); - c.lineTo(w * 0.185, h * 0.7228); - c.lineTo(w * 0.2493, h * 0.6728); - c.lineTo(w * 0.2214, h * 0.6143); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.65); - c.lineTo(w * 0.2179, h * 0.7826); - c.lineTo(w * 0.1136, h * 0.8424); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.7272); - c.lineTo(w * 0.0821, h * 0.859); - c.lineTo(0, h * 0.9085); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4529, h * 0.6366); - c.lineTo(w * 0.575, h * 0.7143); - c.lineTo(w * 0.39, h * 0.8621); - c.lineTo(w * 0.2657, h * 0.7902); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.9415); - c.lineTo(w * 0.1036, h * 0.8821); - c.lineTo(w * 0.2343, h * 0.959); - c.lineTo(w * 0.1721, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2586, h * 0.7951); - c.lineTo(w * 0.3829, h * 0.8674); - c.lineTo(w * 0.2543, h * 0.9451); - c.lineTo(w * 0.1279, h * 0.8692); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2836, h * 0.9639); - c.lineTo(w * 0.4207, h * 0.8772); - c.lineTo(w * 0.605, h * 0.7321); - c.lineTo(w * 0.6521, h * 0.7634); - c.lineTo(w * 0.3486, h); - c.lineTo(w * 0.3393, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3879, h); - c.lineTo(w * 0.6721, h * 0.7759); - c.lineTo(w * 0.7171, h * 0.7982); - c.lineTo(w * 0.4564, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.4986, h); - c.lineTo(w * 0.7386, h * 0.8125); - c.lineTo(w * 0.9307, h * 0.925); - c.lineTo(w * 0.8264, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8671, h); - c.lineTo(w * 0.9464, h * 0.9491); - c.lineTo(w, h * 0.975); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.2295, h); - c.lineTo(w * 0.2648, h * 0.9792); - c.lineTo(w * 0.2981, h); - c.close(); - c.fillAndStroke(); - - w = wOld; - h = hOld; - c.translate( - w * 0.0928, - h * 0.08); - } - - c.setStrokeWidth(1); - c.setStrokeColor('#18211b'); - c.rect(w * 0.0928, h * 0.08, w * 0.8144, h * 0.816); - c.stroke(); - - c.setStrokeWidth(1.5); - c.setAlpha(0.8); - c.setStrokeColor('#dddddd'); - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.stroke(); - - rSize = 22.5; - c.begin(); - c.setStrokeColor('#666666'); - c.begin(); - c.moveTo(2.5, 2.5 + rSize); - c.arcTo(rSize, rSize, 0, 0, 1, 2.5 + rSize, 2.5); - c.lineTo(w - rSize - 5, 2.5); - c.arcTo(rSize, rSize, 0, 0, 1, w - 2.5, rSize + 2.5); - c.lineTo(w - 2.5, h - rSize - 2.5); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize - 2.5, h - 2.5); - c.lineTo(rSize + 2.5, h - 2.5); - c.arcTo(rSize, rSize, 0, 0, 1, 2.5, h - rSize - 2.5); - c.close(); - c.stroke(); - - c.setAlpha(1); - c.ellipse(w * 0.4948, h * 0.0444, w * 0.0103, h * 0.008); - c.setStrokeWidth(2.5); - c.setStrokeColor('#000000'); - c.setFillColor('#000099'); - c.fillAndStroke(); - - c.setGradient('#bbbbbb', '#000000', w * 0.4588, h * 0.912, w * 0.0825, h * 0.064, mxConstants.DIRECTION_SOUTH, 1, 1); - c.ellipse(w * 0.4588, h * 0.912, w * 0.0825, h * 0.064); - c.fill(); - - c.setAlpha(0.5); - c.ellipse(w * 0.4588, h * 0.912, w * 0.0825, h * 0.064); - c.stroke(); - - c.begin(); - c.setAlpha(0.85); - c.setFillColor('#000000'); - c.moveTo(w * 0.4598, h * 0.944); - c.arcTo(w * 0.0402, h * 0.0296, 0, 0, 1, w * 0.5402, h * 0.944); - c.arcTo(w * 0.0825, h * 0.064, 0, 0, 1, w * 0.4598, h * 0.944); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.setAlpha(0.7); - c.setStrokeWidth(1.5); - c.setStrokeColor('#dddddd'); - rSize = 4; - c.roundrect(w * 0.4814, h * 0.9296, w * 0.0371, h * 0.0288, h * 0.00515, h * 0.004); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxMockupC.SHAPE_IPAD, mxShapeMockupiPad); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupRRect, mxShape); - -mxShapeMockupRRect.prototype.cst = { - RRECT : 'mxgraph.ios.rrect', - R_SIZE : 'rSize' -}; - -mxShapeMockupRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:5}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupRRect.prototype.cst.RRECT, mxShapeMockupRRect); - -//********************************************************************************************************************************************************** -//Top Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIosTopButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIosTopButton, mxShape); - -mxShapeIosTopButton.prototype.cst = { - TOP_BUTTON : 'mxgraph.ios.topButton', - R_SIZE : 'rSize' -}; - -mxShapeIosTopButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:5}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIosTopButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeIosTopButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeIosTopButton.prototype.cst.TOP_BUTTON, mxShapeIosTopButton); - -//********************************************************************************************************************************************************** -//Bottom Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIosBottomButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIosBottomButton, mxShape); - -mxShapeIosBottomButton.prototype.cst = { - BOTTOM_BUTTON : 'mxgraph.ios.bottomButton', - R_SIZE : 'rSize' -}; - -mxShapeIosBottomButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:5}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIosBottomButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeIosBottomButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeIosBottomButton.prototype.cst.BOTTOM_BUTTON, mxShapeIosBottomButton); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIosAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIosAnchor, mxShape); - -mxShapeIosAnchor.prototype.cst = { - ANCHOR : 'mxgraph.ios.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIosAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeIosAnchor.prototype.cst.ANCHOR, mxShapeIosAnchor); - -//********************************************************************************************************************************************************** -//Checkbox -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeIosCheckbox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeIosCheckbox, mxShape); - -mxShapeIosCheckbox.prototype.cst = { - CHECKBOX : 'mxgraph.ios.checkbox' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeIosCheckbox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8, h * 0.2); - c.lineTo(w * 0.4, h * 0.8); - c.lineTo(w * 0.25, h * 0.6); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeIosCheckbox.prototype.cst.CHECKBOX, mxShapeIosCheckbox); - -//********************************************************************************************************************************************************** -//Fancy Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeMockupFancyRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeMockupFancyRRect, mxShape); - -mxShapeMockupFancyRRect.prototype.cst = { - FANCY_RRECT : 'mxgraph.ios.fancyRRect', - R_SIZE : 'rSize' -}; - -mxShapeMockupFancyRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:8} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeMockupFancyRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeMockupFancyRRect.prototype.cst.R_SIZE, '10')); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - -// c.setAlpha(0.8); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); - - c.setShadow(false); - - c.setStrokeColor(fillColor); - c.setGradient(fillColor, '#ffffff', 0, 0, w, 22.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.setAlpha(0.3); - c.begin(); - c.moveTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, 17.5); - c.arcTo(w * 1.67, h * 2.5, 0, 0, 1, 0, 17.5); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fillAndStroke(); - - c.setAlpha(0.8); - c.setStrokeColor(strokeColor); - c.setStrokeWidth(1); - c.roundrect(0, 0, w, h, rSize, rSize); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeMockupFancyRRect.prototype.cst.FANCY_RRECT, mxShapeMockupFancyRRect); diff --git a/dist/libs/drawio/shapes/mxAWS3D.js b/dist/libs/drawio/shapes/mxAWS3D.js deleted file mode 100644 index 39e0044b..00000000 --- a/dist/libs/drawio/shapes/mxAWS3D.js +++ /dev/null @@ -1,9169 +0,0 @@ -/** - * $Id: mxAws3d.js,v 1.0 2015/10/11 07:05:39 mate Exp $ - * Copyright (c) 2006-2015, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Arrow NE -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dArrowNE(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dArrowNE, mxShape); - -mxShapeAws3dArrowNE.prototype.cst = { - ARROW_NE : 'mxgraph.aws3d.arrowNE' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dArrowNE.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(w - 17, 8); - c.lineTo(w - 21, 5.5); - c.lineTo(w, 0); - c.lineTo(w - 9.7, 12.2); - c.lineTo(w - 13.9, 9.8); - c.lineTo(9.7, h - 3.5); - c.arcTo(6, 3, 0, 0, 1, 9, h - 0.4); - c.arcTo(5.2, 3, 0, 0, 1, 1, h - 1.4); - c.arcTo(6, 2.8, 0, 0, 1, 3, h - 5.4); - c.arcTo(5, 3, 0, 0, 1, 6.7, h - 5.2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dArrowNE.prototype.cst.ARROW_NE, mxShapeAws3dArrowNE); - -//********************************************************************************************************************************************************** -//Arrow SE -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dArrowSE(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dArrowSE, mxShape); - -mxShapeAws3dArrowSE.prototype.cst = { - ARROW_SE : 'mxgraph.aws3d.arrowSE' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dArrowSE.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(w - 17, h - 8); - c.lineTo(w - 21, h - 5.5); - c.lineTo(w, h); - c.lineTo(w - 9.7, h - 12.2); - c.lineTo(w - 13.9, h - 9.8); - c.lineTo(9.7, 3.5); - c.arcTo(6, 3, 0, 0, 0, 9, 0.4); - c.arcTo(5.2, 3, 0, 0, 0, 1, 1.4); - c.arcTo(6, 2.8, 0, 0, 0, 3, 5.4); - c.arcTo(5, 3, 0, 0, 0, 6.7, 5.2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dArrowSE.prototype.cst.ARROW_SE, mxShapeAws3dArrowSE); - -//********************************************************************************************************************************************************** -//Arrow SW -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dArrowSW(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dArrowSW, mxShape); - -mxShapeAws3dArrowSW.prototype.cst = { - ARROW_SW : 'mxgraph.aws3d.arrowSW' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dArrowSW.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(17, h - 8); - c.lineTo(21, h - 5.5); - c.lineTo(0, h); - c.lineTo(9.7, h - 12.2); - c.lineTo(13.9, h - 9.8); - c.lineTo(w - 9.7, 3.5); - c.arcTo(6, 3, 0, 0, 1, w - 9, 0.4); - c.arcTo(5.2, 3, 0, 0, 1, w - 1, 1.4); - c.arcTo(6, 2.8, 0, 0, 1, w - 3, 5.4); - c.arcTo(5, 3, 0, 0, 1, w - 6.7, 5.2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dArrowSW.prototype.cst.ARROW_SW, mxShapeAws3dArrowSW); - -//********************************************************************************************************************************************************** -//Arrow NW -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dArrowNW(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dArrowNW, mxShape); - -mxShapeAws3dArrowNW.prototype.cst = { - ARROW_NW : 'mxgraph.aws3d.arrowNW' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dArrowNW.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(17, 8); - c.lineTo(21, 5.5); - c.lineTo(0, 0); - c.lineTo(9.7, 12.2); - c.lineTo(13.9, 9.8); - c.lineTo(w - 9.7, h - 3.5); - c.arcTo(6, 3, 0, 0, 0, w - 9, h - 0.4); - c.arcTo(5.2, 3, 0, 0, 0, w - 1, h - 1.4); - c.arcTo(6, 2.8, 0, 0, 0, w - 3, h - 5.4); - c.arcTo(5, 3, 0, 0, 0, w - 6.7, h - 5.2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dArrowNW.prototype.cst.ARROW_NW, mxShapeAws3dArrowNW); - -//********************************************************************************************************************************************************** -//Arrowless NE -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dArrowlessNE(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dArrowlessNE, mxShape); - -mxShapeAws3dArrowlessNE.prototype.cst = { - ARROWLESS_NE : 'mxgraph.aws3d.arrowlessNE' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dArrowlessNE.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(w - 3.1, 0); - c.lineTo(w, 1.8); - c.lineTo(9.7, h - 3.5); - c.arcTo(6, 3, 0, 0, 1, 9, h - 0.4); - c.arcTo(5.2, 3, 0, 0, 1, 1, h - 1.4); - c.arcTo(6, 2.8, 0, 0, 1, 3, h - 5.4); - c.arcTo(5, 3, 0, 0, 1, 6.7, h - 5.2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dArrowlessNE.prototype.cst.ARROWLESS_NE, mxShapeAws3dArrowlessNE); - -//********************************************************************************************************************************************************** -//Dashed edge with double arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dDashedEdgeDouble(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dDashedEdgeDouble, mxShape); - -mxShapeAws3dDashedEdgeDouble.prototype.cst = { - DASHED_EDGE_DOUBLE : 'mxgraph.aws3d.dashedEdgeDouble' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dDashedEdgeDouble.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setFillColor('#2D6195'); - c.save(); - c.setStrokeColor('none'); - c.begin(); - c.moveTo(21, 5.5); - c.lineTo(0, 0); - c.lineTo(9.7, 12.2); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w - 21, h - 5.5); - c.lineTo(w, h); - c.lineTo(w - 9.7, h - 12.2); - c.fillAndStroke(); - - c.restore(); - c.setStrokeColor('#2D6195'); - c.setStrokeWidth('4'); - c.setDashed('true'); - c.setLineCap('round'); - - c.begin(); - c.moveTo(7.675, 4.425); - c.lineTo(w - 7.675, h - 4.425); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dDashedEdgeDouble.prototype.cst.DASHED_EDGE_DOUBLE, mxShapeAws3dDashedEdgeDouble); - -//********************************************************************************************************************************************************** -//Dashed arrowless edge -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dDashedArrowlessEdge(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dDashedArrowlessEdge, mxShape); - -mxShapeAws3dDashedArrowlessEdge.prototype.cst = { - DASHED_ARROWLESS_EDGE : 'mxgraph.aws3d.dashedArrowlessEdge' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dDashedArrowlessEdge.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setStrokeColor('#2D6195'); - c.setStrokeWidth('4'); - c.setDashed('true'); - c.setLineCap('round'); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dDashedArrowlessEdge.prototype.cst.DASHED_ARROWLESS_EDGE, mxShapeAws3dDashedArrowlessEdge); - -//********************************************************************************************************************************************************** -//Dashed edge -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dDashedEdge(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dDashedEdge, mxShape); - -mxShapeAws3dDashedEdge.prototype.cst = { - DASHED_EDGE : 'mxgraph.aws3d.dashedEdge' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dDashedEdge.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setFillColor('#2D6195'); - c.save(); - c.setStrokeColor('none'); - c.begin(); - c.moveTo(w - 21, 5.5); - c.lineTo(w, 0); - c.lineTo(w - 9.7, 12.2); - c.fillAndStroke(); - - c.restore(); - c.setStrokeColor('#2D6195'); - c.setStrokeWidth('4'); - c.setDashed('true'); - c.setLineCap('round'); - - c.begin(); - c.moveTo(w - 7.675, 4.425); - c.lineTo(0, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dDashedEdge.prototype.cst.DASHED_EDGE, mxShapeAws3dDashedEdge); - -//********************************************************************************************************************************************************** -//Flat edge -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dFlatEdge(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dFlatEdge, mxShape); - -mxShapeAws3dFlatEdge.prototype.cst = { - FLAT_EDGE : 'mxgraph.aws3d.flatEdge' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dFlatEdge.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setFillColor('#F4B934'); - c.setStrokeColor('none'); - c.begin(); - c.moveTo(w - 46, 8.8); - c.lineTo(w - 61.2, 0); - c.lineTo(w, 0); - c.lineTo(w, 35.5); - c.lineTo(w - 15.4, 26.5); - c.lineTo(30.7, h); - c.lineTo(0, h - 17.7); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dFlatEdge.prototype.cst.FLAT_EDGE, mxShapeAws3dFlatEdge); - -//********************************************************************************************************************************************************** -//Flat double edge -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dFlatDoubleEdge(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dFlatDoubleEdge, mxShape); - -mxShapeAws3dFlatDoubleEdge.prototype.cst = { - FLAT_DOUBLE_EDGE : 'mxgraph.aws3d.flatDoubleEdge' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dFlatDoubleEdge.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setFillColor('#F4B934'); - c.setStrokeColor('none'); - - c.begin(); - c.moveTo(15.3, 61.9); - c.lineTo(30.8, 53.2); - c.lineTo(15.4, 44.2); - c.lineTo(0, 53.2); - c.lineTo(15.4, 8.8); - c.lineTo(92.1, 0); - c.lineTo(76.5, 8.8); - c.lineTo(92.1, 17.7); - c.lineTo(107.4, 8.8); - - c.lineTo(w - 15.3, h - 61.9); - c.lineTo(w - 30.8, h - 53.2); - c.lineTo(w - 15.4, h - 44.2); - c.lineTo(w, h - 53.2); - c.lineTo(w - 15.4, h - 8.8); - c.lineTo(w - 92.1, h); - c.lineTo(w - 76.5, h - 8.8); - c.lineTo(w - 92.1, h - 17.7); - c.lineTo(w - 107.4, h - 8.8); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dFlatDoubleEdge.prototype.cst.FLAT_DOUBLE_EDGE, mxShapeAws3dFlatDoubleEdge); - -//********************************************************************************************************************************************************** -//AMI -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dAMI(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dAMI, mxShape); - -mxShapeAws3dAMI.prototype.cst = { - AMI : 'mxgraph.aws3d.ami', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dAMI.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - var strokeWidth1 = strokeWidth * w / 92; - var strokeWidth2 = strokeWidth * h / 60; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setStrokeWidth(strokeWidth); - c.setShadow(false); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.6483); - c.lineTo(w * 0.0684, h * 0.4133); - c.lineTo(w * 0.5326, 0); - c.lineTo(w * 0.6685, 0); - c.lineTo(w * 0.9359, h * 0.2367); - c.lineTo(w, h * 0.465); - c.lineTo(w * 0.4, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dAMI.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.65); - c.lineTo(w * 0.0652, h * 0.5); - c.lineTo(w * 0.3326, h * 0.7667); - c.lineTo(w * 0.4663, h * 0.7667); - c.lineTo(w * 0.4, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.4, h); - c.lineTo(w * 0.4641, h * 0.77); - c.lineTo(w * 0.9326, h * 0.355); - c.lineTo(w * 0.9347, h * 0.24); - c.lineTo(w, h * 0.4667); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.65); - c.lineTo(w * 0.0652, h * 0.5); - c.lineTo(w * 0.3326, h * 0.7667); - c.lineTo(w * 0.4663, h * 0.7667); - c.lineTo(w * 0.4, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.4, h); - c.lineTo(w * 0.4641, h * 0.77); - c.lineTo(w * 0.9326, h * 0.355); - c.lineTo(w * 0.9347, h * 0.24); - c.lineTo(w, h * 0.4667); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.0652, h * 0.42); - c.lineTo(w * 0.0652, h * 0.5); - c.moveTo(w * 0.3337, h * 0.7667); - c.lineTo(w * 0.4, h); - c.moveTo(w * 0.9348, h * 0.355); - c.lineTo(w, h * 0.4733); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.1935, h * 0.42); - c.lineTo(w * 0.5543, h * 0.0967); - c.lineTo(w * 0.6652, h * 0.1967); - c.lineTo(w * 0.3, h * 0.5133); - c.close(); - c.moveTo(w * 0.2967, h * 0.4633); - c.lineTo(w * 0.3837, h * 0.3883); - c.lineTo(w * 0.3326, h * 0.3417); - c.lineTo(w * 0.2467, h * 0.42); - c.close(); - c.moveTo(w * 0.362, h * 0.32); - c.lineTo(w * 0.412, h * 0.3633); - c.lineTo(w * 0.5054, h * 0.2867); - c.lineTo(w * 0.4522, h * 0.24); - c.close(); - c.moveTo(w * 0.5293, h * 0.26); - c.lineTo(w * 0.6109, h * 0.1933); - c.lineTo(w * 0.5511, h * 0.145); - c.lineTo(w * 0.4739, h * 0.2133); - c.close(); - c.moveTo(w * 0.3528, h * 0.557); - c.lineTo(w * 0.7137, h * 0.2337); - c.lineTo(w * 0.8246, h * 0.3337); - c.lineTo(w * 0.4593, h * 0.6503); - c.close(); - c.moveTo(w * 0.4561, h * 0.6003); - c.lineTo(w * 0.543, h * 0.5253); - c.lineTo(w * 0.492, h * 0.4787); - c.lineTo(w * 0.4061, h * 0.557); - c.close(); - c.moveTo(w * 0.5213, h * 0.457); - c.lineTo(w * 0.5713, h * 0.5003); - c.lineTo(w * 0.6648, h * 0.4237); - c.lineTo(w * 0.6115, h * 0.377); - c.close(); - c.moveTo(w * 0.6887, h * 0.397); - c.lineTo(w * 0.7702, h * 0.3303); - c.lineTo(w * 0.7104, h * 0.282); - c.lineTo(w * 0.6333, h * 0.3503); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6483); - c.lineTo(w * 0.0684, h * 0.4133); - c.lineTo(w * 0.5326, 0); - c.lineTo(w * 0.6685, 0); - c.lineTo(w * 0.9359, h * 0.2367); - c.lineTo(w, h * 0.465); - c.lineTo(w * 0.4, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dAMI.prototype.cst.AMI, mxShapeAws3dAMI); - -//********************************************************************************************************************************************************** -//Snapshot -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dSnapshot(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dSnapshot, mxShape); - -mxShapeAws3dSnapshot.prototype.cst = { - SNAPSHOT : 'mxgraph.aws3d.snapshot', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dSnapshot.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 92; - var strokeWidth2 = strokeWidth * h / 60; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setStrokeWidth(strokeWidth); - c.setShadow(false); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if(isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(w, h * 0.6483); - c.lineTo(w * 0.9316, h * 0.4133); - c.lineTo(w * 0.4674, 0); - c.lineTo(w * 0.3315, 0); - c.lineTo(w * 0.0641, h * 0.2367); - c.lineTo(0, h * 0.465); - c.lineTo(w * 0.6, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSnapshot.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - - c.begin(); - c.moveTo(w, h * 0.65); - c.lineTo(w * 0.9348, h * 0.52); - c.lineTo(w * 0.6674, h * 0.7667); - c.lineTo(w * 0.5337, h * 0.7667); - c.lineTo(w * 0.6, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - c.begin(); - c.moveTo(w * 0.6, h); - c.lineTo(w * 0.5359, h * 0.77); - c.lineTo(w * 0.0674, h * 0.355); - c.lineTo(w * 0.0653, h * 0.24); - c.lineTo(0, h * 0.4667); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w, h * 0.65); - c.lineTo(w * 0.9348, h * 0.52); - c.lineTo(w * 0.6674, h * 0.7667); - c.lineTo(w * 0.5337, h * 0.7667); - c.lineTo(w * 0.6, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6, h); - c.lineTo(w * 0.5359, h * 0.77); - c.lineTo(w * 0.0674, h * 0.355); - c.lineTo(w * 0.0653, h * 0.24); - c.lineTo(0, h * 0.4667); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.9348, h * 0.42); - c.lineTo(w * 0.9348, h * 0.52); - c.moveTo(w * 0.6663, h * 0.7667); - c.lineTo(w * 0.6, h); - c.moveTo(w * 0.0652, h * 0.355); - c.lineTo(0, h * 0.4733); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w, h * 0.6483); - c.lineTo(w * 0.9316, h * 0.4133); - c.lineTo(w * 0.4674, 0); - c.lineTo(w * 0.3315, 0); - c.lineTo(w * 0.0641, h * 0.2367); - c.lineTo(0, h * 0.465); - c.lineTo(w * 0.6, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dSnapshot.prototype.cst.SNAPSHOT, mxShapeAws3dSnapshot); - -//********************************************************************************************************************************************************** -//Application -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dApplication(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dApplication, mxShape); - -mxShapeAws3dApplication.prototype.cst = { - APPLICATION : 'mxgraph.aws3d.application', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dApplication.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 62; - var strokeWidth2 = strokeWidth * h / 68.8; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.2544); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.2544); - c.lineTo(w, h * 0.7485); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7485); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplication.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.2544); - c.lineTo(w * 0.5, h * 0.5015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7485); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h * 0.5015); - c.lineTo(w, h * 0.2544); - c.lineTo(w, h * 0.7485); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.2544); - c.lineTo(w * 0.5, h * 0.5015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7485); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.5015); - c.lineTo(w, h * 0.2544); - c.lineTo(w, h * 0.7485); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.6694, h * 0.0872); - c.lineTo(w * 0.7629, h * 0.1337); - c.lineTo(w * 0.2661, h * 0.3882); - c.lineTo(w * 0.2661, h * 0.5407); - c.lineTo(w * 0.1742, h * 0.4953); - c.lineTo(w * 0.1742, h * 0.3459); - c.close(); - c.moveTo(w * 0.8629, h * 0.1846); - c.lineTo(w * 0.379, h * 0.4331); - c.lineTo(w * 0.379, h * 0.5945); - c.lineTo(w * 0.2855, h * 0.5494); - c.lineTo(w * 0.2855, h * 0.3953); - c.lineTo(w * 0.7839, h * 0.1439); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.2544); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.2544); - c.lineTo(w, h * 0.7485); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7485); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dApplication.prototype.cst.APPLICATION, mxShapeAws3dApplication); - -//********************************************************************************************************************************************************** -//Application Server -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dApplicationServer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dApplicationServer, mxShape); - -mxShapeAws3dApplicationServer.prototype.cst = { - APPLICATION_SERVER : 'mxgraph.aws3d.application_server', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dApplicationServer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h / 124; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dApplicationServer.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7236); - c.lineTo(0, h * 0.2863); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.2863); - c.lineTo(w, h * 0.7236); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dApplicationServer.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplicationServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.2863); - c.lineTo(w * 0.5, h * 0.5726); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7177); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w, h * 0.2863); - c.lineTo(w * 0.5, h * 0.5726); - c.lineTo(w * 0.5, h); - c.lineTo(w, h * 0.7177); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.2863); - c.lineTo(w * 0.5, h * 0.5726); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7177); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w, h * 0.2863); - c.lineTo(w * 0.5, h * 0.5726); - c.lineTo(w * 0.5, h); - c.lineTo(w, h * 0.7177); - c.close(); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.374, h * 0.4435); - c.arcTo(w * 0.0325, h * 0.0202, 0, 0, 1, w * 0.374, h * 0.4153); - c.lineTo(w * 0.4797, h * 0.3548); - c.arcTo(w * 0.0325, h * 0.0161, 0, 0, 1, w * 0.5203, h * 0.3548); - c.lineTo(w * 0.626, h * 0.4153); - c.arcTo(w * 0.0325, h * 0.0202, 0, 0, 1, w * 0.626, h * 0.4411); - c.lineTo(w * 0.5203, h * 0.5016); - c.arcTo(w * 0.0325, h * 0.0161, 0, 0, 1, w * 0.4797, h * 0.5016); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7236); - c.lineTo(0, h * 0.2863); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.2863); - c.lineTo(w, h * 0.7236); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dApplicationServer.prototype.cst.APPLICATION_SERVER, mxShapeAws3dApplicationServer); - -//********************************************************************************************************************************************************** -//CloudFront -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dCloudFront(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dCloudFront, mxShape); - -mxShapeAws3dCloudFront.prototype.cst = { - CLOUDFRONT : 'mxgraph.aws3d.cloudfront', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dCloudFront.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 103.8; - var strokeWidth2 = strokeWidth * h / 169.8; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.7915); - c.lineTo(0, h * 0.7491); - c.lineTo(w * 0.0588, h * 0.7279); - c.lineTo(w * 0.0588, h * 0.1036); - c.lineTo(w * 0.3526, 0); - c.lineTo(w * 0.9422, h * 0.2073); - c.lineTo(w * 0.9422, h * 0.8316); - c.lineTo(w, h * 0.8539); - c.lineTo(w, h * 0.894); - c.lineTo(w * 0.7013, h); - c.lineTo(w * 0.5877, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCloudFront.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.0588, h * 0.106); - c.lineTo(w * 0.6474, h * 0.3121); - c.lineTo(w * 0.6474, h * 0.9352); - c.lineTo(w * 0.7052, h); - c.lineTo(w * 0.5915, h); - c.lineTo(0, h * 0.7915); - c.lineTo(0, h * 0.7491); - c.lineTo(w * 0.0588, h * 0.7279); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.6474, h * 0.3121); - c.lineTo(w * 0.9422, h * 0.2073); - c.lineTo(w * 0.9422, h * 0.8363); - c.lineTo(w, h * 0.8539); - c.lineTo(w, h * 0.894); - c.lineTo(w * 0.7013, h); - c.lineTo(w * 0.6474, h * 0.9305); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - c.begin(); - c.moveTo(0, h * 0.7915); - c.lineTo(w * 0.0559, h * 0.7291); - c.lineTo(w * 0.6474, h * 0.9364); - c.lineTo(w * 0.5896, h); - c.moveTo(w * 0.6493, h * 0.9364); - c.lineTo(w * 0.9412, h * 0.8333); - c.lineTo(w, h * 0.894); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.0588, h * 0.106); - c.lineTo(w * 0.6474, h * 0.3121); - c.lineTo(w * 0.6474, h * 0.9352); - c.lineTo(w * 0.7052, h); - c.lineTo(w * 0.5915, h); - c.lineTo(0, h * 0.7915); - c.lineTo(0, h * 0.7491); - c.lineTo(w * 0.0588, h * 0.7279); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6474, h * 0.3121); - c.lineTo(w * 0.9422, h * 0.2073); - c.lineTo(w * 0.9422, h * 0.8363); - c.lineTo(w, h * 0.8539); - c.lineTo(w, h * 0.894); - c.lineTo(w * 0.7013, h); - c.lineTo(w * 0.6474, h * 0.9305); - c.close(); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.3333, h * 0.6643); - c.arcTo(w * 0.3372, h * 0.2061, 0, 0, 1, w * 0.2351, h * 0.6042); - c.arcTo(w * 0.4528, h * 0.2768, 0, 0, 1, w * 0.1724, h * 0.523); - c.lineTo(w * 0.2428, h * 0.5677); - c.lineTo(w * 0.2427, h * 0.5895); - c.lineTo(w * 0.2765, h * 0.5995); - c.close(); - c.moveTo(w * 0.1599, h * 0.4935); - c.arcTo(w * 0.3372, h * 0.2061, 0, 0, 1, w * 0.1522, h * 0.4146); - c.arcTo(w * 0.1156, h * 0.0883, 0, 0, 1, w * 0.2071, h * 0.3486); - c.lineTo(w * 0.2013, h * 0.4187); - c.lineTo(w * 0.1859, h * 0.4146); - c.lineTo(w * 0.1859, h * 0.4464); - c.lineTo(w * 0.1907, h * 0.4493); - c.close(); - c.moveTo(w * 0.2235, h * 0.3445); - c.arcTo(w * 0.1927, h * 0.1767, 0, 0, 1, w * 0.368, h * 0.361); - c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.468, h * 0.4299); - c.lineTo(w * 0.368, h * 0.4034); - c.lineTo(w * 0.368, h * 0.394); - c.lineTo(w * 0.3256, h * 0.3799); - c.lineTo(w * 0.3256, h * 0.3887); - c.close(); - c.moveTo(w * 0.4855, h * 0.4499); - c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.5337, h * 0.5395); - c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.5328, h * 0.6302); - c.lineTo(w * 0.4952, h * 0.5589); - c.lineTo(w * 0.5019, h * 0.5595); - c.lineTo(w * 0.5019, h * 0.5265); - c.lineTo(w * 0.4855, h * 0.5194); - c.close(); - c.moveTo(w * 0.5241, h * 0.6455); - c.arcTo(w * 0.0963, h * 0.0589, 0, 0, 1, w * 0.4663, h * 0.682); - c.arcTo(w * 0.1445, h * 0.0883, 0, 0, 1, w * 0.3642, h * 0.6761); - c.lineTo(w * 0.4239, h * 0.6525); - c.lineTo(w * 0.4566, h * 0.6643); - c.lineTo(w * 0.4566, h * 0.6413); - c.close(); - c.moveTo(w * 0.3507, h * 0.6667); - c.lineTo(w * 0.2871, h * 0.5919); - c.lineTo(w * 0.4123, h * 0.6366); - c.close(); - c.moveTo(w * 0.2563, h * 0.5595); - c.lineTo(w * 0.1753, h * 0.5088); - c.lineTo(w * 0.2052, h * 0.4594); - c.close(); - c.moveTo(w * 0.2139, h * 0.4229); - c.lineTo(w * 0.2197, h * 0.3528); - c.lineTo(w * 0.3256, h * 0.4028); - c.lineTo(w * 0.2283, h * 0.4252); - c.close(); - c.moveTo(w * 0.2264, h * 0.4417); - c.lineTo(w * 0.3218, h * 0.4146); - c.lineTo(w * 0.3353, h * 0.4181); - c.lineTo(w * 0.3353, h * 0.4971); - c.lineTo(w * 0.3208, h * 0.4912); - c.lineTo(w * 0.3208, h * 0.4965); - c.lineTo(w * 0.2264, h * 0.4482); - c.close(); - c.moveTo(w * 0.2697, h * 0.5618); - c.lineTo(w * 0.2245, h * 0.4635); - c.lineTo(w * 0.2331, h * 0.4588); - c.lineTo(w * 0.3256, h * 0.5112); - c.lineTo(w * 0.3237, h * 0.5241); - c.close(); - c.moveTo(w * 0.2852, h * 0.576); - c.lineTo(w * 0.2852, h * 0.5654); - c.lineTo(w * 0.3391, h * 0.53); - c.lineTo(w * 0.3516, h * 0.5347); - c.lineTo(w * 0.4133, h * 0.6213); - c.close(); - c.moveTo(w * 0.368, h * 0.5141); - c.lineTo(w * 0.368, h * 0.5088); - c.lineTo(w * 0.3526, h * 0.5029); - c.lineTo(w * 0.3526, h * 0.4234); - c.lineTo(w * 0.3622, h * 0.4276); - c.lineTo(w * 0.4547, h * 0.5177); - c.lineTo(w * 0.4557, h * 0.5277); - c.close(); - c.moveTo(w * 0.3671, h * 0.417); - c.lineTo(w * 0.4692, h * 0.4411); - c.lineTo(w * 0.4721, h * 0.52); - c.close(); - c.moveTo(w * 0.368, h * 0.5253); - c.lineTo(w * 0.4566, h * 0.5359); - c.lineTo(w * 0.4566, h * 0.5453); - c.lineTo(w * 0.4663, h * 0.5465); - c.lineTo(w * 0.4335, h * 0.6201); - c.lineTo(w * 0.422, h * 0.616); - c.lineTo(w * 0.368, h * 0.5389); - c.close(); - c.moveTo(w * 0.4798, h * 0.5583); - c.lineTo(w * 0.5183, h * 0.629); - c.lineTo(w * 0.4557, h * 0.6313); - c.lineTo(w * 0.4557, h * 0.6237); - c.lineTo(w * 0.447, h * 0.6225); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7915); - c.lineTo(0, h * 0.7491); - c.lineTo(w * 0.0588, h * 0.7279); - c.lineTo(w * 0.0588, h * 0.1036); - c.lineTo(w * 0.3526, 0); - c.lineTo(w * 0.9422, h * 0.2073); - c.lineTo(w * 0.9422, h * 0.8316); - c.lineTo(w, h * 0.8539); - c.lineTo(w, h * 0.894); - c.lineTo(w * 0.7013, h); - c.lineTo(w * 0.5877, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dCloudFront.prototype.cst.CLOUDFRONT, mxShapeAws3dCloudFront); - -//********************************************************************************************************************************************************** -//Data Center -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dDataCenter(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dDataCenter, mxShape); - -mxShapeAws3dDataCenter.prototype.cst = { - DATA_CENTER : 'mxgraph.aws3d.dataCenter', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dDataCenter.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h / 142; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.7465); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7465); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDataCenter.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.7465); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w, h * 0.7465); - c.lineTo(w, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - c.begin(); - c.moveTo(0, h * 0.7465); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w, h * 0.7465); - c.lineTo(w, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.setLineCap('round'); - c.setStrokeWidth(3 * strokeWidth); - - c.begin(); - c.moveTo(w * 0.0894, h * 0.3838); - c.lineTo(w * 0.4187, h * 0.5493); - c.moveTo(w * 0.0894, h * 0.4331); - c.lineTo(w * 0.4187, h * 0.5986); - c.moveTo(w * 0.0894, h * 0.4824); - c.lineTo(w * 0.4187, h * 0.6479); - c.moveTo(w * 0.5854, h * 0.5493); - c.lineTo(w * 0.9146, h * 0.3838); - c.moveTo(w * 0.5854, h * 0.5986); - c.lineTo(w * 0.9146, h * 0.4331); - c.moveTo(w * 0.5854, h * 0.6479); - c.lineTo(w * 0.9146, h * 0.4824); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7465); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7465); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dDataCenter.prototype.cst.DATA_CENTER, mxShapeAws3dDataCenter); - -//********************************************************************************************************************************************************** -//Data Server -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dDataServer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dDataServer, mxShape); - -mxShapeAws3dDataServer.prototype.cst = { - DATA_SERVER : 'mxgraph.aws3d.dataServer', - SHADINC_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dDataServer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h / 106; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.6651); - c.lineTo(0, h * 0.3349); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3349); - c.lineTo(w, h * 0.6651); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDataServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.6651); - c.lineTo(0, h * 0.3349); - c.lineTo(w * 0.5, h * 0.6698); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w, h * 0.6651); - c.lineTo(w, h * 0.3349); - c.lineTo(w * 0.5, h * 0.6698); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - c.begin(); - c.moveTo(0, h * 0.6651); - c.lineTo(0, h * 0.3349); - c.lineTo(w * 0.5, h * 0.6698); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w, h * 0.6651); - c.lineTo(w, h * 0.3349); - c.lineTo(w * 0.5, h * 0.6698); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.setLineCap('round'); - c.setStrokeWidth(3 * strokeWidth); - - c.begin(); - c.moveTo(w * 0.0878, h * 0.4858); - c.lineTo(w * 0.4187, h * 0.7094); - c.moveTo(w * 0.587, h * 0.7094); - c.lineTo(w * 0.9187, h * 0.4858); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6651); - c.lineTo(0, h * 0.3349); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3349); - c.lineTo(w, h * 0.6651); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dDataServer.prototype.cst.DATA_SERVER, mxShapeAws3dDataServer); - -//********************************************************************************************************************************************************** -//Elastic Load Balancing -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dElasticLoadBalancing(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dElasticLoadBalancing, mxShape); - -mxShapeAws3dElasticLoadBalancing.prototype.cst = { - ELASTIC_LOAD_BALANCING : 'mxgraph.aws3d.elasticLoadBalancing', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dElasticLoadBalancing.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 92; - var strokeWidth2 = strokeWidth * h / 88.17; - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.7996); - c.lineTo(0, h * 0.1985); - c.lineTo(w * 0.3315, 0); - c.lineTo(w * 0.6685, 0); - c.lineTo(w, h * 0.1985); - c.lineTo(w, h * 0.7996); - c.lineTo(w * 0.6685, h); - c.lineTo(w * 0.3315, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticLoadBalancing.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.4026); - c.lineTo(w * 0.3315, h * 0.6011); - c.lineTo(w * 0.6685, h * 0.6011); - c.lineTo(w * 0.6685, h); - c.lineTo(w * 0.3315, h); - c.lineTo(0, h * 0.7996); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.6685, h * 0.6011); - c.lineTo(w, h * 0.4026); - c.lineTo(w, h * 0.7996); - c.lineTo(w * 0.6685, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - c.begin(); - c.moveTo(0, h * 0.4026); - c.lineTo(w * 0.3315, h * 0.6011); - c.lineTo(w * 0.6685, h * 0.6011); - c.lineTo(w * 0.6685, h); - c.lineTo(w * 0.3315, h); - c.lineTo(0, h * 0.7996); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.6685, h * 0.6011); - c.lineTo(w, h * 0.4026); - c.lineTo(w, h * 0.7996); - c.lineTo(w * 0.6685, h); - c.close(); - c.moveTo(w * 0.3315, h * 0.6011); - c.lineTo(w * 0.3315, h); - c.stroke(); - - c.restore(); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.337, h * 0.1395); - c.arcTo(w * 0.3043, h * 0.1928, 0, 0, 1, w * 0.5, h * 0.1191); - c.arcTo(w * 0.3043, h * 0.1928, 0, 0, 1, w * 0.6739, h * 0.1645); - c.arcTo(w * 0.3261, h * 0.2155, 0, 0, 1, w * 0.8152, h * 0.3176); - c.arcTo(w * 0.3261, h * 0.1701, 0, 0, 1, w * 0.75, h * 0.4367); - c.arcTo(w * 0.3261, h * 0.3403, 0, 0, 1, w * 0.6033, h * 0.4854); - c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.4348, h * 0.4741); - c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.2848, h * 0.4094); - c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.2065, h * 0.3062); - c.arcTo(w * 0.3261, h * 0.1701, 0, 0, 1, w * 0.2446, h * 0.1928); - c.arcTo(w * 0.2717, h * 0.1701, 0, 0, 1, w * 0.337, h * 0.1395); - c.fill(); - - c.restore(); - c.begin(); - c.moveTo(w * 0.2826, h * 0.372); - c.lineTo(w * 0.362, h * 0.3232); - c.lineTo(w * 0.4054, h * 0.3482); - c.lineTo(w * 0.4457, h * 0.2654); - c.lineTo(w * 0.4185, h * 0.2643); - c.lineTo(w * 0.4728, h * 0.2132); - c.lineTo(w * 0.4348, h * 0.1928); - c.lineTo(w * 0.5141, h * 0.144); - c.lineTo(w * 0.5837, h * 0.1883); - c.lineTo(w * 0.5043, h * 0.2348); - c.lineTo(w * 0.4848, h * 0.2223); - c.lineTo(w * 0.4967, h * 0.2688); - c.lineTo(w * 0.463, h * 0.2665); - c.lineTo(w * 0.4304, h * 0.3346); - c.lineTo(w * 0.4946, h * 0.2949); - c.lineTo(w * 0.4761, h * 0.2858); - c.lineTo(w * 0.5511, h * 0.2631); - c.lineTo(w * 0.5261, h * 0.2472); - c.lineTo(w * 0.6043, h * 0.1996); - c.lineTo(w * 0.6761, h * 0.2404); - c.lineTo(w * 0.5978, h * 0.2892); - c.lineTo(w * 0.5652, h * 0.2699); - c.lineTo(w * 0.5293, h * 0.3198); - c.lineTo(w * 0.5087, h * 0.3051); - c.lineTo(w * 0.4543, h * 0.3391); - c.lineTo(w * 0.563, h * 0.3221); - c.lineTo(w * 0.5598, h * 0.3017); - c.lineTo(w * 0.6326, h * 0.3096); - c.lineTo(w * 0.6163, h * 0.2994); - c.lineTo(w * 0.6957, h * 0.2529); - c.lineTo(w * 0.7674, h * 0.2938); - c.lineTo(w * 0.687, h * 0.3425); - c.lineTo(w * 0.6489, h * 0.321); - c.lineTo(w * 0.5707, h * 0.3539); - c.lineTo(w * 0.5674, h * 0.3369); - c.lineTo(w * 0.4293, h * 0.3618); - c.lineTo(w * 0.4641, h * 0.3834); - c.lineTo(w * 0.3859, h * 0.4299); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7996); - c.lineTo(0, h * 0.1985); - c.lineTo(w * 0.3315, 0); - c.lineTo(w * 0.6685, 0); - c.lineTo(w, h * 0.1985); - c.lineTo(w, h * 0.7996); - c.lineTo(w * 0.6685, h); - c.lineTo(w * 0.3315, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dElasticLoadBalancing.prototype.cst.ELASTIC_LOAD_BALANCING, mxShapeAws3dElasticLoadBalancing); - -//********************************************************************************************************************************************************** -//Instance -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dInstance(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dInstance, mxShape); - -mxShapeAws3dInstance.prototype.cst = { - INSTANCE : 'mxgraph.aws3d.instance', - SHADIG_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dInstance.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h / 97; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dInstance.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.634); - c.lineTo(0, h * 0.2732); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.622, 0); - c.lineTo(w, h * 0.2732); - c.lineTo(w, h * 0.634); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dInstance.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInstance.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.2732); - c.lineTo(w * 0.5, h * 0.6392); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.634); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h * 0.6392); - c.lineTo(w, h * 0.2732); - c.lineTo(w, h * 0.6392); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.2732); - c.lineTo(w * 0.5, h * 0.6392); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.634); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.6392); - c.lineTo(w, h * 0.2732); - c.lineTo(w, h * 0.6392); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.374, h * 0.4742); - c.arcTo(w * 0.0325, h * 0.0258, 0, 0, 1, w * 0.374, h * 0.4381); - c.lineTo(w * 0.4797, h * 0.3608); - c.arcTo(w * 0.0325, h * 0.0206, 0, 0, 1, w * 0.5203, h * 0.3608); - c.lineTo(w * 0.626, h * 0.4381); - c.arcTo(w * 0.0325, h * 0.0258, 0, 0, 1, w * 0.626, h * 0.4711); - c.lineTo(w * 0.5203, h * 0.5485); - c.arcTo(w * 0.0325, h * 0.0206, 0, 0, 1, w * 0.4797, h * 0.5485); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.634); - c.lineTo(0, h * 0.2732); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.622, 0); - c.lineTo(w, h * 0.2732); - c.lineTo(w, h * 0.634); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dInstance.prototype.cst.INSTANCE, mxShapeAws3dInstance); - -//********************************************************************************************************************************************************** -//Internet Gateway -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dInternetGateway(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dInternetGateway, mxShape); - -mxShapeAws3dInternetGateway.prototype.cst = { - INTERNET_GATEWAY : 'mxgraph.aws3d.internetGateway', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dInternetGateway.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 116.7; - var strokeWidth2 = strokeWidth * h / 102.8; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dInternetGateway.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.8946, 0); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6812, h * 0.7247); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.save(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInternetGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.6838, h * 0.2072); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.6838, h * 0.2072); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.6838, h * 0.2072); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.stroke(); - - c.restore(); - c.setLineJoin('round'); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.6838, h * 0.2072); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.8946, 0); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6812, h * 0.7247); - c.close(); - c.stroke(); - - c.restore(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.3171, h * 0.1031); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.lineTo(w * 0.1054, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dInternetGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setShadow(false); - c.setLineJoin('round'); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInternetGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.1054, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.1054, h); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.1054, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.1054, h); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.close(); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.3171, h * 0.1031); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.lineTo(w * 0.1054, h); - c.close(); - c.stroke(); - - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.7849, h * 0.5039); - c.arcTo(w * 0.0343, h * 0.0632, 0, 0, 1, w * 0.7481, h * 0.4796); - c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.7661, h * 0.3911); - c.arcTo(w * 0.06, h * 0.0681, 0, 0, 1, w * 0.7712, h * 0.3356); - c.arcTo(w * 0.0257, h * 0.0292, 0, 0, 1, w * 0.7952, h * 0.32); - c.arcTo(w * 0.1285, h * 0.1459, 0, 0, 1, w * 0.8166, h * 0.2461); - c.arcTo(w * 0.06, h * 0.0973, 0, 0, 1, w * 0.8595, h * 0.2238); - c.arcTo(w * 0.0514, h * 0.0973, 0, 0, 1, w * 0.8937, h * 0.2743); - c.arcTo(w * 0.0428, h * 0.0778, 0, 0, 1, w * 0.9323, h * 0.3093); - c.arcTo(w * 0.0686, h * 0.0778, 0, 0, 1, w * 0.928, h * 0.3716); - c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.8972, h * 0.4125); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dInternetGateway.prototype.cst.INTERNET_GATEWAY, mxShapeAws3dInternetGateway); - -//********************************************************************************************************************************************************** -//Oracle Data Center -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dOracleDataCenter(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dOracleDataCenter, mxShape); - -mxShapeAws3dOracleDataCenter.prototype.cst = { - ORACLE_DATA_CENTER : 'mxgraph.aws3d.oracleDataCenter' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dOracleDataCenter.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /142; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dOracleDataCenter.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dOracleDataCenter.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - c.setAlpha('0.1'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.setAlpha('0.3'); - c.begin(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.setFillColor('#ff0000'); - - c.begin(); - c.moveTo(0, h * 0.5866); - c.lineTo(w * 0.5, h * 0.8359); - c.lineTo(w, h * 0.5866); - c.lineTo(w, h * 0.6986); - c.lineTo(w * 0.5, h * 0.9486); - c.lineTo(0, h * 0.6986); - c.fill(); - - c.setStrokeWidth(0.5 * strokeWidth); - c.setStrokeColor('#ffffff'); - c.setFillColor('#ffffff'); - - c.begin(); - c.moveTo(0, h * 0.5866); - c.lineTo(w * 0.5, h * 0.8359); - c.lineTo(w, h * 0.5866); - c.moveTo(w, h * 0.6986); - c.lineTo(w * 0.5, h * 0.9486); - c.lineTo(0, h * 0.6986); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.0813, h * 0.7113); - c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.065, h * 0.6831); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.065, h * 0.6613); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.0797, h * 0.6549); - c.lineTo(w * 0.122, h * 0.6754); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.1358, h * 0.6937); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.139, h * 0.7232); - c.arcTo(w * 0.0179, h * 0.0155, 0, 0, 1, w * 0.1187, h * 0.7296); - c.close(); - c.moveTo(w * 0.1163, h * 0.7183); - c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.1285, h * 0.7148); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1293, h * 0.7021); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1179, h * 0.6831); - c.lineTo(w * 0.087, h * 0.6676); - c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.0764, h * 0.6697); - c.arcTo(w * 0.0325, h * 0.0352, 0, 0, 0, w * 0.078, h * 0.6937); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.087, h * 0.7035); - c.close(); - c.moveTo(w * 0.1439, h * 0.743); - c.lineTo(w * 0.1439, h * 0.6866); - c.lineTo(w * 0.1846, h * 0.707); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.1967, h * 0.7183); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2, h * 0.738); - c.arcTo(w * 0.0138, h * 0.0155, 0, 0, 1, w * 0.1813, h * 0.743); - c.lineTo(w * 0.1992, h * 0.769); - c.lineTo(w * 0.187, h * 0.7641); - c.lineTo(w * 0.1577, h * 0.7218); - c.lineTo(w * 0.1854, h * 0.7345); - c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.1911, h * 0.7317); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 0, w * 0.1894, h * 0.7225); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.1821, h * 0.7155); - c.lineTo(w * 0.1528, h * 0.7007); - c.lineTo(w * 0.1528, h * 0.7472); - c.close(); - c.moveTo(w * 0.2008, h * 0.7711); - c.lineTo(w * 0.2293, h * 0.7338); - c.arcTo(w * 0.0065, h * 0.0056, 0, 0, 1, w * 0.2382, h * 0.7324); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2431, h * 0.7415); - c.lineTo(w * 0.2699, h * 0.8035); - c.lineTo(w * 0.2602, h * 0.8007); - c.lineTo(w * 0.252, h * 0.7859); - c.lineTo(w * 0.2293, h * 0.7754); - c.lineTo(w * 0.2244, h * 0.7634); - c.lineTo(w * 0.248, h * 0.7739); - c.lineTo(w * 0.235, h * 0.7444); - c.lineTo(w * 0.2122, h * 0.7768); - c.close(); - c.moveTo(w * 0.3244, h * 0.8225); - c.lineTo(w * 0.3171, h * 0.8289); - c.lineTo(w * 0.2854, h * 0.8127); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2724, h * 0.7986); - c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.265, h * 0.7746); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2683, h * 0.762); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.2829, h * 0.757); - c.lineTo(w * 0.3228, h * 0.7761); - c.lineTo(w * 0.3179, h * 0.7831); - c.lineTo(w * 0.2878, h * 0.7683); - c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.2789, h * 0.7697); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.2748, h * 0.7831); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.2878, h * 0.8042); - c.close(); - c.moveTo(w * 0.3276, h * 0.7789); - c.lineTo(w * 0.3366, h * 0.7831); - c.lineTo(w * 0.3366, h * 0.8289); - c.lineTo(w * 0.3805, h * 0.8507); - c.lineTo(w * 0.3748, h * 0.857); - c.lineTo(w * 0.3317, h * 0.8359); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3276, h * 0.8275); - c.close(); - c.moveTo(w * 0.435, h * 0.8775); - c.lineTo(w * 0.4325, h * 0.8866); - c.lineTo(w * 0.3959, h * 0.8683); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.3862, h * 0.8563); - c.arcTo(w * 0.0528, h * 0.0458, 0, 0, 1, w * 0.3805, h * 0.8183); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3951, h * 0.8134); - c.lineTo(w * 0.435, h * 0.8324); - c.lineTo(w * 0.4285, h * 0.838); - c.lineTo(w * 0.4008, h * 0.8246); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.3878, h * 0.831); - c.lineTo(w * 0.4333, h * 0.8542); - c.lineTo(w * 0.426, h * 0.8606); - c.lineTo(w * 0.3878, h * 0.8415); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.3976, h * 0.8585); - c.close(); - - c.moveTo(w * 0.6171, h * 0.8063); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.6366, h * 0.8092); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 1, w * 0.639, h * 0.8303); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.6211, h * 0.8592); - c.lineTo(w * 0.5894, h * 0.8761); - c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 1, w * 0.565, h * 0.8732); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.5659, h * 0.8458); - c.arcTo(w * 0.0488, h * 0.0422, 0, 0, 1, w * 0.5805, h * 0.8246); - c.close(); - c.moveTo(w * 0.5886, h * 0.8296); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.5748, h * 0.8472); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.574, h * 0.862); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.587, h * 0.8676); - c.lineTo(w * 0.6163, h * 0.8528); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.6285, h * 0.8359); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6293, h * 0.8225); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.6163, h * 0.8155); - c.close(); - - c.moveTo(w * 0.64, h * 0.85); - c.lineTo(w * 0.64, h * 0.7930); - c.lineTo(w * 0.6854, h * 0.7718); - c.arcTo(w * 0.0106, h * 0.0092, 0, 0, 1, w * 0.7008, h * 0.7782); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6959, h * 0.8); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6805, h * 0.8127); - c.lineTo(w * 0.6992, h * 0.8218); - c.lineTo(w * 0.6854, h * 0.8282); - c.lineTo(w * 0.6569, h * 0.8141); - c.lineTo(w * 0.6805, h * 0.8021); - c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 0, w * 0.6894, h * 0.7923); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6894, h * 0.7845); - c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.6837, h * 0.7831); - c.lineTo(w * 0.6528, h * 0.7979); - c.lineTo(w * 0.6528, h * 0.8437); - c.close(); - c.moveTo(w * 0.7, h * 0.8204); - c.lineTo(w * 0.7301, h * 0.7507); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7358, h * 0.7444); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7415, h * 0.7486); - c.lineTo(w * 0.7699, h * 0.7852); - c.lineTo(w * 0.7602, h * 0.7908); - c.lineTo(w * 0.7537, h * 0.7838); - c.lineTo(w * 0.7276, h * 0.7958); - c.lineTo(w * 0.7228, h * 0.788); - c.lineTo(w * 0.748, h * 0.7768); - c.lineTo(w * 0.7358, h * 0.7585); - c.lineTo(w * 0.7114, h * 0.8155); - c.close(); - c.moveTo(w * 0.8244, h * 0.7486); - c.lineTo(w * 0.8171, h * 0.762); - c.lineTo(w * 0.7894, h * 0.7761); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 1, w * 0.7683, h * 0.7746); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.7667, h * 0.7507); - c.arcTo(w * 0.0488, h * 0.0423, 0, 0, 1, w * 0.7937, h * 0.7162); - c.lineTo(w * 0.822, h * 0.7035); - c.lineTo(w * 0.8171, h * 0.7155); - c.lineTo(w * 0.7902, h * 0.7296); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.778, h * 0.743); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.7756, h * 0.7606); - c.arcTo(w * 0.0077, h * 0.0067, 0, 0, 0, w * 0.787, h * 0.767); - c.close(); - c.moveTo(w * 0.8366, h * 0.6949); - c.lineTo(w * 0.8366, h * 0.7423); - c.lineTo(w * 0.878, h * 0.7231); - c.lineTo(w * 0.874, h * 0.7338); - c.lineTo(w * 0.8333, h * 0.7535); - c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 1, w * 0.8268, h * 0.75); - c.lineTo(w * 0.8268, h * 0.7007); - c.close(); - c.moveTo(w * 0.9342, h * 0.6472); - c.lineTo(w * 0.9293, h * 0.6599); - c.lineTo(w * 0.9033, h * 0.6725); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.8927, h * 0.6817); - c.arcTo(w * 0.0406, h * 0.0352, 0, 0, 0, w * 0.887, h * 0.6937); - c.lineTo(w * 0.9309, h * 0.6725); - c.lineTo(w * 0.9268, h * 0.6845); - c.lineTo(w * 0.887, h * 0.7035); - c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.8992, h * 0.7106); - c.lineTo(w * 0.935, h * 0.693); - c.lineTo(w * 0.9285, h * 0.7063); - c.lineTo(w * 0.9008, h * 0.7197); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.8829, h * 0.7204); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.8764, h * 0.7028); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.8959, h * 0.6669); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.restore(); - c.setShadow(false); - c.setStrokeWidth(3 * strokeWidth); - c.setLineCap('round'); - c.begin(); - c.moveTo(w * 0.0894, h * 0.3838); - c.lineTo(w * 0.4187, h * 0.5493); - c.moveTo(w * 0.0894, h * 0.4331); - c.lineTo(w * 0.4187, h * 0.5986); - c.moveTo(w * 0.0894, h * 0.4824); - c.lineTo(w * 0.4187, h * 0.6479); - c.moveTo(w * 0.5854, h * 0.5492); - c.lineTo(w * 0.9146, h * 0.3838); - c.moveTo(w * 0.5854, h * 0.5986); - c.lineTo(w * 0.9146, h * 0.4331); - c.moveTo(w * 0.5854, h * 0.6479); - c.lineTo(w * 0.9146, h * 0.4824); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dOracleDataCenter.prototype.cst.ORACLE_DATA_CENTER, mxShapeAws3dOracleDataCenter); - -//********************************************************************************************************************************************************** -//Oracle Database Server -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dOracleDatabaseServer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dOracleDatabaseServer, mxShape); - -mxShapeAws3dOracleDatabaseServer.prototype.cst = { - ORACLE_DB_SERVER : 'mxgraph.aws3d.oracleDbServer' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dOracleDatabaseServer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /142; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dOracleDatabaseServer.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dOracleDatabaseServer.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - c.setAlpha('0.1'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.close(); - c.moveTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3308); - c.fill(); - - c.setAlpha('0.3'); - c.begin(); - c.moveTo(w * 0.5, h); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w, h * 0.3308); - c.lineTo(w, h * 0.7331); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.setFillColor('#ff0000'); - - c.begin(); - c.moveTo(0, h * 0.5586); - c.lineTo(w * 0.5, h * 0.8248); - c.lineTo(w, h * 0.5586); - c.lineTo(w, h * 0.6782); - c.lineTo(w * 0.5, h * 0.9453); - c.lineTo(0, h * 0.6782); - c.fill(); - - c.setStrokeWidth(0.5 * strokeWidth); - c.setStrokeColor('#ffffff'); - c.setFillColor('#ffffff'); - - c.begin(); - c.moveTo(0, h * 0.5586); - c.lineTo(w * 0.5, h * 0.8248); - c.lineTo(w, h * 0.5586); - c.moveTo(w, h * 0.6782); - c.lineTo(w * 0.5, h * 0.9453); - c.lineTo(0, h * 0.6782); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.0813, h * 0.6918); - c.arcTo(w * 0.0569, h * 0.0526, 0, 0, 1, w * 0.065, h * 0.6616); - c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.065, h * 0.6384); - c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.0797, h * 0.6315); - c.lineTo(w * 0.122, h * 0.6534); - c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.1358, h * 0.673); - c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.139, h * 0.7045); - c.arcTo(w * 0.0179, h * 0.0165, 0, 0, 1, w * 0.1187, h * 0.7113); - c.close(); - c.moveTo(w * 0.1163, h * 0.6992); - c.arcTo(w * 0.0089, h * 0.0082, 0, 0, 0, w * 0.1285, h * 0.6955); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.1293, h * 0.6819); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.1179, h * 0.6616); - c.lineTo(w * 0.087, h * 0.6451); - c.arcTo(w * 0.0081, h * 0.0075, 0, 0, 0, w * 0.0764, h * 0.6473); - c.arcTo(w * 0.0325, h * 0.0376, 0, 0, 0, w * 0.078, h * 0.673); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.087, h * 0.6834); - c.close(); - c.moveTo(w * 0.1439, h * 0.7256); - c.lineTo(w * 0.1439, h * 0.6654); - c.lineTo(w * 0.1846, h * 0.6872); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.1967, h * 0.6992); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2, h * 0.7203); - c.arcTo(w * 0.0138, h * 0.0165, 0, 0, 1, w * 0.1813, h * 0.7256); - c.lineTo(w * 0.1992, h * 0.7534); - c.lineTo(w * 0.187, h * 0.7481); - c.lineTo(w * 0.1577, h * 0.7029); - c.lineTo(w * 0.1854, h * 0.7165); - c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 0, w * 0.1911, h * 0.7135); - c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 0, w * 0.1894, h * 0.7037); - c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.1821, h * 0.6962); - c.lineTo(w * 0.1528, h * 0.6804); - c.lineTo(w * 0.1528, h * 0.7301); - c.close(); - c.moveTo(w * 0.2008, h * 0.7556); - c.lineTo(w * 0.2293, h * 0.7158); - c.arcTo(w * 0.0065, h * 0.006, 0, 0, 1, w * 0.2382, h * 0.7143); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2431, h * 0.724); - c.lineTo(w * 0.2699, h * 0.7902); - c.lineTo(w * 0.2602, h * 0.7872); - c.lineTo(w * 0.252, h * 0.7714); - c.lineTo(w * 0.2293, h * 0.7602); - c.lineTo(w * 0.2244, h * 0.7474); - c.lineTo(w * 0.248, h * 0.7586); - c.lineTo(w * 0.235, h * 0.7271); - c.lineTo(w * 0.2122, h * 0.7617); - c.close(); - c.moveTo(w * 0.3244, h * 0.8105); - c.lineTo(w * 0.3171, h * 0.8173); - c.lineTo(w * 0.2854, h * 0.8); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2724, h * 0.785); - c.arcTo(w * 0.0569, h * 0.0526, 0, 0, 1, w * 0.265, h * 0.7593); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2683, h * 0.7459); - c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.2829, h * 0.7405); - c.lineTo(w * 0.3228, h * 0.7609); - c.lineTo(w * 0.3179, h * 0.7684); - c.lineTo(w * 0.2878, h * 0.7526); - c.arcTo(w * 0.0081, h * 0.0075, 0, 0, 0, w * 0.2789, h * 0.7541); - c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.2748, h * 0.7684); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.2878, h * 0.7909); - c.close(); - c.moveTo(w * 0.3276, h * 0.7639); - c.lineTo(w * 0.3366, h * 0.7684); - c.lineTo(w * 0.3366, h * 0.8173); - c.lineTo(w * 0.3805, h * 0.8406); - c.lineTo(w * 0.3748, h * 0.8473); - c.lineTo(w * 0.3317, h * 0.8248); - c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.3276, h * 0.8158); - c.close(); - c.moveTo(w * 0.435, h * 0.8692); - c.lineTo(w * 0.4325, h * 0.8789); - c.lineTo(w * 0.3959, h * 0.8594); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.3862, h * 0.8466); - c.arcTo(w * 0.0528, h * 0.0489, 0, 0, 1, w * 0.3805, h * 0.806); - c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.3951, h * 0.8008); - c.lineTo(w * 0.435, h * 0.821); - c.lineTo(w * 0.4285, h * 0.827); - c.lineTo(w * 0.4008, h * 0.8127); - c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.3878, h * 0.8196); - c.lineTo(w * 0.4333, h * 0.8443); - c.lineTo(w * 0.426, h * 0.8512); - c.lineTo(w * 0.3878, h * 0.8308); - c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.3976, h * 0.8489); - c.close(); - - c.moveTo(w * 0.6171, h * 0.7932); - c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.6366, h * 0.7963); - c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 1, w * 0.639, h * 0.8188); - c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.6211, h * 0.8497); - c.lineTo(w * 0.5894, h * 0.8677); - c.arcTo(w * 0.0203, h * 0.0188, 0, 0, 1, w * 0.565, h * 0.8646); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.5659, h * 0.8354); - c.arcTo(w * 0.0488, h * 0.0451, 0, 0, 1, w * 0.5805, h * 0.8127); - c.close(); - c.moveTo(w * 0.5886, h * 0.8181); - c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.5748, h * 0.8368); - c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.574, h * 0.8527); - c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.587, h * 0.8586); - c.lineTo(w * 0.6163, h * 0.8428); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.6285, h * 0.8248); - c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.6293, h * 0.8105); - c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.6163, h * 0.803); - c.close(); - c.moveTo(w * 0.64, h * 0.8398); - c.lineTo(w * 0.64, h * 0.779); - c.lineTo(w * 0.6854, h * 0.7563); - c.arcTo(w * 0.0106, h * 0.0098, 0, 0, 1, w * 0.7008, h * 0.7632); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.6959, h * 0.7865); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.6805, h * 0.8); - c.lineTo(w * 0.6992, h * 0.8097); - c.lineTo(w * 0.6854, h * 0.8166); - c.lineTo(w * 0.6569, h * 0.8015); - c.lineTo(w * 0.6805, h * 0.7887); - c.arcTo(w * 0.0203, h * 0.0188, 0, 0, 0, w * 0.6894, h * 0.7782); - c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.6894, h * 0.7699); - c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 0, w * 0.6837, h * 0.7684); - c.lineTo(w * 0.6528, h * 0.7842); - c.lineTo(w * 0.6528, h * 0.8331); - c.close(); - c.moveTo(w * 0.7, h * 0.8082); - c.lineTo(w * 0.7301, h * 0.7338); - c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 1, w * 0.7358, h * 0.7271); - c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 1, w * 0.7415, h * 0.7316); - c.lineTo(w * 0.7699, h * 0.7707); - c.lineTo(w * 0.7602, h * 0.7766); - c.lineTo(w * 0.7537, h * 0.7692); - c.lineTo(w * 0.7276, h * 0.782); - c.lineTo(w * 0.7228, h * 0.7736); - c.lineTo(w * 0.748, h * 0.7617); - c.lineTo(w * 0.7358, h * 0.7421); - c.lineTo(w * 0.7114, h * 0.803); - c.close(); - c.moveTo(w * 0.8244, h * 0.7316); - c.lineTo(w * 0.8171, h * 0.7459); - c.lineTo(w * 0.7894, h * 0.7609); - c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 1, w * 0.7683, h * 0.7593); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.7667, h * 0.7338); - c.arcTo(w * 0.0488, h * 0.0452, 0, 0, 1, w * 0.7937, h * 0.697); - c.lineTo(w * 0.822, h * 0.6834); - c.lineTo(w * 0.8171, h * 0.6962); - c.lineTo(w * 0.7902, h * 0.7113); - c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.778, h * 0.7256); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.7756, h * 0.7444); - c.arcTo(w * 0.0077, h * 0.0072, 0, 0, 0, w * 0.787, h * 0.7512); - c.close(); - c.moveTo(w * 0.8366, h * 0.6742); - c.lineTo(w * 0.8366, h * 0.7248); - c.lineTo(w * 0.878, h * 0.7043); - c.lineTo(w * 0.874, h * 0.7158); - c.lineTo(w * 0.8333, h * 0.7368); - c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 1, w * 0.8268, h * 0.7324); - c.lineTo(w * 0.8268, h * 0.6804); - c.close(); - c.moveTo(w * 0.9342, h * 0.6233); - c.lineTo(w * 0.9293, h * 0.6369); - c.lineTo(w * 0.9033, h * 0.6503); - c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.8927, h * 0.6601); - c.arcTo(w * 0.0406, h * 0.0376, 0, 0, 0, w * 0.887, h * 0.6729); - c.lineTo(w * 0.9309, h * 0.6503); - c.lineTo(w * 0.9268, h * 0.6631); - c.lineTo(w * 0.887, h * 0.6834); - c.arcTo(w * 0.0089, h * 0.0082, 0, 0, 0, w * 0.8992, h * 0.691); - c.lineTo(w * 0.935, h * 0.6722); - c.lineTo(w * 0.9285, h * 0.6864); - c.lineTo(w * 0.9008, h * 0.7007); - c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.8829, h * 0.7015); - c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.8764, h * 0.6827); - c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.8959, h * 0.6443); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.moveTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.267); - c.moveTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.moveTo(w, h * 0.3346); - c.lineTo(w * 0.87, h * 0.267); - c.moveTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.622, h * 0.4023); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dOracleDatabaseServer.prototype.cst.ORACLE_DB_SERVER, mxShapeAws3dOracleDatabaseServer);//zzz - -//********************************************************************************************************************************************************** -//RDS Master -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dRdsMaster(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dRdsMaster, mxShape); - -mxShapeAws3dRdsMaster.prototype.cst = { - RDS_MASTER : 'mxgraph.aws3d.rdsMaster', - SHADIG_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dRdsMaster.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /133; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dRdsMaster.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dRdsMaster.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRdsMaster.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.close(); - c.moveTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3308); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w, h * 0.3308); - c.lineTo(w, h * 0.7331); - c.close(); - c.fill(); - - c.restore(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.1878, h * 0.1932); - c.lineTo(w * 0.4854, h * 0.0414); - c.lineTo(w * 0.5886, h * 0.094); - c.lineTo(w * 0.4455, h * 0.2308); - c.lineTo(w * 0.7122, h * 0.1579); - c.lineTo(w * 0.8171, h * 0.2098); - c.lineTo(w * 0.5187, h * 0.3617); - c.lineTo(w * 0.4537, h * 0.3293); - c.lineTo(w * 0.7016, h * 0.2053); - c.lineTo(w * 0.3854, h * 0.2947); - c.lineTo(w * 0.3187, h * 0.2602); - c.lineTo(w * 0.4959, h * 0.0992); - c.lineTo(w * 0.2504, h * 0.2256); - c.close(); - c.fill(); - - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.moveTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.267); - c.moveTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.moveTo(w, h * 0.3346); - c.lineTo(w * 0.87, h * 0.267); - c.moveTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.622, h * 0.4023); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dRdsMaster.prototype.cst.RDS_MASTER, mxShapeAws3dRdsMaster); - -//********************************************************************************************************************************************************** -//RDS -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dRds(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dRds, mxShape); - -mxShapeAws3dRds.prototype.cst = { - RDS : 'mxgraph.aws3d.rds', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dRds.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /133; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dRds.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dRds.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRds.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.close(); - c.moveTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3308); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w, h * 0.3308); - c.lineTo(w, h * 0.7331); - c.close(); - c.fill(); - - c.restore(); - - c.setFillColor('#ffffff'); - c.setShadow(false); - c.begin(); - c.moveTo(0, h * 0.6053); - c.lineTo(w * 0.5, h * 0.8722); - c.lineTo(w, h * 0.6053); - c.lineTo(w, h * 0.6278); - c.lineTo(w * 0.5, h * 0.8947); - c.lineTo(0, h * 0.6278); - c.close(); - c.fill(); - - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.moveTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.267); - c.moveTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.moveTo(w, h * 0.3346); - c.lineTo(w * 0.87, h * 0.267); - c.moveTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.622, h * 0.4023); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dRds.prototype.cst.RDS, mxShapeAws3dRds); - -//********************************************************************************************************************************************************** -//Route 53 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dRoute53(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dRoute53, mxShape); - -mxShapeAws3dRoute53.prototype.cst = { - ROUTE_53 : 'mxgraph.aws3d.route53', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dRoute53.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 117; - var strokeWidth2 = strokeWidth * h /134.4; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dRoute53.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6994); - c.lineTo(0, h * 0.2009); - c.lineTo(w * 0.0427, h * 0.0781); - c.lineTo(w * 0.7974, 0); - c.lineTo(w, h * 0.1004); - c.lineTo(w, h * 0.5915); - c.lineTo(w * 0.8376, h * 0.9784); - c.lineTo(w * 0.5983, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dRoute53.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRoute53.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.2009); - c.lineTo(w * 0.6009, h * 0.5007); - c.lineTo(w * 0.8376, h * 0.4799); - c.lineTo(w * 0.8376, h * 0.9784); - c.lineTo(w * 0.5966, h); - c.lineTo(0, h * 0.6979); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.8348, h * 0.4861); - c.lineTo(w * 0.9985, h * 0.0992); - c.lineTo(w, h * 0.5952); - c.lineTo(w * 0.8404, h * 0.9747); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.5855, h * 0.1079); - c.arcTo(w * 0.094, h * 0.0744, 0, 0, 0, w * 0.6863, h * 0.1548); - c.arcTo(w * 0.0855, h * 0.0446, 0, 0, 0, w * 0.7761, h * 0.2031); - c.lineTo(w * 0.7726, h * 0.2455); - c.arcTo(w * 0.0769, h * 0.0298, 0, 0, 0, w * 0.694, h * 0.2693); - c.arcTo(w * 0.0684, h * 0.0446, 0, 0, 1, w * 0.5897, h * 0.3051); - c.arcTo(w * 0.4274, h * 0.372, 0, 0, 0, w * 0.4573, h * 0.2753); - c.arcTo(w * 0.0855, h * 0.0744, 0, 0, 0, w * 0.4188, h * 0.2344); - c.lineTo(w * 0.3846, h * 0.2083); - c.arcTo(w * 0.0769, h * 0.0372, 0, 0, 1, w * 0.4103, h * 0.1525); - c.arcTo(w * 0.0855, h * 0.0409, 0, 0, 0, w * 0.4906, h * 0.1079); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, h * 0.2009); - c.lineTo(w * 0.6009, h * 0.5007); - c.lineTo(w * 0.8376, h * 0.4799); - c.lineTo(w * 0.8376, h * 0.9784); - c.lineTo(w * 0.5966, h); - c.lineTo(0, h * 0.6979); - c.close(); - c.moveTo(w * 0.8348, h * 0.4861); - c.lineTo(w * 0.9985, h * 0.0992); - c.lineTo(w, h * 0.5952); - c.lineTo(w * 0.8404, h * 0.9747); - c.close(); - c.moveTo(w * 0.6009, h * 0.5007); - c.lineTo(w * 0.6009, h); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.6994); - c.lineTo(0, h * 0.2009); - c.lineTo(w * 0.0427, h * 0.0781); - c.lineTo(w * 0.7974, 0); - c.lineTo(w, h * 0.1004); - c.lineTo(w, h * 0.5915); - c.lineTo(w * 0.8376, h * 0.9784); - c.lineTo(w * 0.5983, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dRoute53.prototype.cst.ROUTE_53, mxShapeAws3dRoute53); - -//********************************************************************************************************************************************************** -//S3 Bucket -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dS3Bucket(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dS3Bucket, mxShape); - -mxShapeAws3dS3Bucket.prototype.cst = { - S3_BUCKET : 'mxgraph.aws3d.s3Bucket', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dS3Bucket.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 61.5; - var strokeWidth2 = strokeWidth * h / 63.8; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.2774); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.2774); - c.lineTo(w * 0.7967, h * 0.8307); - c.lineTo(w * 0.5, h); - c.lineTo(w * 0.1951, h * 0.8307); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dS3Bucket.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.2774); - c.lineTo(w * 0.5, h * 0.5564); - c.lineTo(w * 0.5, h); - c.lineTo(w * 0.1984, h * 0.8307); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h * 0.5533); - c.lineTo(w, h * 0.2774); - c.lineTo(w * 0.7967, h * 0.8307); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.2774); - c.lineTo(w * 0.5, h * 0.5564); - c.lineTo(w, h * 0.2774); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.5564); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.2774); - c.lineTo(w * 0.5008, 0); - c.lineTo(w, h * 0.2774); - c.lineTo(w * 0.7967, h * 0.8307); - c.lineTo(w * 0.5008, h); - c.lineTo(w * 0.1951, h * 0.8307); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dS3Bucket.prototype.cst.S3_BUCKET, mxShapeAws3dS3Bucket); - -//********************************************************************************************************************************************************** -//S3 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dS3(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dS3, mxShape); - -mxShapeAws3dS3.prototype.cst = { - S3 : 'mxgraph.aws3d.s3', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dS3.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 231.5; - var strokeWidth2 = strokeWidth * h / 239; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dS3.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7782); - c.lineTo(0, h * 0.3406); - c.lineTo(w * 0.5974, 0); - c.lineTo(w, h * 0.2218); - c.lineTo(w, h * 0.6674); - c.lineTo(w * 0.3991, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dS3.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dS3.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.3406); - c.lineTo(w * 0.3991, h * 0.5548); - c.lineTo(w * 0.3991, h); - c.lineTo(0, h * 0.7782); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.3991, h * 0.5548); - c.lineTo(w, h * 0.2218); - c.lineTo(w, h * 0.6661); - c.lineTo(w * 0.3991, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.3406); - c.lineTo(w * 0.3991, h * 0.5548); - c.lineTo(w, h * 0.2218); - c.moveTo(w * 0.3991, h * 0.5548); - c.lineTo(w * 0.3991, h); - c.moveTo(w * 0.3991, h * 0.3335); - c.lineTo(w * 0.2009, h * 0.448); - c.lineTo(w * 0.2009, h * 0.8891); - c.moveTo(w * 0.5983, h * 0.2209); - c.lineTo(w * 0.7948, h * 0.1109); - c.moveTo(w * 0.2022, h * 0.2218); - c.lineTo(w * 0.5991, h * 0.4448); - c.lineTo(w * 0.5991, h * 0.8891); - c.moveTo(w * 0.4004, h * 0.1117); - c.lineTo(w * 0.7978, h * 0.3335); - c.lineTo(w * 0.7978, h * 0.7791); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.4773, h * 0.2155); - c.arcTo(w * 0.0086, h * 0.0046, 0, 0, 1, w * 0.4903, h * 0.2096); - c.arcTo(w * 0.2808, h * 0.272, 0, 0, 1, w * 0.6004, h * 0.2619); - c.arcTo(w * 0.108, h * 0.105, 0, 0, 1, w * 0.6177, h * 0.277); - c.arcTo(w * 0.0065, h * 0.0063, 0, 0, 1, w * 0.6099, h * 0.2879); - c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.5378, h * 0.2607); - c.arcTo(w * 0.216, h * 0.2092, 0, 0, 1, w * 0.4773, h * 0.2155); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w * 0.4687, h * 0.2138); - c.arcTo(w * 0.1512, h * 0.1464, 0, 0, 0, w * 0.4838, h * 0.2343); - c.arcTo(w * 0.2376, h * 0.2301, 0, 0, 0, w * 0.5529, h * 0.2774); - c.arcTo(w * 0.1728, h * 0.1674, 0, 0, 0, w * 0.6091, h * 0.2954); - c.lineTo(w * 0.4946, h * 0.3339); - c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.4549, h * 0.3205); - c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.419, h * 0.3004); - c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.3965, h * 0.2795); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7782); - c.lineTo(0, h * 0.3406); - c.lineTo(w * 0.5974, 0); - c.lineTo(w, h * 0.2218); - c.lineTo(w, h * 0.6674); - c.lineTo(w * 0.3991, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dS3.prototype.cst.S3, mxShapeAws3dS3); - -//********************************************************************************************************************************************************** -//SimpleDB -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dSimpleDB(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dSimpleDB, mxShape); - -mxShapeAws3dSimpleDB.prototype.cst = { - SIMPLE_DB : 'mxgraph.aws3d.simpleDb', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dSimpleDB.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /133; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dSimpleDB.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dSimpleDB.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSimpleDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.close(); - c.moveTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3308); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w, h * 0.3308); - c.lineTo(w, h * 0.7331); - c.close(); - c.fill(); - - c.restore(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.1821, h * 0.182); - c.lineTo(w * 0.4659, h * 0.0308); - c.lineTo(w * 0.822, h * 0.2218); - c.lineTo(w * 0.539, h * 0.3714); - c.close(); - c.fill(); - - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.moveTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.267); - c.moveTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.moveTo(w, h * 0.3346); - c.lineTo(w * 0.87, h * 0.267); - c.moveTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.622, h * 0.4023); - c.stroke(); - - c.restore(); - c.setShadow(false); - var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff'); - c.setStrokeColor(fillColor); - c.setStrokeWidth(2.2 * strokeWidth); - c.begin(); - c.moveTo(w * 0.2382, h * 0.2218); - c.lineTo(w * 0.5415, h * 0.0602); - - c.moveTo(w * 0.3821, h * 0.0564); - c.lineTo(w * 0.7737, h * 0.2656); - - c.moveTo(w * 0.2967, h * 0.0915); - c.lineTo(w * 0.7114, h * 0.312); - - c.moveTo(w * 0.2209, h * 0.1316); - c.lineTo(w * 0.6179, h * 0.3434); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dSimpleDB.prototype.cst.SIMPLE_DB, mxShapeAws3dSimpleDB); - -//********************************************************************************************************************************************************** -//SQS -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dSqs(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dSqs, mxShape); - -mxShapeAws3dSqs.prototype.cst = { - SQS : 'mxgraph.aws3d.sqs', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dSqs.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 184; - var strokeWidth2 = strokeWidth * h / 212.75; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dSqs.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7485); - c.lineTo(0, h * 0.584); - c.lineTo(w * 0.1658, h * 0.1666); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.8337, h * 0.1666); - c.lineTo(w, h * 0.584); - c.lineTo(w, h * 0.7485); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dSqs.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSqs.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.1658, h * 0.1671); - c.lineTo(w * 0.5, h * 0.334); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7485); - c.lineTo(0, h * 0.584); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h * 0.3344); - c.lineTo(w * 0.8332, h * 0.1671); - c.lineTo(w, h * 0.584); - c.lineTo(w, h * 0.7509); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.6674, h * 0.0844); - c.lineTo(w * 0.3337, h * 0.2512); - c.lineTo(w * 0.25, h * 0.7109); - c.lineTo(w * 0.25, h * 0.8736); - - c.moveTo(w * 0.3326, h * 0.0839); - c.lineTo(w * 0.6674, h * 0.2512); - c.lineTo(w * 0.75, h * 0.7053); - c.lineTo(w * 0.75, h * 0.874); - - c.moveTo(0, h * 0.584); - c.lineTo(w * 0.5, h * 0.8331); - c.lineTo(w, h * 0.584); - - c.moveTo(w * 0.1658, h * 0.1671); - c.lineTo(w * 0.5, h * 0.334); - c.lineTo(w * 0.8332, h * 0.1671); - - c.moveTo(w * 0.5, h * 0.334); - c.lineTo(w * 0.5, h); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.3337, h * 0.1511); - c.lineTo(w * 0.4668, h * 0.0848); - c.lineTo(w * 0.6663, h * 0.184); - c.lineTo(w * 0.5337, h * 0.2503); - c.close(); - c.fill(); - - var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#000000'); - c.setFillColor(fillColor); - - c.begin(); - c.moveTo(w * 0.3902, h * 0.153); - c.lineTo(w * 0.4701, h * 0.113); - c.lineTo(w * 0.4701, h * 0.153); - c.close(); - c.moveTo(w * 0.4402, h * 0.1784); - c.lineTo(w * 0.5196, h * 0.1384); - c.lineTo(w * 0.5196, h * 0.1784); - c.close(); - c.moveTo(w * 0.4908, h * 0.2033); - c.lineTo(w * 0.5701, h * 0.1633); - c.lineTo(w * 0.5701, h * 0.2033); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7485); - c.lineTo(0, h * 0.584); - c.lineTo(w * 0.1658, h * 0.1666); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.8337, h * 0.1666); - c.lineTo(w, h * 0.584); - c.lineTo(w, h * 0.7485); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dSqs.prototype.cst.SQS, mxShapeAws3dSqs); - -//********************************************************************************************************************************************************** -//VPC Gateway -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dVpcGateway(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dVpcGateway, mxShape); - -mxShapeAws3dVpcGateway.prototype.cst = { - VPC_GATEWAY : 'mxgraph.aws3d.vpcGateway', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dVpcGateway.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 116.7; - var strokeWidth2 = strokeWidth * h / 102.8; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dVpcGateway.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.5801, h * 0.5447); - c.lineTo(w * 0.5801, h * 0.035); - c.lineTo(w * 0.1054, 0); - c.lineTo(0, h * 0.0691); - c.lineTo(0, h * 0.4134); - c.lineTo(w * 0.3188, h * 0.7247); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.save(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dVpcGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5801, h * 0.5447); - c.lineTo(w * 0.5801, h * 0.035); - c.lineTo(w * 0.3162, h * 0.2072); - c.lineTo(w * 0.3162, h * 0.7247); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - c.begin(); - c.moveTo(w * 0.3162, h * 0.2072); - c.lineTo(0, h * 0.0691); - c.lineTo(0, h * 0.4134); - c.lineTo(w * 0.3162, h * 0.7247); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.begin(); - c.moveTo(w * 0.5801, h * 0.5447); - c.lineTo(w * 0.5801, h * 0.035); - c.lineTo(w * 0.3162, h * 0.2072); - c.lineTo(w * 0.3162, h * 0.7247); - c.close(); - c.stroke(); - - c.restore(); - c.setLineJoin('round'); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.3162, h * 0.2072); - c.lineTo(0, h * 0.0691); - c.lineTo(0, h * 0.4134); - c.lineTo(w * 0.3162, h * 0.7247); - c.close(); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(w * 0.5801, h * 0.5447); - c.lineTo(w * 0.5801, h * 0.035); - c.lineTo(w * 0.1054, 0); - c.lineTo(0, h * 0.0691); - c.lineTo(0, h * 0.4134); - c.lineTo(w * 0.3188, h * 0.7247); - c.close(); - c.stroke(); - - c.restore(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w, h * 0.929); - c.lineTo(w, h * 0.5866); - c.lineTo(w * 0.6829, h * 0.1031); - c.lineTo(w * 0.4216, h * 0.2753); - c.lineTo(w * 0.4216, h * 0.7928); - c.lineTo(w * 0.8946, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dVpcGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setShadow(false); - c.setLineJoin('round'); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dVpcGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - - c.begin(); - c.moveTo(w, h * 0.929); - c.lineTo(w, h * 0.5866); - c.lineTo(w * 0.8946, h * 0.6537); - c.lineTo(w * 0.8946, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - c.begin(); - c.moveTo(w * 0.8946, h); - c.lineTo(w * 0.8946, h * 0.6537); - c.lineTo(w * 0.4216, h * 0.2753); - c.lineTo(w * 0.4216, h * 0.7928); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w, h * 0.929); - c.lineTo(w, h * 0.5866); - c.lineTo(w * 0.8946, h * 0.6537); - c.lineTo(w * 0.8946, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.8946, h); - c.lineTo(w * 0.8946, h * 0.6537); - c.lineTo(w * 0.4216, h * 0.2753); - c.lineTo(w * 0.4216, h * 0.7928); - c.close(); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w, h * 0.929); - c.lineTo(w, h * 0.5866); - c.lineTo(w * 0.6829, h * 0.1031); - c.lineTo(w * 0.4216, h * 0.2753); - c.lineTo(w * 0.4216, h * 0.7928); - c.lineTo(w * 0.8946, h); - c.close(); - c.stroke(); - - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.5587, h * 0.7743); - c.lineTo(w * 0.5587, h * 0.6274); - c.lineTo(w * 0.5775, h * 0.6342); - c.lineTo(w * 0.5775, h * 0.57); - c.arcTo(w * 0.0428, h * 0.0486, 0, 0, 1, w * 0.6058, h * 0.5253); - c.arcTo(w * 0.0686, h * 0.0778, 0, 0, 1, w * 0.6564, h * 0.5447); - c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.6847, h * 0.607); - c.lineTo(w * 0.6847, h * 0.6877); - c.lineTo(w * 0.7001, h * 0.6946); - c.lineTo(w * 0.7001, h * 0.8405); - c.close(); - c.moveTo(w * 0.6564, h * 0.6741); - c.lineTo(w * 0.6564, h * 0.6177); - c.arcTo(w * 0.06, h * 0.0681, 0, 0, 0, w * 0.6392, h * 0.57); - c.arcTo(w * 0.0343, h * 0.0389, 0, 0, 0, w * 0.6195, h * 0.5574); - c.arcTo(w * 0.0111, h * 0.0126, 0, 0, 0, w * 0.6058, h * 0.5691); - c.lineTo(w * 0.6058, h * 0.6498); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dVpcGateway.prototype.cst.VPC_GATEWAY, mxShapeAws3dVpcGateway); - -//********************************************************************************************************************************************************** -//Web Server -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dWebServer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dWebServer, mxShape); - -mxShapeAws3dWebServer.prototype.cst = { - WEB_SERVER : 'mxgraph.aws3d.webServer', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dWebServer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h / 106; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dWebServer.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6651); - c.lineTo(0, h * 0.3349); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3349); - c.lineTo(w, h * 0.6651); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dWebServer.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWebServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.3349); - c.lineTo(w * 0.5, h * 0.6651); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.6651); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h * 0.6651); - c.lineTo(w, h * 0.3349); - c.lineTo(w, h * 0.6651); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.3349); - c.lineTo(w * 0.5, h * 0.6651); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.6651); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.6651); - c.lineTo(w, h * 0.3349); - c.lineTo(w, h * 0.6651); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.374, h * 0.5189); - c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.374, h * 0.4858); - c.lineTo(w * 0.4797, h * 0.4151); - c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.5203, h * 0.4151); - c.lineTo(w * 0.626, h * 0.4858); - c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.626, h * 0.516); - c.lineTo(w * 0.5203, h * 0.5868); - c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.4797, h * 0.5868); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6651); - c.lineTo(0, h * 0.3349); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3349); - c.lineTo(w, h * 0.6651); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dWebServer.prototype.cst.WEB_SERVER, mxShapeAws3dWebServer); - -//********************************************************************************************************************************************************** -//DynamoDB -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dDynamoDB(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dDynamoDB, mxShape); - -mxShapeAws3dDynamoDB.prototype.cst = { - DYNAMO_DB : 'mxgraph.aws3d.dynamoDb', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dDynamoDB.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 181.5; - var strokeWidth2 = strokeWidth * h / 210; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dDynamoDB.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.8333); - c.lineTo(0, h * 0.1667); - c.lineTo(w * 0.3333, h * 0.0014); - c.lineTo(w * 0.4986, h * 0.1667); - c.lineTo(w * 0.6639, 0); - c.lineTo(w, h * 0.169); - c.lineTo(w, h * 0.8333); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5014, h * 0.9162); - c.lineTo(w * 0.3333, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dDynamoDB.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDynamoDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.168, h * 0.3333); - c.lineTo(0, h * 0.3333); - c.lineTo(w * 0.3333, h * 0.5); - c.lineTo(w * 0.3333, h); - c.lineTo(0, h * 0.8333); - c.lineTo(0, h * 0.1714); - c.close(); - c.moveTo(w * 0.4986, h * 0.1667); - c.lineTo(w * 0.6667, 0); - c.lineTo(w, h * 0.169); - c.lineTo(w * 0.832, h * 0.3348);// - c.lineTo(w, h * 0.3333); - c.lineTo(w * 0.6667, h * 0.5); - c.lineTo(w * 0.5014, h * 0.5); - c.lineTo(w * 0.832, h * 0.3348); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.3333, h * 0.5); - c.lineTo(w * 0.4986, h * 0.5); - c.lineTo(w * 0.4986, h * 0.9162); - c.lineTo(w * 0.3333, h); - c.close(); - c.moveTo(w * 0.6667, h); - c.lineTo(w * 0.6667, h * 0.5); - c.lineTo(w, h * 0.3333); - c.lineTo(w * 0.832, h * 0.3348); - c.lineTo(w, h * 0.169); - c.lineTo(w, h * 0.831); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.168, h * 0.3333); - c.lineTo(0, h * 0.3333); - c.lineTo(w * 0.3333, h * 0.5); - c.lineTo(w * 0.3333, h); - c.lineTo(0, h * 0.8333); - c.lineTo(0, h * 0.1714); - c.close(); - c.moveTo(w * 0.4986, h * 0.1667); - c.lineTo(w * 0.6667, 0); - c.lineTo(w, h * 0.169); - c.lineTo(w * 0.832, h * 0.3348); - c.lineTo(w, h * 0.3333); - c.lineTo(w * 0.6667, h * 0.5); - c.lineTo(w * 0.5014, h * 0.5); - c.lineTo(w * 0.832, h * 0.3348); - c.close(); - c.moveTo(w * 0.3333, h * 0.5); - c.lineTo(w * 0.4986, h * 0.5); - c.lineTo(w * 0.4986, h * 0.9162); - c.lineTo(w * 0.3333, h); - c.close(); - c.moveTo(w * 0.6667, h); - c.lineTo(w * 0.6667, h * 0.5); - c.lineTo(w, h * 0.3333); - c.lineTo(w, h * 0.831); - c.close(); - c.moveTo(w * 0.168, h * 0.3333); - c.lineTo(w * 0.5, h * 0.1667); - c.moveTo(w * 0.168, h * 0.3333); - c.lineTo(w * 0.5014, h * 0.5); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.4876, h * 0.2262); - c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.5647, h * 0.25); - c.arcTo(w * 0.4407, h * 0.381, 0, 0, 1, w * 0.6419, h * 0.2905); - c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.6799, h * 0.32); - c.arcTo(w * 0.0132, h * 0.0076, 0, 0, 1, w * 0.6634, h * 0.3314); - c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.5978, h * 0.3119); - c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.508, h * 0.2667); - c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.4711, h * 0.2343); - c.arcTo(w * 0.0132, h * 0.0076, 0, 0, 1, w * 0.4876, h * 0.2262); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(w * 0.5124, h * 0.4143); - c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 1, w * 0.4683, h * 0.4095); - c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.3829, h * 0.3757); - c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.3196, h * 0.3371); - c.arcTo(w * 0.0661, h * 0.0357, 0, 0, 1, w * 0.3058, h * 0.3081); - c.lineTo(w * 0.4612, h * 0.2333); - c.arcTo(w * 0.0661, h * 0.0476, 0, 0, 0, w * 0.4744, h * 0.2548); - c.arcTo(w * 0.3306, h * 0.2857, 0, 0, 0, w * 0.53, h * 0.2905); - c.arcTo(w * 0.4408, h * 0.381, 0, 0, 0, w * 0.6198, h * 0.3295); - c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.665, h * 0.3367); - c.close(); - c.moveTo(w * 0.5052, h * 0.3714); - c.arcTo(w * 0.0275, h * 0.019, 0, 0, 1, w * 0.5135, h * 0.3581); - c.arcTo(w * 0.0275, h * 0.0238, 0, 0, 1, w * 0.5344, h * 0.3571); - c.lineTo(w * 0.5405, h * 0.3471); - c.arcTo(w * 0.0275, h * 0.0143, 0, 0, 1, w * 0.5278, h * 0.3381); - c.arcTo(w * 0.022, h * 0.0119, 0, 0, 1, w * 0.5372, h * 0.3271); - c.lineTo(w * 0.5306, h * 0.3186); - c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.5041, h * 0.3143); - c.arcTo(w * 0.0275, h * 0.0143, 0, 0, 1, w * 0.4975, h * 0.3029); - c.lineTo(w * 0.4777, h * 0.2995); - c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4628, h * 0.3033); - c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4408, h * 0.2967); - c.lineTo(w * 0.4187, h * 0.3); - c.arcTo(w * 0.011, h * 0.0081, 0, 0, 1, w * 0.4132, h * 0.3124); - c.arcTo(w * 0.0386, h * 0.0333, 0, 0, 1, w * 0.395, h * 0.3129); - c.lineTo(w * 0.3873, h * 0.3224); - c.arcTo(w * 0.0165, h * 0.0143, 0, 0, 1, w * 0.3994, h * 0.3333); - c.arcTo(w * 0.0138, h * 0.0119, 0, 0, 1, w * 0.3901, h * 0.3433); - c.lineTo(w * 0.3994, h * 0.3514); - c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4215, h * 0.3548); - c.arcTo(w * 0.0165, h * 0.0119, 0, 0, 1, w * 0.4298, h * 0.3667); - c.lineTo(w * 0.449, h * 0.3714); - c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4711, h * 0.3657); - c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4887, h * 0.3724); - c.close(); - c.moveTo(w * 0.4986, h * 0.351); - c.arcTo(w * 0.0441, h * 0.0381, 0, 0, 1, w * 0.4804, h * 0.3552); - c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 1, w * 0.443, h * 0.349); - c.lineTo(w * 0.4413, h * 0.3529); - c.lineTo(w * 0.4242, h * 0.3371); - c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4545, h * 0.3462); - c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4793, h * 0.3476); - c.arcTo(w * 0.0441, h * 0.0381, 0, 0, 0, w * 0.4986, h * 0.3448); - c.close(); - c.moveTo(w * 0.503, h * 0.3349); - c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4766, h * 0.3233); - c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 0, w * 0.4529, h * 0.32); - c.arcTo(w * 0.0551, h * 0.0476, 0, 0, 0, w * 0.4325, h * 0.3238); - c.lineTo(w * 0.427, h * 0.3195); - c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 1, w * 0.4556, h * 0.3157); - c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 1, w * 0.4851, h * 0.3232); - c.lineTo(w * 0.4876, h * 0.3181); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.8333); - c.lineTo(0, h * 0.1667); - c.lineTo(w * 0.3333, h * 0.0014); - c.lineTo(w * 0.4986, h * 0.1667); - c.lineTo(w * 0.6639, 0); - c.lineTo(w, h * 0.169); - c.lineTo(w, h * 0.8333); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5014, h * 0.9162); - c.lineTo(w * 0.3333, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dDynamoDB.prototype.cst.DYNAMO_DB, mxShapeAws3dDynamoDB); - -//********************************************************************************************************************************************************** -//Elastic MapReduce -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dElasticMapReduce(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dElasticMapReduce, mxShape); - -mxShapeAws3dElasticMapReduce.prototype.cst = { - ELASTIC_MAP_REDUCE : 'mxgraph.aws3d.elasticMapReduce', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dElasticMapReduce.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /133; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dElasticMapReduce.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dElasticMapReduce.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDynamoDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.close(); - c.moveTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3308); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w, h * 0.3308); - c.lineTo(w, h * 0.7331); - c.close(); - c.fill(); - - c.restore(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.3336, h * 0.1789); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.359, h * 0.1789); - c.lineTo(w * 0.4001, h * 0.2015); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4008, h * 0.2135); - c.lineTo(w * 0.3574, h * 0.2368); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.3352, h * 0.2368); - c.lineTo(w * 0.2934, h * 0.2143); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.2934, h * 0.2015); - c.close(); - c.moveTo(w * 0.3705, h * 0.1729); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.3705, h * 0.1602); - c.lineTo(w * 0.4139, h * 0.1368); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4336, h * 0.1368); - c.lineTo(w * 0.4811, h * 0.1617); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4811, h * 0.1708); - c.lineTo(w * 0.4328, h * 0.1955); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4156, h * 0.1955); - c.close(); - c.moveTo(w * 0.4467, h * 0.1308); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4467, h * 0.1203); - c.lineTo(w * 0.491, h * 0.0962); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5123, h * 0.0962); - c.lineTo(w * 0.559, h * 0.1203); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.559, h * 0.1293); - c.lineTo(w * 0.5123, h * 0.1549); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4918, h * 0.1549); - c.close(); - c.moveTo(w * 0.568, h * 0.1383); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5918, h * 0.1383); - c.lineTo(w * 0.6361, h * 0.1624); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6366, h * 0.1714); - c.lineTo(w * 0.5885, h * 0.1955); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.568, h * 0.1955); - c.lineTo(w * 0.523, h * 0.1714); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.523, h * 0.1616); - c.close(); - c.moveTo(w * 0.6451, h * 0.1789); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.6697, h * 0.1789); - c.lineTo(w * 0.7123, h * 0.2023); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.7123, h * 0.2128); - c.lineTo(w * 0.6664, h * 0.2376); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.6492, h * 0.2376); - c.lineTo(w * 0.6016, h * 0.2135); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6016, h * 0.2023); - c.close(); - c.moveTo(w * 0.6369, h * 0.2451); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6369, h * 0.2526); - c.lineTo(w * 0.5172, h * 0.3173); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4893, h * 0.3173); - c.lineTo(w * 0.3697, h * 0.2541); - c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.3697, h * 0.2436); - c.lineTo(w * 0.4918, h * 0.1782); - c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5131, h * 0.1782); - c.close(); - c.fill(); - - c.moveTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.arcTo(w * 0., h * 0., 0, 0, 1, w * 0., h * 0.); - - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.moveTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.267); - c.moveTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.moveTo(w, h * 0.3346); - c.lineTo(w * 0.87, h * 0.267); - c.moveTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.622, h * 0.4023); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dElasticMapReduce.prototype.cst.ELASTIC_MAP_REDUCE, mxShapeAws3dElasticMapReduce); - -//********************************************************************************************************************************************************** -//RDS Slave -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dRdsSlave(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dRdsSlave, mxShape); - -mxShapeAws3dRdsSlave.prototype.cst = { - RDS_SLAVE : 'mxgraph.aws3d.rdsSlave' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dRdsSlave.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /133; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dRdsSlave.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dRdsSlave.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - c.setAlpha('0.1'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.close(); - c.moveTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3308); - c.fill(); - - c.setAlpha('0.3'); - c.begin(); - c.moveTo(w * 0.5, h); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w, h * 0.3308); - c.lineTo(w, h * 0.7331); - c.close(); - c.fill(); - - c.restore(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.2457, h * 0.2137); - c.lineTo(w * 0.5393, h * 0.0593); - c.lineTo(w * 0.6875, h * 0.1377); - c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 1, w * 0.7137, h * 0.1625); - c.arcTo(w * 0.0348, h * 0.032, 0, 0, 1, w * 0.7076, h * 0.1968); - c.arcTo(w * 0.1743, h * 0.1599, 0, 0, 1, w * 0.6597, h * 0.2249); - c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 1, w * 0.5943, h * 0.232); - c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 1, w * 0.5542, h * 0.2225); - c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 1, w * 0.5673, h * 0.2353); - c.arcTo(w * 0.0261, h * 0.024, 0, 0, 1, w * 0.5611, h * 0.2729); - c.lineTo(w * 0.4889, h * 0.316); - c.arcTo(w * 0.0261, h * 0.024, 0, 0, 0, w * 0.4766, h * 0.3352); - c.lineTo(w * 0.4052, h * 0.2992); - c.arcTo(w * 0.0173, h * 0.0159, 0, 0, 1, w * 0.4121, h * 0.2841); - c.lineTo(w * 0.4914, h * 0.2368); - c.arcTo(w * 0.0218, h * 0.02, 0, 0, 0, w * 0.4897, h * 0.2129); - c.lineTo(w * 0.4409, h * 0.1857); - c.lineTo(w * 0.3145, h * 0.2529); - c.close(); - c.moveTo(w * 0.4801, h * 0.1633); - c.lineTo(w * 0.5263, h * 0.1865); - c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 0, w * 0.583, h * 0.1905); - c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 0, w * 0.6196, h * 0.1721); - c.arcTo(w * 0.0261, h * 0.024, 0, 0, 0, w * 0.6117, h * 0.1441); - c.lineTo(w * 0.5655, h * 0.1193); - c.fill(); - - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.126, h * 0.267); - c.lineTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.622, h * 0.4023); - c.lineTo(w * 0.874, h * 0.267); - c.lineTo(w * 0.874, h * 0.1316); - c.moveTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.267); - c.moveTo(w * 0.5, h * 0.6015); - c.lineTo(w * 0.5, h); - c.moveTo(w, h * 0.3346); - c.lineTo(w * 0.87, h * 0.267); - c.moveTo(w * 0.378, h * 0.4023); - c.lineTo(w * 0.622, h * 0.4023); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.7331); - c.lineTo(0, h * 0.3346); - c.lineTo(w * 0.126, h * 0.1316); - c.lineTo(w * 0.374, 0); - c.lineTo(w * 0.626, 0); - c.lineTo(w * 0.874, h * 0.1316); - c.lineTo(w, h * 0.3346); - c.lineTo(w, h * 0.7331); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dRdsSlave.prototype.cst.RDS_SLAVE, mxShapeAws3dRdsSlave); - -//********************************************************************************************************************************************************** -//AMI -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dAMI2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dAMI2, mxShape); - -mxShapeAws3dAMI2.prototype.cst = { - AMI_2 : 'mxgraph.aws3d.ami2', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dAMI2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - var strokeWidth1 = strokeWidth * w / 92; - var strokeWidth2 = strokeWidth * h / 60; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setStrokeWidth(strokeWidth); - c.setShadow(false); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0865, h * 0.284); - c.lineTo(w * 0.4203, 0); - c.lineTo(w * 0.5865, 0); - c.lineTo(w * 0.919, h * 0.286); - c.lineTo(w, h * 0.566); - c.lineTo(w * 0.5027, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dAMI2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.566); - c.lineTo(w * 0.0892, h * 0.282); - c.lineTo(w * 0.0878, h * 0.426); - c.lineTo(w * 0.4216, h * 0.712); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.5027, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.9176, h * 0.43); - c.lineTo(w, h * 0.566); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.566); - c.lineTo(w * 0.0892, h * 0.282); - c.lineTo(w * 0.0878, h * 0.426); - c.lineTo(w * 0.4216, h * 0.712); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.5027, h); - c.close(); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.9176, h * 0.43); - c.lineTo(w, h * 0.566); - c.close(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0892, h * 0.422); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.4189, h * 0.708); - c.moveTo(w * 0.9176, h * 0.43); - c.lineTo(w * 0.9176, h * 0.29); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setLineJoin('round'); - c.begin(); - c.moveTo(w * 0.2095, h * 0.376); - c.lineTo(w * 0.527, h * 0.104); - c.lineTo(w * 0.6338, h * 0.194); - c.lineTo(w * 0.3149, h * 0.468); - c.close(); - c.moveTo(w * 0.3716, h * 0.518); - c.lineTo(w * 0.6892, h * 0.246); - c.lineTo(w * 0.796, h * 0.336); - c.lineTo(w * 0.477, h * 0.61); - c.close(); - c.moveTo(w * 0.3108, h * 0.282); - c.lineTo(w * 0.4257, h * 0.38); - c.moveTo(w * 0.4189, h * 0.194); - c.lineTo(w * 0.5297, h * 0.288); - c.moveTo(w * 0.5838, h * 0.338); - c.lineTo(w * 0.6892, h * 0.426); - c.moveTo(w * 0.4757, h * 0.426); - c.lineTo(w * 0.5838, h * 0.518); - c.stroke(); - - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0865, h * 0.284); - c.lineTo(w * 0.4203, 0); - c.lineTo(w * 0.5865, 0); - c.lineTo(w * 0.919, h * 0.286); - c.lineTo(w, h * 0.566); - c.lineTo(w * 0.5027, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dAMI2.prototype.cst.AMI_2, mxShapeAws3dAMI2); - -//********************************************************************************************************************************************************** -//EBS -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dEbs(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dEbs, mxShape); - -mxShapeAws3dEbs.prototype.cst = { - EBS : 'mxgraph.aws3d.ebs', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dEbs.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 92; - var strokeWidth2 = strokeWidth * h / 60; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setStrokeWidth(strokeWidth); - c.setShadow(false); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if(isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.5276); - c.lineTo(0, h * 0.4188); - c.lineTo(w * 0.071, h * 0.2898); - c.lineTo(w * 0.4033, 0); - c.lineTo(w * 0.9301, h * 0.464); - c.lineTo(w, h * 0.5863); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEbs.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.071, h * 0.2948); - c.lineTo(w * 0.6011, h * 0.7621); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.lineTo(0, h * 0.5276); - c.lineTo(0, h * 0.4137); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.6011, h * 0.7655); - c.lineTo(w * 0.9344, h * 0.4724); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.071, h * 0.2948); - c.lineTo(w * 0.6011, h * 0.7621); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.lineTo(0, h * 0.5276); - c.lineTo(0, h * 0.4137); - c.close(); - c.moveTo(w * 0.6011, h * 0.7655); - c.lineTo(w * 0.9344, h * 0.4724); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.close(); - c.moveTo(w * 0.0033, h * 0.5276); - c.lineTo(w * 0.071, h * 0.2898); - c.moveTo(w * 0.5325, h * 0.9976); - c.lineTo(w * 0.603, h * 0.7593); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.5276); - c.lineTo(0, h * 0.4188); - c.lineTo(w * 0.071, h * 0.2898); - c.lineTo(w * 0.4033, 0); - c.lineTo(w * 0.9301, h * 0.464); - c.lineTo(w, h * 0.5863); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dEbs.prototype.cst.EBS, mxShapeAws3dEbs); - -//********************************************************************************************************************************************************** -//Oracle Server -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dOracleServer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dOracleServer, mxShape); - -mxShapeAws3dOracleServer.prototype.cst = { - ORACLE_SERVER : 'mxgraph.aws3d.oracleServer' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dOracleServer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 123; - var strokeWidth2 = strokeWidth * h /133; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dOracleServer.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dOracleServer.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - c.setAlpha('0.1'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.setAlpha('0.3'); - c.begin(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.setFillColor('#ff0000'); - - c.begin(); - c.moveTo(0, h * 0.5866); - c.lineTo(w * 0.5, h * 0.8359); - c.lineTo(w, h * 0.5866); - c.lineTo(w, h * 0.6986); - c.lineTo(w * 0.5, h * 0.9486); - c.lineTo(0, h * 0.6986); - c.fill(); - - c.setStrokeWidth(0.5 * strokeWidth); - c.setStrokeColor('#ffffff'); - c.setFillColor('#ffffff'); - - c.begin(); - c.moveTo(0, h * 0.5866); - c.lineTo(w * 0.5, h * 0.8359); - c.lineTo(w, h * 0.5866); - c.moveTo(w, h * 0.6986); - c.lineTo(w * 0.5, h * 0.9486); - c.lineTo(0, h * 0.6986); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.0813, h * 0.7113); - c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.065, h * 0.6831); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.065, h * 0.6613); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.0797, h * 0.6549); - c.lineTo(w * 0.122, h * 0.6754); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.1358, h * 0.6937); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.139, h * 0.7232); - c.arcTo(w * 0.0179, h * 0.0155, 0, 0, 1, w * 0.1187, h * 0.7296); - c.close(); - c.moveTo(w * 0.1163, h * 0.7183); - c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.1285, h * 0.7148); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1293, h * 0.7021); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1179, h * 0.6831); - c.lineTo(w * 0.087, h * 0.6676); - c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.0764, h * 0.6697); - c.arcTo(w * 0.0325, h * 0.0352, 0, 0, 0, w * 0.078, h * 0.6937); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.087, h * 0.7035); - c.close(); - c.moveTo(w * 0.1439, h * 0.743); - c.lineTo(w * 0.1439, h * 0.6866); - c.lineTo(w * 0.1846, h * 0.707); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.1967, h * 0.7183); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2, h * 0.738); - c.arcTo(w * 0.0138, h * 0.0155, 0, 0, 1, w * 0.1813, h * 0.743); - c.lineTo(w * 0.1992, h * 0.769); - c.lineTo(w * 0.187, h * 0.7641); - c.lineTo(w * 0.1577, h * 0.7218); - c.lineTo(w * 0.1854, h * 0.7345); - c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.1911, h * 0.7317); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 0, w * 0.1894, h * 0.7225); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.1821, h * 0.7155); - c.lineTo(w * 0.1528, h * 0.7007); - c.lineTo(w * 0.1528, h * 0.7472); - c.close(); - c.moveTo(w * 0.2008, h * 0.7711); - c.lineTo(w * 0.2293, h * 0.7338); - c.arcTo(w * 0.0065, h * 0.0056, 0, 0, 1, w * 0.2382, h * 0.7324); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2431, h * 0.7415); - c.lineTo(w * 0.2699, h * 0.8035); - c.lineTo(w * 0.2602, h * 0.8007); - c.lineTo(w * 0.252, h * 0.7859); - c.lineTo(w * 0.2293, h * 0.7754); - c.lineTo(w * 0.2244, h * 0.7634); - c.lineTo(w * 0.248, h * 0.7739); - c.lineTo(w * 0.235, h * 0.7444); - c.lineTo(w * 0.2122, h * 0.7768); - c.close(); - c.moveTo(w * 0.3244, h * 0.8225); - c.lineTo(w * 0.3171, h * 0.8289); - c.lineTo(w * 0.2854, h * 0.8127); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2724, h * 0.7986); - c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.265, h * 0.7746); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2683, h * 0.762); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.2829, h * 0.757); - c.lineTo(w * 0.3228, h * 0.7761); - c.lineTo(w * 0.3179, h * 0.7831); - c.lineTo(w * 0.2878, h * 0.7683); - c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.2789, h * 0.7697); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.2748, h * 0.7831); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.2878, h * 0.8042); - c.close(); - c.moveTo(w * 0.3276, h * 0.7789); - c.lineTo(w * 0.3366, h * 0.7831); - c.lineTo(w * 0.3366, h * 0.8289); - c.lineTo(w * 0.3805, h * 0.8507); - c.lineTo(w * 0.3748, h * 0.857); - c.lineTo(w * 0.3317, h * 0.8359); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3276, h * 0.8275); - c.close(); - c.moveTo(w * 0.435, h * 0.8775); - c.lineTo(w * 0.4325, h * 0.8866); - c.lineTo(w * 0.3959, h * 0.8683); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.3862, h * 0.8563); - c.arcTo(w * 0.0528, h * 0.0458, 0, 0, 1, w * 0.3805, h * 0.8183); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3951, h * 0.8134); - c.lineTo(w * 0.435, h * 0.8324); - c.lineTo(w * 0.4285, h * 0.838); - c.lineTo(w * 0.4008, h * 0.8246); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.3878, h * 0.831); - c.lineTo(w * 0.4333, h * 0.8542); - c.lineTo(w * 0.426, h * 0.8606); - c.lineTo(w * 0.3878, h * 0.8415); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.3976, h * 0.8585); - c.close(); - - c.moveTo(w * 0.6171, h * 0.8063); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.6366, h * 0.8092); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 1, w * 0.639, h * 0.8303); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.6211, h * 0.8592); - c.lineTo(w * 0.5894, h * 0.8761); - c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 1, w * 0.565, h * 0.8732); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.5659, h * 0.8458); - c.arcTo(w * 0.0488, h * 0.0422, 0, 0, 1, w * 0.5805, h * 0.8246); - c.close(); - c.moveTo(w * 0.5886, h * 0.8296); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.5748, h * 0.8472); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.574, h * 0.862); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.587, h * 0.8676); - c.lineTo(w * 0.6163, h * 0.8528); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.6285, h * 0.8359); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6293, h * 0.8225); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.6163, h * 0.8155); - c.close(); - - c.moveTo(w * 0.64, h * 0.85); - c.lineTo(w * 0.64, h * 0.7930); - c.lineTo(w * 0.6854, h * 0.7718); - c.arcTo(w * 0.0106, h * 0.0092, 0, 0, 1, w * 0.7008, h * 0.7782); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6959, h * 0.8); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6805, h * 0.8127); - c.lineTo(w * 0.6992, h * 0.8218); - c.lineTo(w * 0.6854, h * 0.8282); - c.lineTo(w * 0.6569, h * 0.8141); - c.lineTo(w * 0.6805, h * 0.8021); - c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 0, w * 0.6894, h * 0.7923); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6894, h * 0.7845); - c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.6837, h * 0.7831); - c.lineTo(w * 0.6528, h * 0.7979); - c.lineTo(w * 0.6528, h * 0.8437); - c.close(); - c.moveTo(w * 0.7, h * 0.8204); - c.lineTo(w * 0.7301, h * 0.7507); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7358, h * 0.7444); - c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7415, h * 0.7486); - c.lineTo(w * 0.7699, h * 0.7852); - c.lineTo(w * 0.7602, h * 0.7908); - c.lineTo(w * 0.7537, h * 0.7838); - c.lineTo(w * 0.7276, h * 0.7958); - c.lineTo(w * 0.7228, h * 0.788); - c.lineTo(w * 0.748, h * 0.7768); - c.lineTo(w * 0.7358, h * 0.7585); - c.lineTo(w * 0.7114, h * 0.8155); - c.close(); - c.moveTo(w * 0.8244, h * 0.7486); - c.lineTo(w * 0.8171, h * 0.762); - c.lineTo(w * 0.7894, h * 0.7761); - c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 1, w * 0.7683, h * 0.7746); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.7667, h * 0.7507); - c.arcTo(w * 0.0488, h * 0.0423, 0, 0, 1, w * 0.7937, h * 0.7162); - c.lineTo(w * 0.822, h * 0.7035); - c.lineTo(w * 0.8171, h * 0.7155); - c.lineTo(w * 0.7902, h * 0.7296); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.778, h * 0.743); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.7756, h * 0.7606); - c.arcTo(w * 0.0077, h * 0.0067, 0, 0, 0, w * 0.787, h * 0.767); - c.close(); - c.moveTo(w * 0.8366, h * 0.6949); - c.lineTo(w * 0.8366, h * 0.7423); - c.lineTo(w * 0.878, h * 0.7231); - c.lineTo(w * 0.874, h * 0.7338); - c.lineTo(w * 0.8333, h * 0.7535); - c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 1, w * 0.8268, h * 0.75); - c.lineTo(w * 0.8268, h * 0.7007); - c.close(); - c.moveTo(w * 0.9342, h * 0.6472); - c.lineTo(w * 0.9293, h * 0.6599); - c.lineTo(w * 0.9033, h * 0.6725); - c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.8927, h * 0.6817); - c.arcTo(w * 0.0406, h * 0.0352, 0, 0, 0, w * 0.887, h * 0.6937); - c.lineTo(w * 0.9309, h * 0.6725); - c.lineTo(w * 0.9268, h * 0.6845); - c.lineTo(w * 0.887, h * 0.7035); - c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.8992, h * 0.7106); - c.lineTo(w * 0.935, h * 0.693); - c.lineTo(w * 0.9285, h * 0.7063); - c.lineTo(w * 0.9008, h * 0.7197); - c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.8829, h * 0.7204); - c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.8764, h * 0.7028); - c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.8959, h * 0.6669); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.374, h * 0.3873); - c.arcTo(w * 0.0325, h * 0.01764, 0, 0, 1, w * 0.374, h * 0.3626); - c.lineTo(w * 0.4797, h * 0.3098); - c.arcTo(w * 0.0325, h * 0.0141, 0, 0, 1, w * 0.5203, h * 0.3098); - c.lineTo(w * 0.626, h * 0.3626); - c.arcTo(w * 0.0325, h * 0.01764, 0, 0, 1, w * 0.626, h * 0.3852); - c.lineTo(w * 0.5203, h * 0.438); - c.arcTo(w * 0.0325, h * 0.0141, 0, 0, 1, w * 0.4797, h * 0.438); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7464); - c.lineTo(0, h * 0.25); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.25); - c.lineTo(w, h * 0.7464); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dOracleServer.prototype.cst.ORACLE_SERVER, mxShapeAws3dOracleServer); - -//********************************************************************************************************************************************************** -//Secure Connection -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dSecureConnection(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dSecureConnection, mxShape); - -mxShapeAws3dSecureConnection.prototype.cst = { - SECURE_CONNECTION : 'mxgraph.aws3d.secureConnection' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dSecureConnection.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 57; - var strokeWidth2 = strokeWidth * h /34; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - c.setStrokeWidth(strokeWidth); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dSecureConnection.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.begin(); - c.moveTo(w * 0.0058, h * 0.3889); - c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.0774, h * 0.1856); - c.arcTo(w * 0.5241, h * 0.8839, 0, 0, 1, w * 0.308, h * 0.0262); - c.arcTo(w * 0.8735, h * 1.4732, 0, 0, 1, w * 0.6417, h * 0.056); - c.arcTo(w * 0.6988, h * 1.1786, 0, 0, 1, w * 0.9106, h * 0.277); - c.arcTo(w * 0.2621, h * 0.442, 0, 0, 1, w, h * 0.5451); - c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.9474, h * 0.7808); - c.arcTo(w * 0.4368, h * 0.7366, 0, 0, 1, w * 0.7186, h * 0.9605); - c.arcTo(w * 0.8735, h * 1.4732, 0, 0, 1, w * 0.3045, h * 0.9104); - c.arcTo(w * 0.6115, h * 1.0312, 0, 0, 1, w * 0.0687, h * 0.6747); - c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.0058, h * 0.3889); - c.close(); - c.fill(); -}; - -mxShapeAws3dSecureConnection.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.2661, h * 0.5068); - c.lineTo(w * 0.5002, h * 0.7336); - c.lineTo(w * 0.6626, h * 0.5775); - c.lineTo(w * 0.6469, h * 0.5539); - c.lineTo(w * 0.6958, h * 0.5097); - c.arcTo(w * 0.0874, h * 0.1473, 0, 0, 0, w * 0.7325, h * 0.4066); - c.arcTo(w * 0.0874, h * 0.1473, 0, 0, 0, w * 0.6889, h * 0.3153); - c.arcTo(w * 0.1747, h * 0.2946, 0, 0, 0, w * 0.5928, h * 0.2622); - c.arcTo(w * 0.1398, h * 0.2357, 0, 0, 0, w * 0.5107, h * 0.3005); - c.lineTo(w * 0.446, h * 0.3654); - c.lineTo(w * 0.4268, h * 0.3477); - c.close(); - c.moveTo(w * 0.4949, h * 0.4184); - c.lineTo(w * 0.5491, h * 0.3624); - c.arcTo(w * 0.1222, h * 0.2062, 0, 0, 1, w * 0.6277, h * 0.3536); - c.arcTo(w * 0.0874, h * 0.1179, 0, 0, 1, w * 0.6679, h * 0.3978); - c.arcTo(w * 0.0175, h * 0.0295, 0, 0, 1, w * 0.6626, h * 0.439); - c.lineTo(w * 0.5928, h * 0.5068); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dSecureConnection.prototype.cst.SECURE_CONNECTION, mxShapeAws3dSecureConnection); - -//********************************************************************************************************************************************************** -//Email Service -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dEmailService(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dEmailService, mxShape); - -mxShapeAws3dEmailService.prototype.cst = { - EMAIL_SERVICE : 'mxgraph.aws3d.email_service', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dEmailService.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 151; - var strokeWidth2 = strokeWidth * h / 192; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dEmailService.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.8182); - c.lineTo(0, h * 0.1818); - c.lineTo(w * 0.4007, 0); - c.lineTo(w * 0.606, 0); - c.lineTo(w, h * 0.1792); - c.lineTo(w, h * 0.8182); - c.lineTo(w * 0.5993, h); - c.lineTo(w * 0.4007, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dEmailService.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEmailService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.2727); - c.lineTo(w * 0.4007, h * 0.4546); - c.lineTo(w * 0.5993, h * 0.4546); - c.lineTo(w * 0.5993, h); - c.lineTo(w * 0.4007, h); - c.lineTo(0, h * 0.8182); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5993, h * 0.4546); - c.lineTo(w, h * 0.2727); - c.lineTo(w * 0.8013, h * 0.1792); - c.lineTo(w * 0.8013, h * 0.0883); - c.lineTo(w, h * 0.1792); - c.lineTo(w, h * 0.8182); - c.lineTo(w * 0.5993, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.2727); - c.lineTo(w * 0.4007, h * 0.4546); - c.lineTo(w * 0.5993, h * 0.4546); - c.lineTo(w * 0.5993, h); - c.lineTo(w * 0.4007, h); - c.lineTo(0, h * 0.8182); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5993, h * 0.4546); - c.lineTo(w, h * 0.2727); - c.lineTo(w * 0.8013, h * 0.1792); - c.lineTo(w * 0.8013, h * 0.0883); - c.lineTo(w, h * 0.1792); - c.lineTo(w, h * 0.8182); - c.lineTo(w * 0.5993, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.202, h * 0.0883); - c.lineTo(w * 0.202, h * 0.1818); - c.lineTo(w * 0.4007, h * 0.2727); - c.lineTo(w * 0.5993, h * 0.2727); - c.lineTo(w * 0.798, h * 0.1818); - c.moveTo(w * 0.2053, h * 0.1818); - c.lineTo(w * 0.0033, h * 0.2714); - c.moveTo(w * 0.4007, h * 0.2727); - c.lineTo(w * 0.4007, h * 0.9961); - c.moveTo(w * 0.5993, h * 0.2727); - c.lineTo(w * 0.5993, h * 0.4546); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.4437, h * 0.0779); - c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 1, w * 0.404, h * 0.0706); - c.arcTo(w * 0.0464, h * 0.0364, 0, 0, 1, w * 0.3815, h * 0.0421); - c.arcTo(w * 0.053, h * 0.026, 0, 0, 1, w * 0.4205, h * 0.0187); - c.arcTo(w * 0.1987, h * 0.1558, 0, 0, 1, w * 0.4768, h * 0.0203); - c.arcTo(w * 0.0795, h * 0.0364, 0, 0, 1, w * 0.5199, h * 0.0494); - c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.5099, h * 0.0649); - c.arcTo(w * 0.0795, h * 0.0623, 0, 0, 1, w * 0.4536, h * 0.0727); - c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4404, h * 0.0597); - c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.4219, h * 0.0566); - c.arcTo(w * 0.0199, h * 0.0114, 0, 0, 1, w * 0.4172, h * 0.0431); - c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.4483, h * 0.0416); - c.arcTo(w * 0.0132, h * 0.0104, 0, 0, 1, w * 0.457, h * 0.053); - c.arcTo(w * 0.0132, h * 0.0104, 0, 0, 0, w * 0.4669, h * 0.0431); - c.arcTo(w * 0.0166, h * 0.0166, 0, 0, 0, w * 0.4464, h * 0.0358); - c.lineTo(w * 0.4437, h * 0.0338); - c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4603, h * 0.0322); - c.arcTo(w * 0.0397, h * 0.0156, 0, 0, 1, w * 0.4755, h * 0.0462); - c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4669, h * 0.0545); - c.arcTo(w * 0.053, h * 0.0416, 0, 0, 1, w * 0.453, h * 0.0608); - c.arcTo(w * 0.0099, h * 0.0078, 0, 0, 0, w * 0.4636, h * 0.0675); - c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 0, w * 0.498, h * 0.0623); - c.arcTo(w * 0.0185, h * 0.0145, 0, 0, 0, w * 0.5079, h * 0.0457); - c.arcTo(w * 0.053, h * 0.0416, 0, 0, 0, w * 0.4848, h * 0.0296); - c.arcTo(w * 0.0993, h * 0.0779, 0, 0, 0, w * 0.455, h * 0.0234); - c.arcTo(w * 0.1325, h * 0.1039, 0, 0, 0, w * 0.4172, h * 0.026); - c.arcTo(w * 0.0397, h * 0.0312, 0, 0, 0, w * 0.3927, h * 0.039); - c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 0, w * 0.3974, h * 0.0571); - c.arcTo(w * 0.053, h * 0.0416, 0, 0, 0, w * 0.4205, h * 0.0701); - c.arcTo(w * 0.0331, h * 0.026, 0, 0, 0, w * 0.4404, h * 0.0722); - c.moveTo(w * 0.42, h * 0.049); - c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.435, h * 0.055); - c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.45, h * 0.049); - c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.435, h * 0.043); - c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.42, h * 0.049); - c.close(); - c.moveTo(w * 0.4669, h * 0.0894); - c.arcTo(w * 0.1325, h * 0.1039, 0, 0, 0, w * 0.5099, h * 0.0831); - c.lineTo(w * 0.6689, h * 0.1543); - c.lineTo(w * 0.4887, h * 0.1371); - c.close(); - c.moveTo(w * 0.3887, h * 0.0769); - c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 0, w * 0.4205, h * 0.0888); - c.arcTo(w * 0.0662, h * 0.026, 0, 0, 0, w * 0.447, h * 0.0894); - c.lineTo(w * 0.4735, h * 0.1512); - c.lineTo(w * 0.6689, h * 0.1688); - c.lineTo(w * 0.5199, h * 0.2364); - c.lineTo(w * 0.2815, h * 0.1273); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.8182); - c.lineTo(0, h * 0.1818); - c.lineTo(w * 0.4007, 0); - c.lineTo(w * 0.606, 0); - c.lineTo(w, h * 0.1792); - c.lineTo(w, h * 0.8182); - c.lineTo(w * 0.5993, h); - c.lineTo(w * 0.4007, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dEmailService.prototype.cst.EMAIL_SERVICE, mxShapeAws3dEmailService); - -//********************************************************************************************************************************************************** -//Worker -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dWorker(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dWorker, mxShape); - -mxShapeAws3dWorker.prototype.cst = { - WORKER : 'mxgraph.aws3d.worker', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dWorker.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - var strokeWidth1 = strokeWidth * w / 74; - var strokeWidth2 = strokeWidth * h / 50; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setStrokeWidth(strokeWidth); - c.setShadow(false); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0865, h * 0.284); - c.lineTo(w * 0.4203, 0); - c.lineTo(w * 0.5865, 0); - c.lineTo(w * 0.919, h * 0.286); - c.lineTo(w, h * 0.566); - c.lineTo(w * 0.5027, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWorker.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.566); - c.lineTo(w * 0.0892, h * 0.282); - c.lineTo(w * 0.0878, h * 0.426); - c.lineTo(w * 0.4216, h * 0.712); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.5027, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.9176, h * 0.43); - c.lineTo(w, h * 0.566); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.566); - c.lineTo(w * 0.0892, h * 0.282); - c.lineTo(w * 0.0878, h * 0.426); - c.lineTo(w * 0.4216, h * 0.712); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.5027, h); - c.close(); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.9176, h * 0.43); - c.lineTo(w, h * 0.566); - c.close(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0892, h * 0.422); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.4189, h * 0.708); - c.moveTo(w * 0.9176, h * 0.43); - c.lineTo(w * 0.9176, h * 0.29); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setLineJoin('round'); - c.begin(); - c.moveTo(w * 0.2892, h * 0.2104); - c.lineTo(w * 0.3595, h * 0.1503); - c.lineTo(w * 0.3973, h * 0.1844); - c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.4486, h * 0.1703); - c.lineTo(w * 0.4486, h * 0.1242); - c.lineTo(w * 0.5527, h * 0.1242); - c.lineTo(w * 0.5527, h * 0.1703); - c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.6149, h * 0.1924); - c.lineTo(w * 0.6527, h * 0.1603); - c.lineTo(w * 0.7257, h * 0.2224); - c.lineTo(w * 0.6892, h * 0.2545); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.7162, h * 0.3106); - c.lineTo(w * 0.7676, h * 0.3106); - c.lineTo(w * 0.7676, h * 0.3988); - c.lineTo(w * 0.7162, h * 0.3988); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.6973, h * 0.4409); - c.lineTo(w * 0.7378, h * 0.475); - c.lineTo(w * 0.6635, h * 0.5371); - c.lineTo(w * 0.6297, h * 0.505); - c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.5527, h * 0.5351); - c.lineTo(w * 0.5527, h * 0.5812); - c.lineTo(w * 0.45, h * 0.5812); - c.lineTo(w * 0.45, h * 0.5351); - c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.3878, h * 0.513); - c.lineTo(w * 0.3514, h * 0.5431); - c.lineTo(w * 0.2784, h * 0.481); - c.lineTo(w * 0.3149, h * 0.4509); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.2865, h * 0.3968); - c.lineTo(w * 0.2351, h * 0.3968); - c.lineTo(w * 0.2351, h * 0.3086); - c.lineTo(w * 0.2865, h * 0.3086); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.3203, h * 0.2425); - c.close(); - c.moveTo(w * 0.4054, h * 0.2445); - c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.3554, h * 0.2986); - c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 0, w * 0.3432, h * 0.3567); - c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 0, w * 0.3635, h * 0.4208); - c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.4122, h * 0.4649); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.4122, h * 0.4649); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.5676, h * 0.4749); - c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.6351, h * 0.4228); - c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 0, w * 0.6595, h * 0.3467); - c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 0, w * 0.6149, h * 0.2605); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.5419, h * 0.2204); - c.arcTo(w * 0.3378, h * 0.501, 0, 0, 0, w * 0.4649, h * 0.2184); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.4054, h * 0.2445); - c.close(); - c.moveTo(w * 0.473, h * 0.2806); - c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.55, h * 0.2866); - c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 1, w * 0.5892, h * 0.3307); - c.arcTo(w * 0.0338, h * 0.0501, 0, 0, 1, w * 0.5824, h * 0.3888); - c.arcTo(w * 0.0946, h * 0.1403, 0, 0, 1, w * 0.5216, h * 0.4269); - c.arcTo(w * 0.1622, h * 0.2405, 0, 0, 1, w * 0.4432, h * 0.4128); - c.arcTo(w * 0.0541, h * 0.0802, 0, 0, 1, w * 0.4108, h * 0.3527); - c.arcTo(w * 0.0541, h * 0.0802, 0, 0, 1, w * 0.4351, h * 0.2986); - c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 1, w * 0.473, h * 0.2806); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0865, h * 0.284); - c.lineTo(w * 0.4203, 0); - c.lineTo(w * 0.5865, 0); - c.lineTo(w * 0.919, h * 0.286); - c.lineTo(w, h * 0.566); - c.lineTo(w * 0.5027, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dWorker.prototype.cst.WORKER, mxShapeAws3dWorker); - -//********************************************************************************************************************************************************** -//Application -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dApplication2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dApplication2, mxShape); - -mxShapeAws3dApplication2.prototype.cst = { - APPLICATION2 : 'mxgraph.aws3d.application2', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dApplication2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 62; - var strokeWidth2 = strokeWidth * h / 53.5; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.6766); - c.lineTo(0, h * 0.3271); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3271); - c.lineTo(w, h * 0.6766); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplication2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.3271); - c.lineTo(w * 0.5, h * 0.6449); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.6766); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h * 0.6449); - c.lineTo(w, h * 0.3271); - c.lineTo(w, h * 0.6766); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.3271); - c.lineTo(w * 0.5, h * 0.6449); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.6766); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.6449); - c.lineTo(w, h * 0.3271); - c.lineTo(w, h * 0.6766); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.1742, h * 0.6355); - c.lineTo(w * 0.1742, h * 0.4393); - c.lineTo(w * 0.6726, h * 0.1121); - c.lineTo(w * 0.7661, h * 0.1738); - c.lineTo(w * 0.2661, h * 0.4991); - c.lineTo(w * 0.2661, h * 0.6916); - c.close(); - c.moveTo(w * 0.2871, h * 0.7084); - c.lineTo(w * 0.2871, h * 0.514); - c.lineTo(w * 0.7823, h * 0.1869); - c.lineTo(w * 0.8629, h * 0.2374); - c.lineTo(w * 0.379, h * 0.5626); - c.lineTo(w * 0.379, h * 0.7607); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6766); - c.lineTo(0, h * 0.3271); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3271); - c.lineTo(w, h * 0.6766); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dApplication2.prototype.cst.APPLICATION2, mxShapeAws3dApplication2); - -//********************************************************************************************************************************************************** -//Elastic Beanstalk -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dElasticBeanstalk(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dElasticBeanstalk, mxShape); - -mxShapeAws3dElasticBeanstalk.prototype.cst = { - ELASTIC_BEANSTALK : 'mxgraph.aws3d.elasticBeanstalk', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dElasticBeanstalk.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 181.5; - var strokeWidth2 = strokeWidth * h / 140; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setShadow(false); - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.6239); - c.lineTo(0, h * 0.3754); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3754); - c.lineTo(w, h * 0.6239); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticBeanstalk.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.3754); - c.lineTo(w * 0.5, h * 0.7514); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.6239); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5, h * 0.7514); - c.lineTo(w, h * 0.3754); - c.lineTo(w, h * 0.6239); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.3754); - c.lineTo(w * 0.5, h * 0.7514); - c.lineTo(w * 0.5, h); - c.lineTo(0, h * 0.6239); - c.close(); - c.moveTo(w * 0.5, h * 0.7514); - c.lineTo(w, h * 0.3754); - c.lineTo(w, h * 0.6239); - c.lineTo(w * 0.5, h); - c.close(); - c.moveTo(w * 0.2485, h * 0.187); - c.lineTo(w * 0.7493, h * 0.5623); - c.lineTo(w * 0.7493, h * 0.8123); - c.stroke(); - - c.setLineJoin('miter'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.7763, h * 0.2063); - c.lineTo(w * 0.2749, h * 0.5817); - c.lineTo(w * 0.2749, h * 0.8309); - c.lineTo(w * 0.2204, h * 0.7894); - c.lineTo(w * 0.2204, h * 0.5394); - c.lineTo(w * 0.7185, h * 0.1619); - c.close(); - c.fill(); - - c.restore(); - c.begin(); - c.moveTo(w * 0.1713, h * 0.543); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2028, h * 0.5723); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2281, h * 0.6096); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.2402, h * 0.644); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.2424, h * 0.6848); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.216, h * 0.6612); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.1895, h * 0.6239); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.1719, h * 0.5824); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.1713, h * 0.543); - c.close(); - c.moveTo(w * 0.2507, h * 0.7794); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.254, h * 0.7421); - c.arcTo(w * 0.022, h * 0.0287, 0, 0, 1, w * 0.27, h * 0.7264); - c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.2986, h * 0.73); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3234, h * 0.7457); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3218, h * 0.7815); - c.arcTo(w * 0.022, h * 0.0287, 0, 0, 1, w * 0.3019, h * 0.7987); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.27, h * 0.7923); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2507, h * 0.7794); - c.close(); - c.moveTo(w * 0.2799, h * 0.5265); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.3003, h * 0.515); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3317, h * 0.515); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3774, h * 0.5315); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4033, h * 0.5487); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3906, h * 0.5595); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3493, h * 0.5616); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3069, h * 0.5444); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2799, h * 0.5265); - c.close(); - c.moveTo(w * 0.2887, h * 0.3933); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.314, h * 0.414); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3322, h * 0.4391); - c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.3344, h * 0.4699); - c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.3196, h * 0.485); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2887, h * 0.4592); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.27, h * 0.4269); - c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.2727, h * 0.4054); - c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.2887, h * 0.3933); - c.close(); - c.moveTo(w * 0.4613, h * 0.262); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4867, h * 0.2827); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.5049, h * 0.3078); - c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.5071, h * 0.3386); - c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.4922, h * 0.3537); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4613, h * 0.3279); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.4426, h * 0.2956); - c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.4453, h * 0.2741); - c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.4613, h * 0.262); - c.close(); - c.moveTo(w * 0.4525, h * 0.3952); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.4729, h * 0.3837); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5043, h * 0.3837); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.55, h * 0.4002); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.5759, h * 0.4174); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5633, h * 0.4282); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5219, h * 0.4303); - c.arcTo(w * 0.1653, h * 0.1074, 0, 0, 1, w * 0.4795, h * 0.4131); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4525, h * 0.3952); - c.close(); - c.moveTo(w * 0.6217, h * 0.1426); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6471, h * 0.1633); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6652, h * 0.1884); - c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.6674, h * 0.2192); - c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.6526, h * 0.2342); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6217, h * 0.2085); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.603, h * 0.1762); - c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.6057, h * 0.1547); - c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.6217, h * 0.1426); - c.close(); - c.moveTo(w * 0.6129, h * 0.2758); - c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.6333, h * 0.2643); - c.arcTo(w * 0.0826, h * 0.1433, 0, 0, 1, w * 0.6647, h * 0.2643); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.7104, h * 0.2808); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.7363, h * 0.298); - c.arcTo(w * 0.0826, h * 0.2149, 0, 0, 1, w * 0.7363, h * 0.298); - c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.6823, h * 0.3109); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6399, h * 0.2937); - c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6129, h * 0.2758); - c.close(); - c.fillAndStroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6239); - c.lineTo(0, h * 0.3754); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.3754); - c.lineTo(w, h * 0.6239); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dElasticBeanstalk.prototype.cst.ELASTIC_BEANSTALK, mxShapeAws3dElasticBeanstalk); - -//********************************************************************************************************************************************************** -//SimpleDB 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dSimpleDB2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dSimpleDB2, mxShape); - -mxShapeAws3dSimpleDB2.prototype.cst = { - SIMPLE_DB_2 : 'mxgraph.aws3d.simpleDb2', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dSimpleDB2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 181.5; - var strokeWidth2 = strokeWidth * h / 210; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dSimpleDB2.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.8183); - c.lineTo(0, h * 0.1848); - c.lineTo(w * 0.3366, 0); - c.lineTo(w * 0.6293, h * 0.0021); - c.lineTo(w, h * 0.1833); - c.lineTo(w, h * 0.8183); - c.lineTo(w * 0.6694, h); - c.lineTo(w * 0.4986, h * 0.9091); - c.lineTo(w * 0.3333, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dSimpleDB2.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSimpleDB2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.1848); - c.lineTo(w * 0.168, h * 0.1833); - c.lineTo(0, h * 0.365); - c.lineTo(w * 0.3333, h * 0.5467); - c.lineTo(w * 0.3333, h); - c.lineTo(0, h * 0.8183); - c.close(); - c.moveTo(w * 0.4986, h * 0.9078); - c.lineTo(w * 0.4986, h * 0.3655); - c.lineTo(w * 0.6667, h * 0.5457); - c.lineTo(w * 0.6667, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.3333, h * 0.5467); - c.lineTo(w * 0.4986, h * 0.3655); - c.lineTo(w * 0.4986, h * 0.9076); - c.lineTo(w * 0.3333, h); - c.close(); - c.moveTo(w * 0.8292, h * 0.1822); - c.lineTo(w, h * 0.1848); - c.lineTo(w, h * 0.8183); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.6667, h * 0.5441); - c.lineTo(w, h * 0.3666); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.1848); - c.lineTo(w * 0.168, h * 0.1833); - c.lineTo(0, h * 0.365); - c.lineTo(w * 0.3333, h * 0.5467); - c.lineTo(w * 0.3333, h); - c.lineTo(0, h * 0.8183); - c.close(); - c.moveTo(w * 0.4986, h * 0.9078); - c.lineTo(w * 0.4986, h * 0.3655); - c.lineTo(w * 0.6667, h * 0.5457); - c.lineTo(w * 0.6667, h); - c.close(); - c.moveTo(w * 0.3333, h * 0.5467); - c.lineTo(w * 0.4986, h * 0.3655); - c.lineTo(w * 0.4986, h * 0.9076); - c.lineTo(w * 0.3333, h); - c.close(); - c.moveTo(w * 0.8292, h * 0.1822); - c.lineTo(w, h * 0.1848); - c.lineTo(w, h * 0.8183); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.6667, h * 0.5441); - c.lineTo(w, h * 0.3666); - c.close(); - c.moveTo(w * 0.1669, h * 0.1828); - c.lineTo(w * 0.4986, h * 0.3655); - c.lineTo(w * 0.8314, h * 0.1833); - c.lineTo(w * 0.4986, h * 0.0031); - c.close(); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.2634, h * 0.1833); - c.lineTo(w * 0.5003, h * 0.0535); - c.lineTo(w * 0.7394, h * 0.1833); - c.lineTo(w * 0.5003, h * 0.3136); - c.close(); - c.fill(); - - var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#000000'); - c.restore(); - c.setShadow(false); - c.setStrokeWidth(3 * strokeWidth); - c.setStrokeColor(fillColor); - - c.begin(); - c.moveTo(w * 0.3003, h * 0.2108); - c.lineTo(w * 0.5642, h * 0.068); - c.moveTo(w * 0.4429, h * 0.0693); - c.lineTo(w * 0.7059, h * 0.2121); - c.moveTo(w * 0.6667, h * 0.2458); - c.lineTo(w * 0.3974, h * 0.0992); - c.moveTo(w * 0.3499, h * 0.1277); - c.lineTo(w * 0.6088, h * 0.2698); - c.moveTo(w * 0.3009, h * 0.1556); - c.lineTo(w * 0.5496, h * 0.2913); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.8183); - c.lineTo(0, h * 0.1848); - c.lineTo(w * 0.3366, 0); - c.lineTo(w * 0.6293, h * 0.0021); - c.lineTo(w, h * 0.1833); - c.lineTo(w, h * 0.8183); - c.lineTo(w * 0.6694, h); - c.lineTo(w * 0.4986, h * 0.9091); - c.lineTo(w * 0.3333, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dSimpleDB2.prototype.cst.SIMPLE_DB_2, mxShapeAws3dSimpleDB2); - -//********************************************************************************************************************************************************** -//Workflow Service -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dWorkflowService(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dWorkflowService, mxShape); - -mxShapeAws3dWorkflowService.prototype.cst = { - WORKFLOW_SERVICE : 'mxgraph.aws3d.workflowService', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dWorkflowService.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 181.5; - var strokeWidth2 = strokeWidth * h / 210; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dWorkflowService.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6456); - c.lineTo(w * 0.2481, 0); - c.lineTo(w * 0.7497, 0); - c.lineTo(w, h * 0.6456); - c.lineTo(w * 0.4984, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dWorkflowService.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWorkflowService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.6456); - c.lineTo(w * 0.2486, 0); - c.lineTo(w * 0.2486, h * 0.3531); - c.lineTo(w * 0.4984, h); - c.close(); - c.moveTo(w * 0.7497, h * 0.3531); - c.lineTo(w * 0.7497, 0); - c.lineTo(w, h * 0.6456); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.4984, h); - c.lineTo(w * 0.7486, h * 0.3531); - c.lineTo(w, h * 0.6456); - c.lineTo(w * 0.4967, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.7497, h * 0.3531); - c.lineTo(w * 0.7497, 0); - c.lineTo(w, h * 0.6456); - c.close(); - c.moveTo(0, h * 0.6456); - c.lineTo(w * 0.2486, 0); - c.lineTo(w * 0.2486, h * 0.3531); - c.lineTo(w * 0.4984, h); - c.lineTo(w * 0.7486, h * 0.3531); - c.lineTo(w, h * 0.6456); - c.lineTo(w * 0.4967, h); - c.close(); - c.moveTo(w * 0.2486, h * 0.3531); - c.lineTo(w * 0.7508, h * 0.3531); - c.moveTo(w * 0.2488, h * 0.353); - c.lineTo(0, h * 0.6486); - c.stroke(); - - c.restore(); - c.setShadow(false); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setStrokeWidth(2 * strokeWidth); - - c.begin(); - c.ellipse(w * 0.2925, h * 0.031, w * 0.4116, h * 0.2925); - c.fill(); - - var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff'); - c.setStrokeColor(fillColor); - - c.begin(); - c.moveTo(w * 0.5252, h * 0.0465); - c.lineTo(w * 0.5873, h * 0.0903); - c.lineTo(w * 0.5483, h * 0.1173); - c.lineTo(w * 0.4874, h * 0.0728); - c.close(); - c.moveTo(w * 0.4896, h * 0.1132); - c.lineTo(w * 0.5005, h * 0.1705); - c.lineTo(w * 0.4182, h * 0.1631); - c.lineTo(w * 0.4122, h * 0.1058); - c.close(); - c.moveTo(w * 0.3584, h * 0.1631); - c.lineTo(w * 0.4204, h * 0.2062); - c.lineTo(w * 0.3825, h * 0.2332); - c.lineTo(w * 0.32, h * 0.19); - c.close(); - c.moveTo(w * 0.4594, h * 0.2338); - c.lineTo(w * 0.5214, h * 0.2783); - c.lineTo(w * 0.4835, h * 0.3053); - c.lineTo(w * 0.4215, h * 0.2608); - c.close(); - c.moveTo(w * 0.5187, h * 0.0943); - c.lineTo(w * 0.4879, h * 0.1152); - c.moveTo(w * 0.421, h * 0.1624); - c.lineTo(w * 0.3895, h * 0.1846); - c.moveTo(w * 0.5, h * 0.1698); - c.lineTo(w * 0.5554, h * 0.2089); - c.lineTo(w * 0.4885, h * 0.2567); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6456); - c.lineTo(w * 0.2481, 0); - c.lineTo(w * 0.7497, 0); - c.lineTo(w, h * 0.6456); - c.lineTo(w * 0.4984, h); - c.close(); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dWorkflowService.prototype.cst.WORKFLOW_SERVICE, mxShapeAws3dWorkflowService); - -//********************************************************************************************************************************************************** -//Decider -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dDecider(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dDecider, mxShape); - -mxShapeAws3dDecider.prototype.cst = { - DECIDER : 'mxgraph.aws3d.decider', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dDecider.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - var strokeWidth1 = strokeWidth * w / 74; - var strokeWidth2 = strokeWidth * h / 50; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setStrokeWidth(strokeWidth); - c.setShadow(false); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if (isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0865, h * 0.284); - c.lineTo(w * 0.4203, 0); - c.lineTo(w * 0.5865, 0); - c.lineTo(w * 0.919, h * 0.286); - c.lineTo(w, h * 0.566); - c.lineTo(w * 0.5027, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDecider.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.566); - c.lineTo(w * 0.0892, h * 0.282); - c.lineTo(w * 0.0878, h * 0.426); - c.lineTo(w * 0.4216, h * 0.712); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.5027, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.9176, h * 0.43); - c.lineTo(w, h * 0.566); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.566); - c.lineTo(w * 0.0892, h * 0.282); - c.lineTo(w * 0.0878, h * 0.426); - c.lineTo(w * 0.4216, h * 0.712); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.5027, h); - c.close(); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.5865, h * 0.712); - c.lineTo(w * 0.9176, h * 0.43); - c.lineTo(w, h * 0.566); - c.close(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0892, h * 0.422); - c.moveTo(w * 0.5027, h); - c.lineTo(w * 0.4189, h * 0.708); - c.moveTo(w * 0.9176, h * 0.43); - c.lineTo(w * 0.9176, h * 0.29); - c.stroke(); - - c.setStrokeWidth(1.6 * strokeWidth); - c.setLineJoin('square'); - c.begin(); - c.moveTo(w * 0.4973, h * 0.1523); - c.lineTo(w * 0.5608, h * 0.0982); - c.lineTo(w * 0.6581, h * 0.1844); - c.lineTo(w * 0.5986, h * 0.2365); - c.close(); - c.moveTo(w * 0.3784, h * 0.2164); - c.lineTo(w * 0.5054, h * 0.2305); - c.lineTo(w * 0.5203, h * 0.3407); - c.lineTo(w * 0.3892, h * 0.3246); - c.close(); - c.moveTo(w * 0.2932, h * 0.3246); - c.lineTo(w * 0.3919, h * 0.4128); - c.lineTo(w * 0.3334, h * 0.4647); - c.lineTo(w * 0.2357, h * 0.38); - c.close(); - c.moveTo(w * 0.4568, h * 0.4649); - c.lineTo(w * 0.5554, h * 0.5511); - c.lineTo(w * 0.4932, h * 0.6032); - c.lineTo(w * 0.3946, h * 0.517); - c.close(); - c.moveTo(w * 0.5473, h * 0.1924); - c.lineTo(w * 0.5027, h * 0.2365); - c.moveTo(w * 0.4, h * 0.3186); - c.lineTo(w * 0.3446, h * 0.3667); - c.moveTo(w * 0.5189, h * 0.3387); - c.lineTo(w * 0.6081, h * 0.4148); - c.lineTo(w * 0.5068, h * 0.501); - c.stroke(); - - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.572); - c.lineTo(w * 0.0865, h * 0.284); - c.lineTo(w * 0.4203, 0); - c.lineTo(w * 0.5865, 0); - c.lineTo(w * 0.919, h * 0.286); - c.lineTo(w, h * 0.566); - c.lineTo(w * 0.5027, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dDecider.prototype.cst.DECIDER, mxShapeAws3dDecider); - -//********************************************************************************************************************************************************** -//Search Engine -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dSearchEngine(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dSearchEngine, mxShape); - -mxShapeAws3dSearchEngine.prototype.cst = { - SEARCH_ENGINE : 'mxgraph.aws3d.searchEngine', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dSearchEngine.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 180; - var strokeWidth2 = strokeWidth * h / 192; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dSearchEngine.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7281); - c.lineTo(w * 0.1667, h * 0.5444); - c.lineTo(w * 0.1667, h * 0.1832); - c.lineTo(w * 0.5011, 0); - c.lineTo(w * 0.8333, h * 0.1832); - c.lineTo(w * 0.8333, h * 0.5446); - c.lineTo(w, h * 0.7281); - c.lineTo(w * 0.7486, h * 0.7735); - c.lineTo(w * 0.5819, h * 0.8617); - c.lineTo(w * 0.5011, h); - c.lineTo(w * 0.4169, h * 0.8653); - c.lineTo(w * 0.2475, h * 0.7704); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dSearchEngine.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSearchEngine.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.1672, h * 0.1837); - c.lineTo(w * 0.4989, h * 0.3638); - c.lineTo(w * 0.4989, h * 0.7291); - c.lineTo(w * 0.5825, h * 0.8633); - c.lineTo(w * 0.4989, h); - c.lineTo(w * 0.4164, h * 0.8622); - c.lineTo(w * 0.2458, h * 0.7719); - c.lineTo(0, h * 0.7276); - c.lineTo(w * 0.1661, h * 0.5454); - c.close(); - c.moveTo(w * 0.7486, h * 0.7714); - c.lineTo(w * 0.8317, h * 0.5459); - c.lineTo(w, h * 0.727); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.4989, h * 0.3643); - c.lineTo(w * 0.8317, h * 0.1827); - c.lineTo(w * 0.8317, h * 0.5465); - c.lineTo(w * 0.7508, h * 0.7714); - c.lineTo(w * 0.5836, h * 0.8633); - c.lineTo(w * 0.4989, h * 0.727); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.1672, h * 0.1837); - c.lineTo(w * 0.4989, h * 0.3638); - c.lineTo(w * 0.4989, h * 0.7291); - c.lineTo(w * 0.5825, h * 0.8633); - c.lineTo(w * 0.4989, h); - c.lineTo(w * 0.4164, h * 0.8622); - c.lineTo(w * 0.2458, h * 0.7719); - c.lineTo(0, h * 0.7276); - c.lineTo(w * 0.1661, h * 0.5454); - c.close(); - c.moveTo(w * 0.7486, h * 0.7714); - c.lineTo(w * 0.8317, h * 0.5459); - c.lineTo(w, h * 0.727); - c.close(); - c.moveTo(w * 0.4989, h * 0.3643); - c.lineTo(w * 0.8317, h * 0.1827); - c.lineTo(w * 0.8317, h * 0.5465); - c.lineTo(w * 0.7508, h * 0.7714); - c.lineTo(w * 0.5836, h * 0.8633); - c.lineTo(w * 0.4989, h * 0.727); - c.close(); - c.moveTo(w * 0.1667, h * 0.5459); - c.lineTo(w * 0.2486, h * 0.7704); - c.moveTo(w * 0.4164, h * 0.8633); - c.lineTo(w * 0.4989, h * 0.727); - c.lineTo(w * 0.4989, h); - c.stroke(); - - c.restore(); - c.setShadow(false); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.3427, h * 0.179); - c.arcTo(w * 0.0277, h * 0.0261, 0, 0, 1, w * 0.3267, h * 0.1487); - c.arcTo(w * 0.0664, h * 0.0365, 0, 0, 1, w * 0.3621, h * 0.1227); - c.arcTo(w * 0.1052, h * 0.0992, 0, 0, 1, w * 0.4247, h * 0.1195); - c.arcTo(w * 0.1274, h * 0.12, 0, 0, 1, w * 0.4884, h * 0.1018); - c.arcTo(w * 0.1329, h * 0.1253, 0, 0, 1, w * 0.5548, h * 0.1112); - c.arcTo(w * 0.0377, h * 0.0344, 0, 0, 1, w * 0.572, h * 0.166); - c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.6047, h * 0.1775); - c.arcTo(w * 0.021, h * 0.0198, 0, 0, 1, w * 0.5936, h * 0.2046); - c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.6008, h * 0.2416); - c.arcTo(w * 0.072, h * 0.0678, 0, 0, 1, w * 0.5437, h * 0.2677); - c.arcTo(w * 0.1052, h * 0.0939, 0, 0, 1, w * 0.4828, h * 0.2563); - c.close(); - c.moveTo(w * 0.448, h * 0.2156); - c.arcTo(w * 0.0111, h * 0.0104, 0, 0, 0, w * 0.459, h * 0.2255); - c.arcTo(w * 0.0138, h * 0.013, 0, 0, 0, w * 0.4729, h * 0.2182); - c.lineTo(w * 0.4773, h * 0.1874); - c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.5116, h * 0.1759); - c.arcTo(w * 0.0277, h * 0.0626, 0, 0, 0, w * 0.5233, h * 0.1503); - c.arcTo(w * 0.0554, h * 0.0261, 0, 0, 0, w * 0.5022, h * 0.1336); - c.arcTo(w * 0.0886, h * 0.0835, 0, 0, 0, w * 0.4607, h * 0.1305); - c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.4313, h * 0.142); - c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 0, w * 0.4175, h * 0.1597); - c.arcTo(w * 0.0249, h * 0.0235, 0, 0, 0, w * 0.4313, h * 0.1822); - c.arcTo(w * 0.0443, h * 0.0418, 0, 0, 0, w * 0.4535, h * 0.1884); - c.close(); - c.moveTo(w * 0.4718, h * 0.1764); - c.arcTo(w * 0.0443, h * 0.0418, 0, 0, 1, w * 0.4496, h * 0.1754); - c.arcTo(w * 0.0221, h * 0.0157, 0, 0, 1, w * 0.4369, h * 0.1634); - c.arcTo(w * 0.0221, h * 0.0183, 0, 0, 1, w * 0.4496, h * 0.1467); - c.arcTo(w * 0.0609, h * 0.0574, 0, 0, 1, w * 0.4759, h * 0.1414); - c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.5033, h * 0.1514); - c.arcTo(w * 0.0443, h * 0.0209, 0, 0, 1, w * 0.495, h * 0.1701); - c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.4718, h * 0.1764); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7281); - c.lineTo(w * 0.1667, h * 0.5444); - c.lineTo(w * 0.1667, h * 0.1832); - c.lineTo(w * 0.5011, 0); - c.lineTo(w * 0.8333, h * 0.1832); - c.lineTo(w * 0.8333, h * 0.5446); - c.lineTo(w, h * 0.7281); - c.lineTo(w * 0.7486, h * 0.7735); - c.lineTo(w * 0.5819, h * 0.8617); - c.lineTo(w * 0.5011, h); - c.lineTo(w * 0.4169, h * 0.8653); - c.lineTo(w * 0.2475, h * 0.7704); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dSearchEngine.prototype.cst.SEARCH_ENGINE, mxShapeAws3dSearchEngine); - -//********************************************************************************************************************************************************** -//Security Token Service -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dSecurityTokenService(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dSecurityTokenService, mxShape); - -mxShapeAws3dSecurityTokenService.prototype.cst = { - SECURITY_TOKEN_SERVICE : 'mxgraph.aws3d.securityTokenService', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dSecurityTokenService.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 180; - var strokeWidth2 = strokeWidth * h / 192; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dSecurityTokenService.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.7281); - c.lineTo(w * 0.1667, h * 0.5444); - c.lineTo(w * 0.1667, h * 0.1832); - c.lineTo(w * 0.5011, 0); - c.lineTo(w * 0.8333, h * 0.1832); - c.lineTo(w * 0.8333, h * 0.5446); - c.lineTo(w, h * 0.7281); - c.lineTo(w * 0.7486, h * 0.7735); - c.lineTo(w * 0.5819, h * 0.8617); - c.lineTo(w * 0.5011, h); - c.lineTo(w * 0.4169, h * 0.8653); - c.lineTo(w * 0.2475, h * 0.7704); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dSecurityTokenService.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSecurityTokenService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.1672, h * 0.1837); - c.lineTo(w * 0.4989, h * 0.3638); - c.lineTo(w * 0.4989, h * 0.7291); - c.lineTo(w * 0.5825, h * 0.8633); - c.lineTo(w * 0.4989, h); - c.lineTo(w * 0.4164, h * 0.8622); - c.lineTo(w * 0.2458, h * 0.7719); - c.lineTo(0, h * 0.7276); - c.lineTo(w * 0.1661, h * 0.5454); - c.close(); - c.moveTo(w * 0.7486, h * 0.7714); - c.lineTo(w * 0.8317, h * 0.5459); - c.lineTo(w, h * 0.727); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.4989, h * 0.3643); - c.lineTo(w * 0.8317, h * 0.1827); - c.lineTo(w * 0.8317, h * 0.5465); - c.lineTo(w * 0.7508, h * 0.7714); - c.lineTo(w * 0.5836, h * 0.8633); - c.lineTo(w * 0.4989, h * 0.727); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.1672, h * 0.1837); - c.lineTo(w * 0.4989, h * 0.3638); - c.lineTo(w * 0.4989, h * 0.7291); - c.lineTo(w * 0.5825, h * 0.8633); - c.lineTo(w * 0.4989, h); - c.lineTo(w * 0.4164, h * 0.8622); - c.lineTo(w * 0.2458, h * 0.7719); - c.lineTo(0, h * 0.7276); - c.lineTo(w * 0.1661, h * 0.5454); - c.close(); - c.moveTo(w * 0.7486, h * 0.7714); - c.lineTo(w * 0.8317, h * 0.5459); - c.lineTo(w, h * 0.727); - c.close(); - c.moveTo(w * 0.4989, h * 0.3643); - c.lineTo(w * 0.8317, h * 0.1827); - c.lineTo(w * 0.8317, h * 0.5465); - c.lineTo(w * 0.7508, h * 0.7714); - c.lineTo(w * 0.5836, h * 0.8633); - c.lineTo(w * 0.4989, h * 0.727); - c.close(); - c.moveTo(w * 0.1667, h * 0.5459); - c.lineTo(w * 0.2486, h * 0.7704); - c.moveTo(w * 0.4164, h * 0.8633); - c.lineTo(w * 0.4989, h * 0.727); - c.lineTo(w * 0.4989, h); - c.stroke(); - - c.restore(); - c.setShadow(false); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.4773, h * 0.1915); - c.arcTo(w * 0.1274, h * 0.12, 0, 0, 1, w * 0.4358, h * 0.1968); - c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.3937, h * 0.1905); - c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 1, w * 0.3682, h * 0.1707); - c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.3699, h * 0.1414); - c.arcTo(w * 0.0775, h * 0.0731, 0, 0, 1, w * 0.4009, h * 0.118); - c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.4524, h * 0.1059); - c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.5028, h * 0.1112); - c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 1, w * 0.531, h * 0.1315); - c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.531, h * 0.1597); - c.lineTo(w * 0.5615, h * 0.1754); - c.lineTo(w * 0.5526, h * 0.1905); - c.lineTo(w * 0.5759, h * 0.1999); - c.lineTo(w * 0.5753, h * 0.2109); - c.lineTo(w * 0.5792, h * 0.2161); - c.lineTo(w * 0.6135, h * 0.2182); - c.lineTo(w * 0.6113, h * 0.2416); - c.lineTo(w * 0.5819, h * 0.2474); - c.close(); - - c.moveTo(w * 0.4756, h * 0.1816); - c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.5, h * 0.1691); - c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 0, w * 0.5144, h * 0.1435); - c.arcTo(w * 0.0277, h * 0.0261, 0, 0, 0, w * 0.4967, h * 0.1247); - c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.4729, h * 0.1174); - c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 0, w * 0.4452, h * 0.1169); - c.arcTo(w * 0.0831, h * 0.0783, 0, 0, 0, w * 0.4197, h * 0.1232); - c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.397, h * 0.1357); - c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 0, w * 0.3859, h * 0.1555); - c.arcTo(w * 0.0305, h * 0.0287, 0, 0, 0, w * 0.4053, h * 0.178); - c.arcTo(w * 0.072, h * 0.0678, 0, 0, 0, w * 0.4385, h * 0.1863); - c.arcTo(w * 0.0831, h * 0.0783, 0, 0, 0, w * 0.4596, h * 0.1848); - c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.4756, h * 0.1816); - c.fill(); - - c.setStrokeWidth(1.5 * strokeWidth); - c.setLineJoin('round'); - c.setLineCap('round'); - c.begin(); - c.moveTo(w * 0.4939, h * 0.1326); - c.lineTo(w * 0.4474, h * 0.1508); - c.lineTo(w * 0.4812, h * 0.1576); - c.moveTo(w * 0.4889, h * 0.1733); - c.lineTo(w * 0.4939, h * 0.1775); - c.moveTo(w * 0.5061, h * 0.1576); - c.lineTo(w * 0.5199, h * 0.1597); - c.moveTo(w * 0.5094, h * 0.1394); - c.lineTo(w * 0.5244, h * 0.1378); - c.moveTo(w * 0.4945, h * 0.1247); - c.lineTo(w * 0.4994, h * 0.1185); - c.moveTo(w * 0.4679, h * 0.1175); - c.lineTo(w * 0.4707, h * 0.1117); - c.moveTo(w * 0.4396, h * 0.1195); - c.lineTo(w * 0.4374, h * 0.1138); - c.moveTo(w * 0.412, h * 0.1284); - c.lineTo(w * 0.4059, h * 0.1232); - c.moveTo(w * 0.3948, h * 0.1441); - c.lineTo(w * 0.3804, h * 0.1425); - c.moveTo(w * 0.3931, h * 0.1608); - c.lineTo(w * 0.3804, h * 0.1649); - c.moveTo(w * 0.4059, h * 0.1754); - c.lineTo(w * 0.3998, h * 0.1801); - c.moveTo(w * 0.4308, h * 0.1822); - c.lineTo(w * 0.4286, h * 0.1884); - c.moveTo(w * 0.4618, h * 0.1827); - c.lineTo(w * 0.4635, h * 0.1868); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.7281); - c.lineTo(w * 0.1667, h * 0.5444); - c.lineTo(w * 0.1667, h * 0.1832); - c.lineTo(w * 0.5011, 0); - c.lineTo(w * 0.8333, h * 0.1832); - c.lineTo(w * 0.8333, h * 0.5446); - c.lineTo(w, h * 0.7281); - c.lineTo(w * 0.7486, h * 0.7735); - c.lineTo(w * 0.5819, h * 0.8617); - c.lineTo(w * 0.5011, h); - c.lineTo(w * 0.4169, h * 0.8653); - c.lineTo(w * 0.2475, h * 0.7704); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dSecurityTokenService.prototype.cst.SECURITY_TOKEN_SERVICE, mxShapeAws3dSecurityTokenService); - -//********************************************************************************************************************************************************** -//Glacier -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dGlacier(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dGlacier, mxShape); - -mxShapeAws3dGlacier.prototype.cst = { - GLACIER : 'mxgraph.aws3d.glacier', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dGlacier.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 180; - var strokeWidth2 = strokeWidth * h / 192; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dGlacier.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.8177); - c.lineTo(0, h * 0.5448); - c.lineTo(w * 0.168, h * 0.1792); - c.lineTo(w * 0.5008, 0); - c.lineTo(w * 0.8309, h * 0.1812); - c.lineTo(w, h * 0.5469); - c.lineTo(w, h * 0.8188); - c.lineTo(w * 0.6661, h); - c.lineTo(w * 0.3333, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dGlacier.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dGlacier.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.1658, h * 0.1802); - c.lineTo(w * 0.5008, h * 0.3651); - c.lineTo(w * 0.6661, h * 0.9089); - c.lineTo(w * 0.6661, h); - c.lineTo(w * 0.3339, h); - c.lineTo(0, h * 0.8177); - c.lineTo(0, h * 0.5427); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.5008, h * 0.362); - c.lineTo(w * 0.8314, h * 0.1823); - c.lineTo(w, h * 0.5469); - c.lineTo(w, h * 0.8177); - c.lineTo(w * 0.6661, h); - c.lineTo(w * 0.6661, h * 0.9089); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.1658, h * 0.1802); - c.lineTo(w * 0.5008, h * 0.3651); - c.lineTo(w * 0.6661, h * 0.9089); - c.lineTo(w * 0.6661, h); - c.lineTo(w * 0.3339, h); - c.lineTo(0, h * 0.8177); - c.lineTo(0, h * 0.5427); - c.close(); - c.moveTo(w * 0.5008, h * 0.362); - c.lineTo(w * 0.8314, h * 0.1823); - c.lineTo(w, h * 0.5469); - c.lineTo(w, h * 0.8177); - c.lineTo(w * 0.6661, h); - c.lineTo(w * 0.6661, h * 0.9089); - c.close(); - c.moveTo(w * 0.1675, h * 0.1797); - c.lineTo(0, h * 0.7281); - c.lineTo(w * 0.3284, h * 0.9089); - c.lineTo(w * 0.6661, h * 0.9089); - c.lineTo(w, h * 0.7266); - c.lineTo(w * 0.8309, h * 0.1823); - c.moveTo(w * 0.5003, h * 0.362); - c.lineTo(w * 0.3311, h * 0.9089); - c.lineTo(w * 0.3311, h); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.8177); - c.lineTo(0, h * 0.5448); - c.lineTo(w * 0.168, h * 0.1792); - c.lineTo(w * 0.5008, 0); - c.lineTo(w * 0.8309, h * 0.1812); - c.lineTo(w, h * 0.5469); - c.lineTo(w, h * 0.8188); - c.lineTo(w * 0.6661, h); - c.lineTo(w * 0.3333, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dGlacier.prototype.cst.GLACIER, mxShapeAws3dGlacier); - -//********************************************************************************************************************************************************** -//Customer Gateway -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dCustomerGateway(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dCustomerGateway, mxShape); - -mxShapeAws3dCustomerGateway.prototype.cst = { - CUSTOMER_GATEWAY : 'mxgraph.aws3d.customerGateway', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dCustomerGateway.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 116.7; - var strokeWidth2 = strokeWidth * h / 102.8; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dCustomerGateway.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.8946, 0); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6812, h * 0.7247); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.save(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCustomerGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.6838, h * 0.2072); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.6838, h * 0.2072); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.6838, h * 0.2072); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.stroke(); - - c.restore(); - c.setLineJoin('round'); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.6838, h * 0.2072); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6838, h * 0.7247); - c.close(); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(w * 0.4199, h * 0.5447); - c.lineTo(w * 0.4199, h * 0.035); - c.lineTo(w * 0.8946, 0); - c.lineTo(w, h * 0.0691); - c.lineTo(w, h * 0.4134); - c.lineTo(w * 0.6812, h * 0.7247); - c.close(); - c.stroke(); - - c.restore(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.3171, h * 0.1031); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.lineTo(w * 0.1054, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dCustomerGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setShadow(false); - c.setLineJoin('round'); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCustomerGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.1054, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.1054, h); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.1054, h); - c.close(); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.1054, h); - c.lineTo(w * 0.1054, h * 0.6537); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.close(); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.929); - c.lineTo(0, h * 0.5866); - c.lineTo(w * 0.3171, h * 0.1031); - c.lineTo(w * 0.5784, h * 0.2753); - c.lineTo(w * 0.5784, h * 0.7928); - c.lineTo(w * 0.1054, h); - c.close(); - c.stroke(); - - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.7575, h * 0.3969); - c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.7686, h * 0.3259); - c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.8055, h * 0.2481); - c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.8406, h * 0.2091); - c.lineTo(w * 0.8269, h * 0.2665); - c.lineTo(w * 0.8372, h * 0.2607); - c.lineTo(w * 0.8372, h * 0.3444); - c.lineTo(w * 0.7832, h * 0.3804); - c.lineTo(w * 0.7832, h * 0.3658); - c.close(); - c.moveTo(w * 0.8466, h * 0.2082); - c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.8766, h * 0.1955); - c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.9186, h * 0.2286); - c.arcTo(w * 0.12, h * 0.1362, 0, 0, 1, w * 0.9297, h * 0.2821); - c.lineTo(w * 0.9006, h * 0.2831); - c.lineTo(w * 0.9006, h * 0.3016); - c.lineTo(w * 0.85, h * 0.3366); - c.lineTo(w * 0.85, h * 0.251); - c.lineTo(w * 0.8586, h * 0.2471); - c.close(); - c.moveTo(w * 0.9297, h * 0.2967); - c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.9195, h * 0.3667); - c.arcTo(w * 0.2571, h * 0.2918, 0, 0, 1, w * 0.8869, h * 0.4436); - c.arcTo(w * 0.1714, h * 0.1946, 0, 0, 1, w * 0.8466, h * 0.4903); - c.lineTo(w * 0.8595, h * 0.4358); - c.lineTo(w * 0.8492, h * 0.4416); - c.lineTo(w * 0.8492, h * 0.357); - c.lineTo(w * 0.9006, h * 0.32004); - c.lineTo(w * 0.9006, h * 0.3346); - c.close(); - c.moveTo(w * 0.838, h * 0.4942); - c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.8072, h * 0.5049); - c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.7712, h * 0.4815); - c.arcTo(w * 0.1714, h * 0.1946, 0, 0, 1, w * 0.7566, h * 0.4163); - c.lineTo(w * 0.7832, h * 0.4173); - c.lineTo(w * 0.7832, h * 0.4008); - c.lineTo(w * 0.8372, h * 0.3638); - c.lineTo(w * 0.8372, h * 0.4494); - c.lineTo(w * 0.8278, h * 0.4562); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dCustomerGateway.prototype.cst.CUSTOMER_GATEWAY, mxShapeAws3dCustomerGateway); - -//********************************************************************************************************************************************************** -//Redshift -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dRedshift(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dRedshift, mxShape); - -mxShapeAws3dRedshift.prototype.cst = { - REDSHIFT : 'mxgraph.aws3d.redshift', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dRedshift.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 149.5; - var strokeWidth2 = strokeWidth * h / 187.5; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dRedshift.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6517); - c.lineTo(0, h * 0.0912); - c.lineTo(w * 0.0368, h * 0.0155); - c.lineTo(w * 0.2047, 0); - c.lineTo(w * 0.3378, h * 0.0619); - c.lineTo(w * 0.3378, h * 0.0912); - c.lineTo(w * 0.3819, h * 0.0693); - c.lineTo(w * 0.6154, h * 0.0693); - c.lineTo(w * 0.8502, h * 0.1776); - c.lineTo(w * 0.8502, h * 0.3083); - c.lineTo(w * 0.8682, h * 0.3061); - c.lineTo(w, h * 0.3664); - c.lineTo(w, h * 0.9099); - c.lineTo(w * 0.9672, h * 0.9861); - c.lineTo(w * 0.7926, h); - c.lineTo(w * 0.6629, h * 0.9392); - c.lineTo(w * 0.6629, h * 0.9099); - c.lineTo(w * 0.6167, h * 0.9317); - c.lineTo(w * 0.3813, h * 0.9317); - c.lineTo(w * 0.1478, h * 0.8219); - c.lineTo(w * 0.1478, h * 0.7093); - c.lineTo(w * 0.1365, h * 0.7163); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dRedshift.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRedshift.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.6541); - c.lineTo(0, h * 0.0933); - c.lineTo(w * 0.1371, h * 0.1573); - c.lineTo(w * 0.1371, h * 0.7157); - c.close(); - c.moveTo(w * 0.1485, h * 0.8219); - c.lineTo(w * 0.1485, h * 0.2864); - c.lineTo(w * 0.3846, h * 0.3941); - c.lineTo(w * 0.3846, h * 0.9317); - c.close(); - c.moveTo(w * 0.6642, h * 0.9392); - c.lineTo(w * 0.6642, h * 0.4011); - c.lineTo(w * 0.796, h * 0.4597); - c.lineTo(w * 0.796, h); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.1371, h * 0.7157); - c.lineTo(w * 0.1371, h * 0.1568); - c.lineTo(w * 0.2027, h * 0.1525); - c.lineTo(w * 0.1498, h * 0.1771); - c.lineTo(w * 0.1498, h * 0.7061); - c.close(); - c.moveTo(w * 0.3846, h * 0.3941); - c.lineTo(w * 0.614, h * 0.3941); - c.lineTo(w * 0.6809, h * 0.3632); - c.lineTo(w * 0.6642, h * 0.4); - c.lineTo(w * 0.6642, h * 0.9067); - c.lineTo(w * 0.6191, h * 0.9317); - c.lineTo(w * 0.3833, h * 0.9317); - c.close(); - c.moveTo(w * 0.796, h * 0.4608); - c.lineTo(w * 0.9639, h * 0.4469); - c.lineTo(w, h * 0.3691); - c.lineTo(w, h * 0.9077); - c.lineTo(w * 0.9686, h * 0.9856); - c.lineTo(w * 0.796, h); - c.close(); - c.moveTo(w * 0.3378, h * 0.0608); - c.lineTo(w * 0.3378, h * 0.0907); - c.lineTo(w * 0.3197, h * 0.1008); - c.close(); - c.moveTo(w * 0.8502, h * 0.2843); - c.lineTo(w * 0.8502, h * 0.3083); - c.lineTo(w * 0.794, h * 0.3136); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.6541); - c.lineTo(0, h * 0.0933); - c.lineTo(w * 0.1371, h * 0.1573); - c.lineTo(w * 0.1371, h * 0.7157); - c.close(); - c.moveTo(w * 0.1485, h * 0.8219); - c.lineTo(w * 0.1485, h * 0.2864); - c.lineTo(w * 0.3846, h * 0.3941); - c.lineTo(w * 0.3846, h * 0.9317); - c.close(); - c.moveTo(w * 0.6642, h * 0.9392); - c.lineTo(w * 0.6642, h * 0.4011); - c.lineTo(w * 0.796, h * 0.4597); - c.lineTo(w * 0.796, h); - c.close(); - c.moveTo(w * 0.1371, h * 0.7157); - c.lineTo(w * 0.1371, h * 0.1568); - c.lineTo(w * 0.2027, h * 0.1525); - c.lineTo(w * 0.1498, h * 0.1771); - c.lineTo(w * 0.1498, h * 0.7061); - c.close(); - c.moveTo(w * 0.3846, h * 0.3941); - c.lineTo(w * 0.614, h * 0.3941); - c.lineTo(w * 0.6809, h * 0.3632); - c.lineTo(w * 0.6642, h * 0.4); - c.lineTo(w * 0.6642, h * 0.9067); - c.lineTo(w * 0.6191, h * 0.9317); - c.lineTo(w * 0.3833, h * 0.9317); - c.close(); - c.moveTo(w * 0.796, h * 0.4608); - c.lineTo(w * 0.9639, h * 0.4469); - c.lineTo(w, h * 0.3691); - c.lineTo(w, h * 0.9077); - c.lineTo(w * 0.9686, h * 0.9856); - c.lineTo(w * 0.796, h); - c.close(); - c.moveTo(w * 0.3378, h * 0.0608); - c.lineTo(w * 0.3378, h * 0.0907); - c.lineTo(w * 0.3197, h * 0.1008); - c.close(); - c.moveTo(w * 0.8502, h * 0.2843); - c.lineTo(w * 0.8502, h * 0.3083); - c.lineTo(w * 0.794, h * 0.3136); - c.close(); - c.moveTo(w * 0.6167, h * 0.3941); - c.lineTo(w * 0.6167, h * 0.9317); - c.moveTo(w * 0.9652, h * 0.4448); - c.lineTo(w * 0.9652, h * 0.9851); - c.stroke(); - - c.restore(); - c.setShadow(false); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.4903, h * 0.1259); - c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.5023, h * 0.1189); - c.arcTo(w * 0.2007, h * 0.16, 0, 0, 1, w * 0.5639, h * 0.1333); - c.arcTo(w * 0.602, h * 0.48, 0, 0, 1, w * 0.7157, h * 0.2005); - c.arcTo(w * 0.2006, h * 0.16, 0, 0, 1, w * 0.7565, h * 0.2315); - c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.7445, h * 0.2421); - c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 1, w * 0.6742, h * 0.2251); - c.arcTo(w * 0.602, h * 0.48, 0, 0, 1, w * 0.5204, h * 0.1541); - c.arcTo(w * 0.1338, h * 0.1067, 0, 0, 1, w * 0.4903, h * 0.1259); - c.close(); - c.moveTo(w * 0.4789, h * 0.1275); - c.arcTo(w * 0.0334, h * 0.0267, 0, 0, 0, w * 0.487, h * 0.1461); - c.arcTo(w * 0.1672, h * 0.1333, 0, 0, 0, w * 0.5237, h * 0.1728); - c.arcTo(w * 0.6689, h * 0.5333, 0, 0, 0, w * 0.6609, h * 0.2352); - c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 0, w * 0.7244, h * 0.2501); - c.arcTo(w * 0.0201, h * 0.016, 0, 0, 0, w * 0.7411, h * 0.2475); - c.lineTo(w * 0.5385, h * 0.3408); - c.arcTo(w * 0.0669, h * 0.05333, 0, 0, 1, w * 0.512, h * 0.3397); - c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 1, w * 0.4548, h * 0.3248); - c.arcTo(w * 0.6689, h * 0.5333, 0, 0, 1, w * 0.3084, h * 0.2565); - c.arcTo(w * 0.1672, h * 0.1333, 0, 0, 1, w * 0.2776, h * 0.2304); - c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.2776, h * 0.2197); - c.close(); - c.fill(); - - var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff'); - c.setFillColor(fillColor); - c.setLineJoin('round'); - c.setLineCap('round'); - c.begin(); - c.moveTo(w * 0.3398, h * 0.2421); - c.lineTo(w * 0.4769, h * 0.1797); - c.lineTo(w * 0.6341, h * 0.2512); - c.lineTo(w * 0.4936, h * 0.3147); - c.fill(); - - c.begin(); - c.moveTo(w * 0.4334, h * 0.1941); - c.lineTo(w * 0.6207, h * 0.2811); - c.moveTo(w * 0.5338, h * 0.1995); - c.lineTo(w * 0.3866, h * 0.2688); - c.moveTo(w * 0.5873, h * 0.2235); - c.lineTo(w * 0.4334, h * 0.2955); - c.stroke(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.6517); - c.lineTo(0, h * 0.0912); - c.lineTo(w * 0.0368, h * 0.0155); - c.lineTo(w * 0.2047, 0); - c.lineTo(w * 0.3378, h * 0.0619); - c.lineTo(w * 0.3378, h * 0.0912); - c.lineTo(w * 0.3819, h * 0.0693); - c.lineTo(w * 0.6154, h * 0.0693); - c.lineTo(w * 0.8502, h * 0.1776); - c.lineTo(w * 0.8502, h * 0.3083); - c.lineTo(w * 0.8682, h * 0.3061); - c.lineTo(w, h * 0.3664); - c.lineTo(w, h * 0.9099); - c.lineTo(w * 0.9672, h * 0.9861); - c.lineTo(w * 0.7926, h); - c.lineTo(w * 0.6629, h * 0.9392); - c.lineTo(w * 0.6629, h * 0.9099); - c.lineTo(w * 0.6167, h * 0.9317); - c.lineTo(w * 0.3813, h * 0.9317); - c.lineTo(w * 0.1478, h * 0.8219); - c.lineTo(w * 0.1478, h * 0.7093); - c.lineTo(w * 0.1365, h * 0.7163); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dRedshift.prototype.cst.REDSHIFT, mxShapeAws3dRedshift); - -//********************************************************************************************************************************************************** -//Lambda -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dLambda(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dLambda, mxShape); - -mxShapeAws3dLambda.prototype.cst = { - LAMBDA : 'mxgraph.aws3d.lambda', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dLambda.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 92; - var strokeWidth2 = strokeWidth * h / 109.5; - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - this.background(c, 0, 0, w, h, strokeWidth); - c.setShadow(false); - this.foreground(c, 0, 0, w, h, strokeWidth); -}; - -mxShapeAws3dLambda.prototype.background = function(c, x, y, w, h, strokeWidth) -{ - c.setStrokeWidth(strokeWidth); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.1671); - c.lineTo(w * 0.3424, 0); - c.lineTo(w * 0.663, 0); - c.lineTo(w, h * 0.1671); - c.lineTo(w, h * 0.8365); - c.lineTo(w * 0.663, h); - c.lineTo(w * 0.3424, h); - c.lineTo(0, h * 0.8365); - c.close(); - c.fillAndStroke(); -}; - -mxShapeAws3dLambda.prototype.foreground = function(c, x, y, w, h, strokeWidth) -{ - c.restore(); - c.setShadow(false); - c.setFillColor('#000000'); - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dLambda.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(0, h * 0.3242); - c.lineTo(w * 0.3424, h * 0.4895); - c.lineTo(w * 0.663, h * 0.4895); - c.lineTo(w * 0.663, h); - c.lineTo(w * 0.3424, h); - c.lineTo(0, h * 0.8365); - c.close(); - c.moveTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.close(); - c.moveTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.lineTo(w * 0., h * 0.); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.663, h * 0.4895); - c.lineTo(w, h * 0.3242); - c.lineTo(w, h * 0.8365); - c.lineTo(w * 0.663, h); - c.close(); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.3242); - c.lineTo(w * 0.3424, h * 0.4895); - c.lineTo(w * 0.663, h * 0.4895); - c.lineTo(w, h * 0.3242); - c.moveTo(w * 0.3424, h * 0.4895); - c.lineTo(w * 0.3424, h); - c.moveTo(w * 0.663, h * 0.4895); - c.lineTo(w * 0.663, h); - c.stroke(); - - c.setFillColor("#5E5E5E"); - - c.begin(); - c.moveTo(w * 0.3804, h * 0.1169); - c.arcTo(w * 0.5435, h * 0.4566, 0, 0, 1, w * 0.6087, h * 0.1123); - c.arcTo(w * 0.33804, h * 0.3196, 0, 0, 1, w * 0.725, h * 0.1553); - c.arcTo(w * 0.1304, h * 0.1096, 0, 0, 1, w * 0.7924, h * 0.2402); - c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.725, h * 0.3333); - c.arcTo(w * 0.4416, h * 0.274, 0, 0, 1, w * 0.6087, h * 0.3772); - c.arcTo(w * 0.5435, h * 0.4566, 0, 0, 1, w * 0.3804, h * 0.3708); - c.arcTo(w * 0.3804, h * 0.3196, 0, 0, 1, w * 0.2772, h * 0.3324); - c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.2163, h * 0.2539); - c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.2663, h * 0.1644); - c.arcTo(w * 0.3804, h * 0.3196, 0, 0, 1, w * 0.3804, h * 0.1169); - c.fill(); - - c.setFillColor("#ffffff"); - - c.begin(); - c.moveTo(w * 0.5565, h * 0.2174); - c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 0, w * 0.5837, h * 0.1945); - c.arcTo(w * 0.0326, h * 0.0274, 0, 0, 0, w * 0.5793, h * 0.1671); - c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 0, w * 0.525, h * 0.1598); - c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 1, w * 0.5543, h * 0.1443); - c.arcTo(w * 0.0761, h * 0.0639, 0, 0, 1, w * 0.6163, h * 0.1662); - c.arcTo(w * 0.0598, h * 0.0502, 0, 0, 1, w * 0.6087, h * 0.2091); - c.lineTo(w * 0.5, h * 0.3032); - c.arcTo(w * 0.0978, h * 0.0822, 0, 0, 0, w * 0.4728, h * 0.3379); - c.arcTo(w * 0.0272, h * 0.0228, 0, 0, 0, w * 0.4924, h * 0.3571); - c.arcTo(w * 0.0326, h * 0.0274, 0, 0, 1, w * 0.4489, h * 0.3571); - c.arcTo(w * 0.038, h * 0.032, 0, 0, 1, w * 0.437, h * 0.3242); - c.arcTo(w * 0.1087, h * 0.0913, 0, 0, 1, w * 0.4674, h * 0.2886); - c.lineTo(w * 0.5141, h * 0.2557); - c.lineTo(w * 0.3185, h * 0.2895); - c.lineTo(w * 0.2641, h * 0.2648); - c.close(); - c.fill(); - - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - - c.begin(); - c.moveTo(0, h * 0.1671); - c.lineTo(w * 0.3424, 0); - c.lineTo(w * 0.663, 0); - c.lineTo(w, h * 0.1671); - c.lineTo(w, h * 0.8365); - c.lineTo(w * 0.663, h); - c.lineTo(w * 0.3424, h); - c.lineTo(0, h * 0.8365); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dLambda.prototype.cst.LAMBDA, mxShapeAws3dLambda); - -//********************************************************************************************************************************************************** -//EBS 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws3dEbs2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws3dEbs2, mxShape); - -mxShapeAws3dEbs2.prototype.cst = { - EBS2 : 'mxgraph.aws3d.ebs2', - SHADING_COLORS : 'shadingCols' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws3dEbs2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); - var strokeWidth1 = strokeWidth * w / 92; - var strokeWidth2 = strokeWidth * h / 60; - var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); - - strokeWidth = Math.min(strokeWidth1, strokeWidth2); - - c.setStrokeWidth(strokeWidth); - c.setShadow(false); - c.save(); - c.save(); - c.setStrokeWidth(2 * strokeWidth); - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - if(isShadow == 1) - { - c.setShadow(true); - } - - c.begin(); - c.moveTo(0, h * 0.5276); - c.lineTo(0, h * 0.4188); - c.lineTo(w * 0.071, h * 0.2898); - c.lineTo(w * 0.4033, 0); - c.lineTo(w * 0.9301, h * 0.464); - c.lineTo(w, h * 0.5863); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.close(); - c.fillAndStroke(); - - c.restore(); - c.setFillColor('#000000'); - - var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEbs2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); - var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); - (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); - - c.begin(); - c.moveTo(w * 0.071, h * 0.2948); - c.lineTo(w * 0.6011, h * 0.7621); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.lineTo(0, h * 0.5276); - c.lineTo(0, h * 0.4137); - c.close(); - c.fill(); - - (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); - c.begin(); - c.moveTo(w * 0.6011, h * 0.7655); - c.lineTo(w * 0.9344, h * 0.4724); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.close(); - c.fill(); - - c.restore(); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(w * 0.071, h * 0.2948); - c.lineTo(w * 0.6011, h * 0.7621); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.lineTo(0, h * 0.5276); - c.lineTo(0, h * 0.4137); - c.close(); - c.moveTo(w * 0.6011, h * 0.7655); - c.lineTo(w * 0.9344, h * 0.4724); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.close(); - c.moveTo(w * 0.0033, h * 0.5276); - c.lineTo(w * 0.071, h * 0.2898); - c.moveTo(w * 0.5325, h * 0.9976); - c.lineTo(w * 0.603, h * 0.7593); - c.stroke(); - - c.setStrokeWidth(2 * strokeWidth); - c.setLineCap('round'); - - c.begin(); - c.moveTo(w * 0.3388, h * 0.3802); - c.lineTo(w * 0.5027, h * 0.2345); - c.lineTo(w * 0.6667, h * 0.3802); - c.lineTo(w * 0.5027, h * 0.526); - c.close(); - c.moveTo(w * 0.4426, h * 0.3802); - c.lineTo(w * 0.5027, h * 0.3266); - c.lineTo(w * 0.5628, h * 0.3802); - c.lineTo(w * 0.5027, h * 0.4338); - c.close(); - c.moveTo(w * 0.3867, h * 0.3284); - c.lineTo(w * 0.3541, h * 0.2998); - c.moveTo(w * 0.4436, h * 0.2748); - c.lineTo(w * 0.4077, h * 0.2412); - c.moveTo(w * 0.5704, h * 0.2803); - c.lineTo(w * 0.5992, h * 0.2513); - c.moveTo(w * 0.6231, h * 0.3284); - c.lineTo(w * 0.6503, h * 0.3032); - c.moveTo(w * 0.622, h * 0.4338); - c.lineTo(w * 0.6557, h * 0.4606); - c.moveTo(w * 0.5667, h * 0.4845); - c.lineTo(w * 0.5992, h * 0.5156); - c.moveTo(w * 0.4414, h * 0.4874); - c.lineTo(w * 0.412, h * 0.5159); - c.moveTo(w * 0.3889, h * 0.4405); - c.lineTo(w * 0.3607, h * 0.4657); - c.stroke(); - - c.setStrokeColor('#292929'); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h * 0.5276); - c.lineTo(0, h * 0.4188); - c.lineTo(w * 0.071, h * 0.2898); - c.lineTo(w * 0.4033, 0); - c.lineTo(w * 0.9301, h * 0.464); - c.lineTo(w, h * 0.5863); - c.lineTo(w, h * 0.7035); - c.lineTo(w * 0.6667, h); - c.lineTo(w * 0.5355, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAws3dEbs2.prototype.cst.EBS2, mxShapeAws3dEbs2); - -//********************************************************************************************************************************************************** -//Elasticache -//********************************************************************************************************************************************************** -///** -//* Extends mxShape. -//*/ -//function mxShapeAws3dElasticache(bounds, fill, stroke, strokewidth) -//{ -// mxShape.call(this); -// this.bounds = bounds; -// this.fill = fill; -// this.stroke = stroke; -// this.strokewidth = (strokewidth != null) ? strokewidth : 1; -//}; -// -///** -//* Extends mxShape. -//*/ -//mxUtils.extend(mxShapeAws3dElasticache, mxShape); -// -//mxShapeAws3dElasticache.prototype.cst = { -// ELASTICACHE : 'mxgraph.aws3d.elasticache', -// SHADING_COLORS : 'shadingCols' -//}; -// -///** -//* Function: paintVertexShape -//* -//* Paints the vertex shape. -//*/ -//mxShapeAws3dElasticache.prototype.paintVertexShape = function(c, x, y, w, h) -//{ -// c.translate(x, y); -// -// var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); -// var strokeWidth1 = strokeWidth * w / 123; -// var strokeWidth2 = strokeWidth * h / 143; -// var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); -// -// strokeWidth = Math.min(strokeWidth1, strokeWidth2); -// -// c.setStrokeWidth(strokeWidth); -// c.setShadow(false); -// c.save(); -// c.save(); -// c.setStrokeWidth(2 * strokeWidth); -// c.setStrokeColor('#292929'); -// c.setLineJoin('round'); -// -// if(isShadow == 1) -// { -// c.setShadow(true); -// } -// -// c.begin(); -// c.moveTo(0, h * 0.7483); -// c.lineTo(0, h * 0.6294); -// c.lineTo(w * 0.061, h * 0.5944); -// c.lineTo(0, h * 0.563); -// c.lineTo(0, h * 0.4406); -// c.lineTo(w * 0.061, h * 0.4091); -// c.lineTo(0, h * 0.3776); -// c.lineTo(0, h * 0.2517); -// c.lineTo(w * 0.5041, 0); -// c.lineTo(w, h * 0.2483); -// c.lineTo(w, h * 0.3741); -// c.lineTo(w * 0.939, h * 0.4091); -// c.lineTo(w, h * 0.4406); -// c.lineTo(w, h * 0.563); -// c.lineTo(w * 0.939, h * 0.5944); -// c.lineTo(w, h * 0.6294); -// c.lineTo(w, h * 0.751); -// c.lineTo(w * 0.5041, h); -// c.close(); -// c.fillAndStroke(); -// -// c.restore(); -// c.setFillColor('#000000'); -// -// var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticache.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); -// var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); -// (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); -// -// c.begin(); -// c.moveTo(0, h * 0.2517); -// c.lineTo(w * 0.5041, h * 0.4965); -// c.lineTo(w * 0.5041, h * 0.6294); -// c.lineTo(0, h * 0.3776); -// c.close(); -// c.moveTo(0, h * 0.4406); -// c.lineTo(w * 0.5041, h * 0.6853); -// c.lineTo(w * 0.5041, h * 0.8112); -// c.lineTo(0, h * 0.5629); -// c.close(); -// c.moveTo(0, h * 0.6294); -// c.lineTo(w * 0.5041, h * 0.8741); -// c.lineTo(w * 0.5041, h); -// c.lineTo(0, h * 0.7483); -// c.close(); -// c.moveTo(w * 0.6179, h * 0.2517); -// c.lineTo(w * 0.752, h * 0.1853); -// c.lineTo(w * 0.752, h * 0.3217); -// c.close(); -// c.fill(); -// -// (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); -// c.begin(); -// c.moveTo(w * 0.5041, h * 0.4965); -// c.lineTo(w, h * 0.2517); -// c.lineTo(w, h * 0.3741); -// c.lineTo(w * 0.5041, h * 0.6294); -// c.close(); -// c.moveTo(w * 0.5041, h * 0.6853); -// c.lineTo(w, h * 0.4406); -// c.lineTo(w, h * 0.5629); -// c.lineTo(w * 0.5041, h * 0.8112); -// c.close(); -// c.moveTo(w * 0.5041, h * 0.8741); -// c.lineTo(w, h * 0.6294); -// c.lineTo(w, h * 0.7483); -// c.lineTo(w * 0.5041, h); -// c.close(); -// c.moveTo(w * 0.752, h * 0.1853); -// c.lineTo(w * 0.8821, h * 0.2517); -// c.lineTo(w * 0.752, h * 0.3217); -// c.close(); -// c.fill(); -// -// c.restore(); -// c.setLineJoin('round'); -// -// c.begin(); -// c.moveTo(0, h * 0.2517); -// c.lineTo(w * 0.5041, h * 0.4965); -// c.lineTo(w * 0.5041, h * 0.6294); -// c.lineTo(0, h * 0.3776); -// c.close(); -// c.moveTo(0, h * 0.4406); -// c.lineTo(w * 0.5041, h * 0.6853); -// c.lineTo(w * 0.5041, h * 0.8112); -// c.lineTo(0, h * 0.5629); -// c.close(); -// c.moveTo(0, h * 0.6294); -// c.lineTo(w * 0.5041, h * 0.8741); -// c.lineTo(w * 0.5041, h); -// c.lineTo(0, h * 0.7483); -// c.close(); -// c.moveTo(w * 0.5041, h * 0.4965); -// c.lineTo(w, h * 0.2517); -// c.lineTo(w, h * 0.3741); -// c.lineTo(w * 0.5041, h * 0.6294); -// c.close(); -// c.moveTo(w * 0.5041, h * 0.6853); -// c.lineTo(w, h * 0.4406); -// c.lineTo(w, h * 0.5629); -// c.lineTo(w * 0.5041, h * 0.8112); -// c.close(); -// c.moveTo(w * 0.5041, h * 0.8741); -// c.lineTo(w, h * 0.6294); -// c.lineTo(w, h * 0.7483); -// c.lineTo(w * 0.5041, h); -// c.close(); -// c.stroke(); -// -// c.setStrokeWidth(2 * strokeWidth); -// c.setLineCap('round'); -// var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); -// c.setFillColor(strokeColor); -// -// c.begin(); -// c.moveTo(w * 0.222, h * 0.2028); -// c.arcTo(w * 0.1463, h * 0.1259, 0, 0, 1, w * 0.3154, h * 0.2014); -// c.arcTo(w * 0.122, h * 0.1049, 0, 0, 1, w * 0.3642, h * 0.2245); -// c.arcTo(w * 0.0325, h * 0.028, 0, 0, 1, w * 0.3618, h * 0.2552); -// c.arcTo(w * 0.122, h * 0.1049, 0, 0, 1, w * 0.3252, h * 0.2798); -// c.arcTo(w * 0.1626, h * 0.1399, 0, 0, 1, w * 0.2276, h * 0.2797); -// c.arcTo(w * 0.0976, h * 0.0839, 0, 0, 1, w * 0.187, h * 0.2622); -// c.arcTo(w * 0.0325, h * 0.028, 0, 0, 1, w * 0.187, h * 0.2238); -// c.arcTo(w * 0.0976, h * 0.0839, 0, 0, 1, w * 0.222, h * 0.2028); -// c.close(); -// c.moveTo(w * 0.3618, h * 0.1434); -// c.lineTo(w * 0.4309, h * 0.1189); -// c.lineTo(w * 0.4309, h * 0.0755); -// c.lineTo(w * 0.4992, h * 0.1014); -// c.lineTo(w * 0.5813, h * 0.0874); -// c.lineTo(w * 0.5488, h * 0.1294); -// c.lineTo(w * 0.6057, h * 0.1608); -// c.lineTo(w * 0.5163, h * 0.1608); -// c.lineTo(w * 0.4634, h * 0.2028); -// c.lineTo(w * 0.4431, h * 0.1538); -// c.close(); -// c.moveTo(w * 0.3821, h * 0.3601); -// c.lineTo(w * 0.5894, h * 0.3322); -// c.lineTo(w * 0.5325, h * 0.4394); -// c.close(); -// c.fill(); -// -// c.setStrokeColor('#292929'); -// c.setLineJoin('round'); -// -// c.begin(); -// c.moveTo(0, h * 0.7483); -// c.lineTo(0, h * 0.6294); -// c.lineTo(w * 0.061, h * 0.5944); -// c.lineTo(0, h * 0.563); -// c.lineTo(0, h * 0.4406); -// c.lineTo(w * 0.061, h * 0.4091); -// c.lineTo(0, h * 0.3776); -// c.lineTo(0, h * 0.2517); -// c.lineTo(w * 0.5041, 0); -// c.lineTo(w, h * 0.2483); -// c.lineTo(w, h * 0.3741); -// c.lineTo(w * 0.939, h * 0.4091); -// c.lineTo(w, h * 0.4406); -// c.lineTo(w, h * 0.563); -// c.lineTo(w * 0.939, h * 0.5944); -// c.lineTo(w, h * 0.6294); -// c.lineTo(w, h * 0.751); -// c.lineTo(w * 0.5041, h); -// c.close(); -// c.stroke(); -//}; -// -//mxCellRenderer.registerShape(mxShapeAws3dElasticache.prototype.cst.ELASTICACHE, mxShapeAws3dElasticache); - -//********************************************************************************************************************************************************** -//Kinesis Stream -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -//function mxShapeAws3dKinesisStream(bounds, fill, stroke, strokewidth) -//{ -// mxShape.call(this); -// this.bounds = bounds; -// this.fill = fill; -// this.stroke = stroke; -// this.strokewidth = (strokewidth != null) ? strokewidth : 1; -//}; -// -///** -//* Extends mxShape. -//*/ -//mxUtils.extend(mxShapeAws3dKinesisStream, mxShape); -// -//mxShapeAws3dKinesisStream.prototype.cst = { -// KINESIS_STREAM : 'mxgraph.aws3d.kinesisStream', -// SHADING_COLORS : 'shadingCols' -//}; -// -///** -//* Function: paintVertexShape -//* -//* Paints the vertex shape. -//*/ -//mxShapeAws3dKinesisStream.prototype.paintVertexShape = function(c, x, y, w, h) -//{ -// c.translate(x, y); -// -// var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); -// var strokeWidth1 = strokeWidth * w / 220; -// var strokeWidth2 = strokeWidth * h / 160; -// var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); -// -// strokeWidth = Math.min(strokeWidth1, strokeWidth2); -// -// c.setStrokeWidth(strokeWidth); -// c.setShadow(false); -// c.save(); -// c.save(); -// c.setStrokeWidth(2 * strokeWidth); -// c.setStrokeColor('#292929'); -// c.setLineJoin('round'); -// -// if(isShadow == 1) -// { -// c.setShadow(true); -// } -// -// c.begin(); -// c.moveTo(0, h * 0.5503); -// c.lineTo(w * 0.0455, h * 0.4623); -// c.lineTo(w * 0.6054, h * 0.0157); -// c.lineTo(w * 0.6623, h * 0.0629); -// c.lineTo(w * 0.7396, 0); -// c.lineTo(w * 0.8239, h * 0.0692); -// c.lineTo(w * 0.8671, h * 0.2233); -// c.lineTo(w * 0.9513, h * 0.2943); -// c.lineTo(w, h * 0.4528); -// c.lineTo(w * 0.9595, h * 0.5365); -// c.lineTo(w * 0.396, h * 0.9843); -// c.lineTo(w * 0.3391, h * 0.9403); -// c.lineTo(w * 0.2617, h); -// c.lineTo(w * 0.173, h * 0.9308); -// c.lineTo(w * 0.1297, h * 0.7736); -// c.lineTo(w * 0.0432, h * 0.7044); -// c.close(); -// c.fillAndStroke(); -// -// c.restore(); -// c.setFillColor('#000000'); -// -// var shading = mxUtils.getValue(this.state.style, mxShapeAws3dKinesisStream.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); -// var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); -// (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); -// -// c.begin(); -// c.moveTo(w * 0.0432, h * 0.4654); -// c.lineTo(w * 0.132, h * 0.5314); -// c.lineTo(w * 0.1775, h * 0.4465); -// c.lineTo(w * 0.264, h * 0.5189); -// c.lineTo(w * 0.3072, h * 0.673); -// c.lineTo(w * 0.396, h * 0.7453); -// c.lineTo(w * 0.4392, h * 0.8994); -// c.lineTo(w * 0.396, h * 0.9843); -// c.lineTo(w * 0.305, h * 0.9151); -// c.lineTo(w * 0.2617, h); -// c.lineTo(w * 0.173, h * 0.9308); -// c.lineTo(w * 0.1297, h * 0.7736); -// c.lineTo(w * 0.0432, h * 0.7044); -// c.lineTo(0, h * 0.5503); -// c.close(); -// c.fill(); -// -// (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); -// c.begin(); -// c.moveTo(w * 0.264, h * 0.5204); -// c.lineTo(w * 0.8239, h * 0.0676); -// c.lineTo(w * 0.8694, h * 0.228); -// c.lineTo(w * 0.3072, h * 0.673); -// c.close(); -// c.moveTo(w * 0.3937, h * 0.7453); -// c.lineTo(w * 0.9536, h * 0.2956); -// c.lineTo(w, h * 0.4528); -// c.lineTo(w * 0.9558, h * 0.5377); -// c.lineTo(w * 0.396, h * 0.9843); -// c.lineTo(w * 0.4392, h * 0.8994); -// c.close(); -// c.moveTo(w * 0.2617, h); -// c.lineTo(w * 0.305, h * 0.9151); -// c.lineTo(w * 0.3368, h * 0.9403); -// c.close(); -// c.fill(); -// -// c.setAlpha('0.5'); -// c.begin(); -// c.moveTo(w * 0.0546, h * 0.5094); -// c.lineTo(w * 0.1161, h * 0.5597); -// c.lineTo(w * 0.1479, h * 0.6761); -// c.lineTo(w * 0.1183, h * 0.7264); -// c.lineTo(w * 0.0569, h * 0.6792); -// c.lineTo(w * 0.025, h * 0.566); -// c.close(); -// c.moveTo(w * 0.1889, h * 0.4937); -// c.lineTo(w * 0.2503, h * 0.544); -// c.lineTo(w * 0.2822, h * 0.6572); -// c.lineTo(w * 0.2526, h * 0.717); -// c.lineTo(w * 0.1934, h * 0.6667); -// c.lineTo(w * 0.1593, h * 0.5566); -// c.close(); -// c.moveTo(w * 0.3195, h * 0.7201); -// c.lineTo(w * 0.3801, h * 0.7704); -// c.lineTo(w * 0.4137, h * 0.8805); -// c.lineTo(w * 0.3819, h * 0.9403); -// c.lineTo(w * 0.3209, h * 0.8912); -// c.lineTo(w * 0.2904, h * 0.783); -// c.close(); -// c.moveTo(w * 0.1866, h * 0.7358); -// c.lineTo(w * 0.2458, h * 0.783); -// c.lineTo(w * 0.2776, h * 0.8962); -// c.lineTo(w * 0.2481, h * 0.956); -// c.lineTo(w * 0.1866, h * 0.9057); -// c.lineTo(w * 0.157, h * 0.7893); -// c.close(); -// c.fill(); -// -// c.restore(); -// c.setLineJoin('round'); -// -// c.begin(); -// c.moveTo(w * 0.0432, h * 0.4654); -// c.lineTo(w * 0.132, h * 0.5314); -// c.lineTo(w * 0.1775, h * 0.4465); -// c.lineTo(w * 0.264, h * 0.5189); -// c.lineTo(w * 0.3072, h * 0.673); -// c.lineTo(w * 0.396, h * 0.7453); -// c.lineTo(w * 0.4392, h * 0.8994); -// c.lineTo(w * 0.396, h * 0.9843); -// c.lineTo(w * 0.305, h * 0.9151); -// c.lineTo(w * 0.2617, h); -// c.lineTo(w * 0.173, h * 0.9308); -// c.lineTo(w * 0.1297, h * 0.7736); -// c.lineTo(w * 0.0432, h * 0.7044); -// c.lineTo(0, h * 0.5503); -// c.close(); -// c.moveTo(w * 0.264, h * 0.5204); -// c.lineTo(w * 0.8239, h * 0.0676); -// c.lineTo(w * 0.8694, h * 0.228); -// c.lineTo(w * 0.3072, h * 0.673); -// c.close(); -// c.moveTo(w * 0.3937, h * 0.7453); -// c.lineTo(w * 0.9536, h * 0.2956); -// c.lineTo(w, h * 0.4528); -// c.lineTo(w * 0.9558, h * 0.5377); -// c.lineTo(w * 0.396, h * 0.9843); -// c.lineTo(w * 0.4392, h * 0.8994); -// c.close(); -// c.moveTo(w * 0.2617, h); -// c.lineTo(w * 0.305, h * 0.9151); -// c.lineTo(w * 0.3368, h * 0.9403); -// c.close(); -// c.moveTo(w * 0.0546, h * 0.5094); -// c.lineTo(w * 0.1161, h * 0.5597); -// c.lineTo(w * 0.1479, h * 0.6761); -// c.lineTo(w * 0.1183, h * 0.7264); -// c.lineTo(w * 0.0569, h * 0.6792); -// c.lineTo(w * 0.025, h * 0.566); -// c.close(); -// c.moveTo(w * 0.1889, h * 0.4937); -// c.lineTo(w * 0.2503, h * 0.544); -// c.lineTo(w * 0.2822, h * 0.6572); -// c.lineTo(w * 0.2526, h * 0.717); -// c.lineTo(w * 0.1934, h * 0.6667); -// c.lineTo(w * 0.1593, h * 0.5566); -// c.close(); -// c.moveTo(w * 0.3195, h * 0.7201); -// c.lineTo(w * 0.3801, h * 0.7704); -// c.lineTo(w * 0.4137, h * 0.8805); -// c.lineTo(w * 0.3819, h * 0.9403); -// c.lineTo(w * 0.3209, h * 0.8912); -// c.lineTo(w * 0.2904, h * 0.783); -// c.close(); -// c.moveTo(w * 0.1866, h * 0.7358); -// c.lineTo(w * 0.2458, h * 0.783); -// c.lineTo(w * 0.2776, h * 0.8962); -// c.lineTo(w * 0.2481, h * 0.956); -// c.lineTo(w * 0.1866, h * 0.9057); -// c.lineTo(w * 0.157, h * 0.7893); -// c.close(); -// c.moveTo(w * 0.1775, h * 0.4465); -// c.lineTo(w * 0.7374, 0); -// c.moveTo(w * 0.4392, h * 0.8994); -// c.lineTo(w, h * 0.4528); -// c.moveTo(w * 0.1331, h * 0.533); -// c.lineTo(w * 0.1809, h * 0.6934); -// c.lineTo(w * 0.2617, h * 0.7626); -// c.lineTo(w * 0.3061, h * 0.9151); -// c.moveTo(w * 0.1295, h * 0.7764); -// c.lineTo(w * 0.1807, h * 0.6928); -// c.moveTo(w * 0.264, h * 0.7642); -// c.lineTo(w * 0.3095, h * 0.673); -// c.moveTo(w * 0.3641, h * 0.2327); -// c.lineTo(w * 0.3241, h * 0.2673); -// c.lineTo(w * 0.3619, h * 0.2987); -// c.moveTo(w * 0.3468, h * 0.2736); -// c.lineTo(w * 0.3596, h * 0.261); -// c.moveTo(w * 0.3573, h * 0.283); -// c.lineTo(w * 0.3823, h * 0.261); -// c.moveTo(w * 0.4916, h * 0.217); -// c.lineTo(w * 0.4483, h * 0.2547); -// c.lineTo(w * 0.5052, h * 0.3019); -// c.moveTo(w * 0.4679, h * 0.2591); -// c.lineTo(w * 0.4802, h * 0.2478); -// c.moveTo(w * 0.4811, h * 0.2673); -// c.lineTo(w * 0.5098, h * 0.2421); -// c.moveTo(w * 0.4939, h * 0.2767); -// c.lineTo(w * 0.5121, h * 0.261); -// c.moveTo(w * 0.5043, h * 0.2868); -// c.lineTo(w * 0.5371, h * 0.2579); -// c.moveTo(w * 0.6259, h * 0.4371); -// c.lineTo(w * 0.5826, h * 0.4717); -// c.lineTo(w * 0.6418, h * 0.522); -// c.moveTo(w * 0.6039, h * 0.4755); -// c.lineTo(w * 0.6187, h * 0.463); -// c.moveTo(w * 0.6158, h * 0.4862); -// c.lineTo(w * 0.6418, h * 0.4623); -// c.moveTo(w * 0.6281, h * 0.4969); -// c.lineTo(w * 0.6486, h * 0.478); -// c.moveTo(w * 0.6395, h * 0.5063); -// c.lineTo(w * 0.6736, h * 0.478); -// -// c.stroke(); -// -// c.setStrokeWidth(2 * strokeWidth); -// c.setLineCap('round'); -// -// c.setStrokeColor('#292929'); -// c.setLineJoin('round'); -// -// c.begin(); -// c.moveTo(0, h * 0.5503); -// c.lineTo(w * 0.0455, h * 0.4623); -// c.lineTo(w * 0.6054, h * 0.0157); -// c.lineTo(w * 0.6623, h * 0.0629); -// c.lineTo(w * 0.7396, 0); -// c.lineTo(w * 0.8239, h * 0.0692); -// c.lineTo(w * 0.8671, h * 0.2233); -// c.lineTo(w * 0.9513, h * 0.2943); -// c.lineTo(w, h * 0.4528); -// c.lineTo(w * 0.9595, h * 0.5365); -// c.lineTo(w * 0.396, h * 0.9843); -// c.lineTo(w * 0.3391, h * 0.9403); -// c.lineTo(w * 0.2617, h); -// c.lineTo(w * 0.173, h * 0.9308); -// c.lineTo(w * 0.1297, h * 0.7736); -// c.lineTo(w * 0.0432, h * 0.7044); -// c.close(); -// c.stroke(); -//}; -// -//mxCellRenderer.registerShape(mxShapeAws3dKinesisStream.prototype.cst.KINESIS_STREAM, mxShapeAws3dKinesisStream); - -//********************************************************************************************************************************************************** -//SQS 2 -//********************************************************************************************************************************************************** -///** -//* Extends mxShape. -//*/ -//function mxShapeAws3dSqs2(bounds, fill, stroke, strokewidth) -//{ -// mxShape.call(this); -// this.bounds = bounds; -// this.fill = fill; -// this.stroke = stroke; -// this.strokewidth = (strokewidth != null) ? strokewidth : 1; -//}; -// -///** -//* Extends mxShape. -//*/ -//mxUtils.extend(mxShapeAws3dSqs2, mxShape); -// -//mxShapeAws3dSqs2.prototype.cst = { -// SQS2 : 'mxgraph.aws3d.sqs2', -// SHADING_COLORS : 'shadingCols' -//}; -// -///** -//* Function: paintVertexShape -//* -//* Paints the vertex shape. -//*/ -//mxShapeAws3dSqs2.prototype.paintVertexShape = function(c, x, y, w, h) -//{ -// c.translate(x, y); -// -// var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1')); -// var strokeWidth1 = strokeWidth * w / 160; -// var strokeWidth2 = strokeWidth * h / 93; -// var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0')); -// -// strokeWidth = Math.min(strokeWidth1, strokeWidth2); -// -// c.setStrokeWidth(strokeWidth); -// c.setShadow(false); -// c.save(); -// c.save(); -// c.setStrokeWidth(2 * strokeWidth); -// c.setStrokeColor('#292929'); -// c.setLineJoin('round'); -// -// if(isShadow == 1) -// { -// c.setShadow(true); -// } -// -// c.begin(); -// c.moveTo(0, h * 0.4737); -// c.lineTo(w * 0.4652, 0); -// c.lineTo(w * 0.6231, h * 0.0602); -// c.lineTo(w * 0.6231, h * 0.1676); -// c.lineTo(w * 0.1567, h * 0.6316); -// c.close(); -// c.moveTo(w * 0.3756, h * 0.8443); -// c.lineTo(w * 0.3756, h * 0.7454); -// c.lineTo(w * 0.8439, h * 0.275); -// c.lineTo(w, h * 0.5328); -// c.lineTo(w * 0.5311, h); -// c.close(); -// c.fillAndStroke(); -// -// c.restore(); -// c.setFillColor('#000000'); -// -// var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSqs2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(','); -// var flipH = mxUtils.getValue(this.state.style, 'flipH', '0'); -// (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]); -// -// c.begin(); -// c.moveTo(0, h * 0.4737); -// c.lineTo(w * 0.1567, h * 0.5274); -// c.lineTo(w * 0.1567, h * 0.6394); -// c.close(); -// c.moveTo(w * 0.3756, h * 0.7454); -// c.lineTo(w * 0.5311, h); -// c.lineTo(w * 0.3756, h * 0.8443); -// c.close(); -// c.fill(); -// -// (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]); -// c.begin(); -// c.moveTo(w * 0.1567, h * 0.5274); -// c.lineTo(w * 0.6231, h * 0.0602); -// c.lineTo(w * 0.6231, h * 0.1676); -// c.lineTo(w * 0.1567, h * 0.6294); -// c.close(); -// c.fill(); -// -// c.restore(); -// c.setLineJoin('round'); -// -// c.begin(); -// c.moveTo(0, h * 0.4737); -// c.lineTo(w * 0.1567, h * 0.5274); -// c.lineTo(w * 0.1567, h * 0.6294); -// c.close(); -// c.moveTo(w * 0.3756, h * 0.7454); -// c.lineTo(w * 0.5311, h); -// c.lineTo(w * 0.3756, h * 0.8443); -// c.close(); -// c.moveTo(w * 0.1567, h * 0.5274); -// c.lineTo(w * 0.6231, h * 0.0602); -// c.lineTo(w * 0.6231, h * 0.1676); -// c.lineTo(w * 0.1567, h * 0.6294); -// c.close(); -// c.stroke(); -// -// c.setStrokeWidth(2 * strokeWidth); -// c.setLineCap('round'); -// -// c.setStrokeColor('#292929'); -// c.setLineJoin('round'); -// -// c.begin(); -// c.moveTo(0, h * 0.4737); -// c.lineTo(w * 0.4652, 0); -// c.lineTo(w * 0.6231, h * 0.0602); -// c.lineTo(w * 0.6231, h * 0.1676); -// c.lineTo(w * 0.1567, h * 0.6316); -// c.close(); -// c.moveTo(w * 0.3756, h * 0.8443); -// c.lineTo(w * 0.3756, h * 0.7454); -// c.lineTo(w * 0.8439, h * 0.275); -// c.lineTo(w, h * 0.5328); -// c.lineTo(w * 0.5311, h); -// c.close(); -// c.stroke(); -// -// c.setFillColor('#F4B934'); -// -// c.begin(); -// c.moveTo(w * 0.1256, h * 0.812); -// c.lineTo(w * 0.24, h * 0.7605); -// c.lineTo(w * 0.1853, h * 0.8829); -// c.close(); -// c.moveTo(w * 0.2417, h * 0.6957); -// c.lineTo(w * 0.3562, h * 0.6441); -// c.lineTo(w * 0.3014, h * 0.7666); -// c.close(); -// c.moveTo(w * 0.3588, h * 0.5793); -// c.lineTo(w * 0.4733, h * 0.5277); -// c.lineTo(w * 0.4185, h * 0.6502); -// c.close(); -// c.moveTo(w * 0.477, h * 0.4611); -// c.lineTo(w * 0.5914, h * 0.4096); -// c.lineTo(w * 0.5367, h * 0.532); -// c.close(); -// c.moveTo(w * 0.591, h * 0.343); -// c.lineTo(w * 0.7054, h * 0.2914); -// c.lineTo(w * 0.6507, h * 0.4139); -// c.close(); -// c.moveTo(w * 0.7091, h * 0.2302); -// c.lineTo(w * 0.8236, h * 0.1786); -// c.lineTo(w * 0.7688, h * 0.3011); -// c.close(); -// c.fillAndStroke(); -//}; -// -//mxCellRenderer.registerShape(mxShapeAws3dSqs2.prototype.cst.SQS2, mxShapeAws3dSqs2); - diff --git a/dist/libs/drawio/shapes/mxAWS4.js b/dist/libs/drawio/shapes/mxAWS4.js deleted file mode 100644 index 44b40508..00000000 --- a/dist/libs/drawio/shapes/mxAWS4.js +++ /dev/null @@ -1,421 +0,0 @@ -/** - * $Id: mxAws4.js,v 1.0 2018/16/11 07:05:39 mate Exp $ - * Copyright (c) 2006-2018, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Product Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws4ProductIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws4ProductIcon, mxShape); - -mxShapeAws4ProductIcon.prototype.cst = { - PRODUCT_ICON : 'mxgraph.aws4.productIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws4ProductIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var opacity = parseFloat(mxUtils.getValue(this.style, 'opacity', '100')); - var op1 = opacity; - var op2 = opacity; - - if (fillColor == 'none') - { - op1 = 0; - } - - if (gradientColor == 'none') - { - op2 = 0; - } - - var ind = 1; - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', 'none'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fill(); - - c.setShadow(false); - var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff'); - var gradientColor = mxUtils.getValue(this.state.style, 'gradientColor', fillColor); - var gradientDir = mxUtils.getValue(this.state.style, 'gradientDirection', 'south'); - - c.setFillColor(fillColor); - c.setGradient(fillColor, gradientColor, 0, 0, w, h, gradientDir, op1, op2); - - c.begin(); - c.moveTo(ind, ind); - c.lineTo(w - ind, ind); - c.lineTo(w - ind, w - ind); - c.lineTo(ind, w - ind); - c.close(); - c.fill(); - - - var prIcon = mxUtils.getValue(this.state.style, 'prIcon', ''); - var stencil = mxStencilRegistry.getStencil(prIcon); - - if (stencil != null) - { - c.setFillColor(strokeColor); - c.setStrokeColor('none'); -// stencil.drawShape(c, this, w * 0.1, h * 0.1, w * 0.8, h * 0.8); - stencil.drawShape(c, this, ind + w * 0.15, ind + w * 0.15, w * 0.7 - 2 * ind, w * 0.7 - 2 * ind); - } - -}; - -mxCellRenderer.registerShape(mxShapeAws4ProductIcon.prototype.cst.PRODUCT_ICON, mxShapeAws4ProductIcon); - -//********************************************************************************************************************************************************** -//Resource Icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws4ResourceIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws4ResourceIcon, mxShape); - -mxShapeAws4ResourceIcon.prototype.cst = { - RESOURCE_ICON : 'mxgraph.aws4.resourceIcon' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws4ResourceIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fill(); - - c.setShadow(false); - - var prIcon = mxUtils.getValue(this.state.style, 'resIcon', ''); - var stencil = mxStencilRegistry.getStencil(prIcon); - - if (stencil != null) - { - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setStrokeColor('none'); - stencil.drawShape(c, this, w * 0.1, h * 0.1, w * 0.8, h * 0.8); - } - -}; - -mxCellRenderer.registerShape(mxShapeAws4ResourceIcon.prototype.cst.RESOURCE_ICON, mxShapeAws4ResourceIcon); - -//********************************************************************************************************************************************************** -//Group -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws4Group(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws4Group, mxShape); - -mxShapeAws4Group.prototype.cst = { - GROUP : 'mxgraph.aws4.group' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws4Group.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var grStroke = mxUtils.getValue(this.state.style, 'grStroke', '1'); - - var size = 25; - - if (this.style != null && mxUtils.getValue(this.style, mxConstants.STYLE_POINTER_EVENTS, '1') == '0') - { - c.pointerEvents = false; - } - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - - if (grStroke == '1') - { - c.fillAndStroke(); - } - else - { - c.fill(); - } - - c.pointerEvents = true; - c.setShadow(false); - - var grIcon = mxUtils.getValue(this.state.style, 'grIcon', ''); - var stencil = mxStencilRegistry.getStencil(grIcon); - - if (stencil != null) - { - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setStrokeColor('none'); - stencil.drawShape(c, this, 0, 0, size, size); - } - -}; - -mxCellRenderer.registerShape(mxShapeAws4Group.prototype.cst.GROUP, mxShapeAws4Group); - -//********************************************************************************************************************************************************** -//Group Center -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws4GroupCenter(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws4GroupCenter, mxShape); - -mxShapeAws4GroupCenter.prototype.cst = { - GROUP_CENTER : 'mxgraph.aws4.groupCenter' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws4GroupCenter.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var grStroke = mxUtils.getValue(this.state.style, 'grStroke', '1'); - - var size = 25; - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - - if (grStroke == '1') - { - c.fillAndStroke(); - } - else - { - c.fill(); - } - - c.setShadow(false); - var grIcon = mxUtils.getValue(this.state.style, 'grIcon', ''); - var stencil = mxStencilRegistry.getStencil(grIcon); - - if (stencil != null) - { - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - c.setStrokeColor('none'); - stencil.drawShape(c, this, (w - size) * 0.5, 0, size, size); - } - -}; - -mxCellRenderer.registerShape(mxShapeAws4GroupCenter.prototype.cst.GROUP_CENTER, mxShapeAws4GroupCenter); - -////********************************************************************************************************************************************************** -////Resource Icon -////********************************************************************************************************************************************************** -///** -//* Extends mxShape. -//*/ -//function mxShapeAws4ResourceIcon(bounds, fill, stroke, strokewidth) -//{ -// mxShape.call(this); -// this.bounds = bounds; -// this.fill = fill; -// this.stroke = stroke; -// this.strokewidth = (strokewidth != null) ? strokewidth : 1; -//}; -// -///** -//* Extends mxShape. -//*/ -//mxUtils.extend(mxShapeAws4ResourceIcon, mxShape); -// -//mxShapeAws4ResourceIcon.prototype.cst = { -// RESOURCE_ICON : 'mxgraph.aws4.resourceIcon' -//}; -// -///** -//* Function: paintVertexShape -//* -//* Paints the vertex shape. -//*/ -//mxShapeAws4ResourceIcon.prototype.paintVertexShape = function(c, x, y, w, h) -//{ -// c.translate(x, y); -// -// c.begin(); -// c.moveTo(0, 0); -// c.lineTo(w, 0); -// c.lineTo(w, h); -// c.lineTo(0, h); -// c.close(); -// c.fillAndStroke(); -// -// var prIcon = mxUtils.getValue(this.state.style, 'resIcon', ''); -// var stencil = mxStencilRegistry.getStencil(prIcon); -// -// if (stencil != null) -// { -// var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); -// c.setFillColor(strokeColor); -// c.setStrokeColor('none'); -// stencil.drawShape(c, this, w * 0.1, h * 0.1, w * 0.8, h * 0.8); -// } -// -//}; - -//********************************************************************************************************************************************************** -//Group2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAws4Group2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAws4Group2, mxShape); - -mxShapeAws4Group2.prototype.cst = { - GROUP2 : 'mxgraph.aws4.group2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAws4Group2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var size = 25; - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(size, 0); - c.lineTo(size, size); - c.lineTo(0, size); - c.close(); - c.fill(); - - var grIcon = mxUtils.getValue(this.state.style, 'grIcon', ''); - var stencil = mxStencilRegistry.getStencil(grIcon); - - if (stencil != null) - { - c.setFillColor('#ffffff'); - c.setStrokeColor('none'); - stencil.drawShape(c, this, size * 0.1, size * 0.1, size * 0.8, size * 0.8); - } - -}; - -mxCellRenderer.registerShape(mxShapeAws4Group2.prototype.cst.GROUP2, mxShapeAws4Group2); - diff --git a/dist/libs/drawio/shapes/mxAndroid.js b/dist/libs/drawio/shapes/mxAndroid.js deleted file mode 100644 index c1194359..00000000 --- a/dist/libs/drawio/shapes/mxAndroid.js +++ /dev/null @@ -1,1510 +0,0 @@ -/** - * $Id: mxAndroid.js,v 1.5 2014/01/21 12:32:06 mate Exp $ - * Copyright (c) 2006-2013, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Horizontal Tab Bar (LEGACY) -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeAndroidTabBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeAndroidTabBar, mxShape); - -mxShapeAndroidTabBar.prototype.cst = { - MAIN_TEXT : 'mainText', - SHAPE_TAB_BAR : 'mxgraph.android.tabBar', - TEXT_COLOR : 'textColor', - TEXT_COLOR2 : 'textColor2', - STROKE_COLOR2 : 'strokeColor2', - FILL_COLOR2 : 'fillColor2', - SELECTED : '+', //must be 1 char - TEXT_SIZE : 'textSize' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeAndroidTabBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeAndroidTabBar.prototype.cst.MAIN_TEXT, '+Tab 1, Tab 2, Tab 3').toString().split(','); - var fontColor = mxUtils.getValue(this.style, mxShapeAndroidTabBar.prototype.cst.TEXT_COLOR, 'none'); - var selectedFontColor = mxUtils.getValue(this.style, mxShapeAndroidTabBar.prototype.cst.TEXT_COLOR2, 'none'); - var fontSize = mxUtils.getValue(this.style, mxShapeAndroidTabBar.prototype.cst.TEXT_SIZE, '17').toString(); - var frameColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, 'none'); - var separatorColor = mxUtils.getValue(this.style, mxShapeAndroidTabBar.prototype.cst.STROKE_COLOR2, 'none'); - var bgColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, 'none'); - var selectedFillColor = mxUtils.getValue(this.style, mxShapeAndroidTabBar.prototype.cst.FILL_COLOR2, 'none'); - var buttonNum = textStrings.length; - var buttonWidths = new Array(buttonNum); - var buttonTotalWidth = 0; - var selectedButton = -1; - var labelOffset = 5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - if(buttonText.charAt(0) === mxShapeAndroidTabBar.prototype.cst.SELECTED) - { - buttonText = textStrings[i].substring(1); - selectedButton = i; - } - - buttonWidths[i] = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - buttonTotalWidth += buttonWidths[i]; - } - - var trueH = Math.max(h, fontSize * 1.5, 7); - var minW = 2 * labelOffset * buttonNum + buttonTotalWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - this.background(c, trueW, trueH, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton); - c.setShadow(false); - - c.setFontStyle(mxConstants.FONT_BOLD); - var currWidth = 0; - - for (var i = 0; i < buttonNum; i++) - { - if (i === selectedButton) - { - c.setFontColor(selectedFontColor); - } - else - { - c.setFontColor(fontColor); - } - - currWidth = currWidth + labelOffset; - this.buttonText(c, currWidth, trueH, textStrings[i], buttonWidths[i], fontSize, minW, trueW); - currWidth = currWidth + buttonWidths[i] + labelOffset; - } -}; - -mxShapeAndroidTabBar.prototype.background = function(c, w, h, buttonNum, buttonWidths, labelOffset, minW, frameColor, separatorColor, bgColor, selectedFillColor, selectedButton) -{ - c.begin(); - - //draw the frame - c.setStrokeColor(frameColor); - c.setFillColor(bgColor); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - //draw the button separators - c.setStrokeColor(separatorColor); - c.begin(); - for (var i = 1; i < buttonNum; i++) - { - if (i !== selectedButton && i !== (selectedButton + 1)) - { - var currWidth = 0; - - for (var j = 0; j < i; j++) - { - currWidth += buttonWidths[j] + 2 * labelOffset; - } - - currWidth = currWidth * w / minW; - c.moveTo(currWidth, h * 0.2); - c.lineTo(currWidth, h * 0.8); - } - } - - c.stroke(); - - //draw the selected button - var buttonLeft = 0; - c.setFillColor(selectedFillColor); - - for (var i = 0; i < selectedButton; i++) - { - buttonLeft += buttonWidths[i] + 2 * labelOffset; - } - - buttonLeft = buttonLeft * w / minW; - var buttonRight = (buttonWidths[selectedButton] + 2 * labelOffset) * w / minW; - buttonRight += buttonLeft; - - c.rect(buttonLeft, 0, buttonRight - buttonLeft, h); - c.fill(); - - c.setAlpha(1); - c.setFillColor('#33b5e5'); - c.rect(buttonLeft, h * 0.9, buttonRight - buttonLeft, h * 0.1); - c.fill(); -}; - -mxShapeAndroidTabBar.prototype.buttonText = function(c, w, h, textString, buttonWidth, fontSize, minW, trueW) -{ - if(textString.charAt(0) === mxShapeAndroidTabBar.prototype.cst.SELECTED) - { - textString = textString.substring(1); - } - - c.begin(); - c.setFontSize(fontSize); - c.text((w + buttonWidth * 0.5) * trueW / minW, h * 0.5, 0, 0, textString, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeAndroidTabBar.prototype.cst.SHAPE_TAB_BAR, mxShapeAndroidTabBar); - -//********************************************************************************************************************************************************** -//Android Phone Vertical -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidPhone(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidPhone, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidPhone.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = 25; - - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); - - c.setShadow(false); - - this.foreground(c, x, y, w, h, rSize); -}; - -mxShapeAndroidPhone.prototype.foreground = function(c, x, y, w, h, rSize) -{ - c.rect(w * 0.0625, h * 0.15, w * 0.875, h * 0.7); - c.stroke(); - - c.ellipse(w * 0.4875, h * 0.04125, w * 0.025, h * 0.0125); - c.stroke(); - - c.roundrect(w * 0.375, h * 0.075, w * 0.25, h * 0.01875, w * 0.02, h * 0.01); - c.stroke(); - c.ellipse(w * 0.4, h * 0.875, w * 0.2, h * 0.1); - c.stroke(); - c.roundrect(w * 0.4575, h * 0.905, w * 0.085, h * 0.04375, h * 0.00625, h * 0.00625); - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.android.phone', mxShapeAndroidPhone); - -//********************************************************************************************************************************************************** -//Android Status Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidStatusBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidStatusBar, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidStatusBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeAndroidStatusBar.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fill(); -}; - -mxShapeAndroidStatusBar.prototype.foreground = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fill(); - - c.setFontColor(mxUtils.getValue(this.style, mxConstants.STYLE_FONTCOLOR, '#222222')); - c.setFontSize(mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '5')); - c.text(w - 30, h * 0.5 + 1, 0, 0, '12:00', mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFillColor('#444444'); - c.begin(); - c.moveTo(w - 37, h * 0.5 + 6); - c.lineTo(w - 37, h * 0.5 - 5); - c.lineTo(w - 36, h * 0.5 - 5); - c.lineTo(w - 36, h * 0.5 - 6); - c.lineTo(w - 32, h * 0.5 - 6); - c.lineTo(w - 32, h * 0.5 - 5); - c.lineTo(w - 31, h * 0.5 - 5); - c.lineTo(w - 31, h * 0.5 + 6); - c.close(); - c.fill(); - - c.setFillColor(mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, 'none')); - c.ellipse(w - 56, h * 0.5 + 2, 2, 2); - c.fillAndStroke(); - - c.setStrokeWidth(2); - c.begin(); - c.moveTo(w - 52, h * 0.5 + 1); - c.arcTo(3.5, 3.5, 0, 0, 0, w - 58, h * 0.5 + 1); - c.stroke(); - - c.begin(); - c.moveTo(w - 50, h * 0.5 - 1); - c.arcTo(6, 6, 0, 0, 0, w - 60, h * 0.5 - 1); - c.stroke(); - - c.setStrokeWidth(1); - - c.rect(w - 51, h * 0.5 + 5, 2, 1); - c.fill(); - - c.rect(w - 48, h * 0.5 + 2, 2, 4); - c.fill(); - - c.rect(w - 45, h * 0.5 - 1, 2, 7); - c.fill(); - - c.rect(w - 42, h * 0.5 - 4, 2, 10); - c.fill(); - - c.rect(w - 37, h * 0.5 - 2, 6, 8); - c.fill(); - -}; - -mxCellRenderer.registerShape('mxgraph.android.statusBar', mxShapeAndroidStatusBar); - -//********************************************************************************************************************************************************** -//Checkbox Button Group -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidCheckboxGroup(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidCheckboxGroup, mxShape); - -mxShapeAndroidCheckboxGroup.prototype.cst = { - STYLE_TEXTCOLOR2 : 'textColor2', - STYLE_STROKECOLOR2 : 'strokeColor2', - BUTTON_TEXT : 'buttonText', - SELECTED : '+' //has to be one character long -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidCheckboxGroup.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fontColor = mxUtils.getValue(this.style, mxConstants.STYLE_TEXTCOLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8').toString(); - var optionText = mxUtils.getValue(this.style, mxShapeAndroidCheckboxGroup.prototype.cst.BUTTON_TEXT, 'Option 1').toString().split(','); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, 'none'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeAndroidCheckboxGroup.prototype.cst.STYLE_STROKECOLOR2, 'none'); - - c.setStrokeColor(strokeColor2); - var optionNum = optionText.length; - var buttonSize = 5; - var lineH = Math.max(fontSize * 1.5, buttonSize); - var maxTextWidth = 0; - var selected = -1; - var labelOffset = 2.5; - var minH = optionNum * lineH; - var trueH = Math.max(h, minH); - - //get min width and selected option - for (var i = 0; i < optionNum; i++) - { - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeAndroidCheckboxGroup.prototype.cst.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - var currWidth = mxUtils.getSizeForString(currText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxTextWidth) - { - maxTextWidth = currWidth; - } - } - - var minW = 2 * labelOffset + maxTextWidth + 2 * buttonSize; - var trueW = Math.max(w, minW); - - //draw the background - c.roundrect(0, 0, trueW, trueH, 2.5, 2.5); - c.fillAndStroke(); - c.setShadow(false); - - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.setStrokeColor(strokeColor); - - for (var i = 0; i < optionNum; i++) - { - var currHeight = (i * lineH + lineH * 0.5) * trueH / minH; - - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeAndroidCheckboxGroup.prototype.cst.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - c.text(buttonSize * 2 + labelOffset, currHeight, 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var iconX = buttonSize * 0.5; - var iconY = currHeight - buttonSize * 0.5; - - if (selected === i) - { - c.rect(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - c.begin(); - c.moveTo(iconX + buttonSize * 0.25, iconY + buttonSize * 0.5); - c.lineTo(iconX + buttonSize * 0.5, iconY + buttonSize * 0.75); - c.lineTo(iconX + buttonSize * 0.75, iconY + buttonSize * 0.25); - c.stroke(); - } - else - { - c.rect(iconX, iconY, buttonSize, buttonSize); - c.fillAndStroke(); - } - - selected = -1; - } -}; - -mxCellRenderer.registerShape('mxgraph.android.checkboxGroup', mxShapeAndroidCheckboxGroup); - -//********************************************************************************************************************************************************** -//Radio Button Group -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidRadioGroup(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidRadioGroup, mxShape); - -mxShapeAndroidRadioGroup.prototype.cst = { - STYLE_TEXTCOLOR2 : 'textColor2', - STYLE_STROKECOLOR2 : 'strokeColor2', - BUTTON_TEXT : 'buttonText', - SELECTED : '+' //has to be one character long -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidRadioGroup.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fontColor = mxUtils.getValue(this.style, mxConstants.STYLE_TEXTCOLOR, '#666666'); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8').toString(); - var optionText = mxUtils.getValue(this.style, mxShapeAndroidRadioGroup.prototype.cst.BUTTON_TEXT, 'Option 1').toString().split(','); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, 'none'); - var strokeColor2 = mxUtils.getValue(this.style, mxShapeAndroidRadioGroup.prototype.cst.STYLE_STROKECOLOR2, 'none'); - - c.setStrokeColor(strokeColor2); - - var optionNum = optionText.length; - var buttonSize = 5; - var lineH = Math.max(fontSize * 1.5, buttonSize); - var maxTextWidth = 0; - var selected = -1; - var labelOffset = 2.5; - var minH = optionNum * lineH; - var trueH = Math.max(h, minH); - - //get min width and selected option - for (var i = 0; i < optionNum; i++) - { - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeAndroidRadioGroup.prototype.cst.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - var currWidth = mxUtils.getSizeForString(currText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxTextWidth) - { - maxTextWidth = currWidth; - } - } - - var minW = 2 * labelOffset + maxTextWidth + 2 * buttonSize; - var trueW = Math.max(w, minW); - - //draw the background - c.roundrect(0, 0, trueW, trueH, 2.5, 2.5); - c.fillAndStroke(); - c.setShadow(false); - - c.setFontSize(fontSize); - c.setFontColor(fontColor); - c.setStrokeColor(strokeColor); - c.setFillColor(strokeColor); - - for (var i = 0; i < optionNum; i++) - { - var currHeight = (i * lineH + lineH * 0.5) * trueH / minH; - - var currText = optionText[i]; - - if(currText.charAt(0) === mxShapeAndroidRadioGroup.prototype.cst.SELECTED) - { - currText = optionText[i].substring(1); - selected = i; - } - - c.text(buttonSize * 2 + labelOffset, currHeight, 0, 0, currText, mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - var iconX = buttonSize * 0.5; - var iconY = currHeight - buttonSize * 0.5; - - if (selected === i) - { - c.ellipse(iconX, iconY, buttonSize, buttonSize); - c.stroke(); - c.ellipse(iconX + buttonSize * 0.25, iconY + buttonSize * 0.25, buttonSize * 0.5, buttonSize * 0.5); - c.fillAndStroke(); - } - else - { - c.ellipse(iconX, iconY, buttonSize, buttonSize); - c.stroke(); - } - } -}; - -mxCellRenderer.registerShape('mxgraph.android.radioGroup', mxShapeAndroidRadioGroup); - -//********************************************************************************************************************************************************** -//Menu Bar (LEGACY) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidMenuBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidMenuBar, mxShape); - -mxShapeAndroidMenuBar.prototype.cst = { - MENU_TEXT : 'menuText' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidMenuBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var textStrings = mxUtils.getValue(this.style, mxShapeAndroidMenuBar.prototype.cst.MENU_TEXT, 'Item 1, Item 2, Item 3').toString().split(','); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '12'); - var buttonNum = textStrings.length; - var maxButtonWidth = 0; - var labelOffset = 2.5; - - for (var i = 0; i < buttonNum; i++) - { - var buttonText = textStrings[i]; - - var currWidth = mxUtils.getSizeForString(buttonText, fontSize, mxConstants.DEFAULT_FONTFAMILY).width; - - if (currWidth > maxButtonWidth) - { - maxButtonWidth = currWidth; - } - } - - var minButtonHeight = fontSize * 1.5; - var minH = buttonNum * minButtonHeight; - var trueH = Math.max(h, minH); - var minW = 2 * labelOffset + maxButtonWidth; - var trueW = Math.max(w, minW); - - c.translate(x, y); - - c.rect(0, 0, w, trueH); - c.fillAndStroke(); - - c.setShadow(false); - - //draw the button separators - c.begin(); - - for (var i = 1; i < buttonNum; i++) - { - var currHeight = i * minButtonHeight * trueH / minH; - c.moveTo(0, currHeight); - c.lineTo(w, currHeight); - } - - c.stroke(); - - for (var i = 0; i < buttonNum; i++) - { - currWidth = currWidth + labelOffset; - var currHeight = (i * minButtonHeight + minButtonHeight * 0.5) * trueH / minH; - c.text(10, currHeight, 0, 0, textStrings[i], mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape('mxgraph.android.menuBar', mxShapeAndroidMenuBar); - -//********************************************************************************************************************************************************** -//Text Selection Handles -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidTextSelHandles(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidTextSelHandles, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidTextSelHandles.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, 'none'); - c.translate(x, y); - - var handleSizeX = 15; - var barH = Math.max(0, h - handleSizeX * 1.5); - c.setAlpha(0.5); - - c.rect(handleSizeX, 0, w - 2 * handleSizeX, barH); - c.fill(); - - c.begin(); - c.moveTo(0, h - handleSizeX); - c.lineTo(handleSizeX * 0.5, h - handleSizeX * 1.5); - c.lineTo(handleSizeX, h - handleSizeX); - c.close(); - c.moveTo(w - handleSizeX, h - handleSizeX); - c.lineTo(w - handleSizeX * 0.5, h - handleSizeX * 1.5); - c.lineTo(w, h - handleSizeX); - c.close(); - c.fill(); - - c.setFillColor(strokeColor); - c.rect(0, h - handleSizeX, handleSizeX, handleSizeX); - c.fill(); - c.rect(w - handleSizeX, h - handleSizeX, handleSizeX, handleSizeX); - c.fill(); -}; - -mxCellRenderer.registerShape('mxgraph.android.textSelHandles', mxShapeAndroidTextSelHandles); - -//********************************************************************************************************************************************************** -//Android Indeterminate Spinner -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidIndeterminateSpinner(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidIndeterminateSpinner, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidIndeterminateSpinner.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeAndroidIndeterminateSpinner.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#aaaaaa', '#dddddd', w * 0.325, 0, w * 0.675, h * 0.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(w * 0.5, h * 0.1); - c.arcTo(w * 0.4, h * 0.4, 0, 0, 0, w * 0.5, h * 0.9); - c.lineTo(w * 0.5, h); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, w * 0.5, 0); - c.close(); - c.fill(); - - c.setGradient('#ffffff', '#dddddd', w * 0.325, 0, w * 0.675, h * 0.5, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(w * 0.5, h * 0.1); - c.arcTo(w * 0.4, h * 0.4, 0, 0, 1, w * 0.5, h * 0.9); - c.lineTo(w * 0.5, h); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 0, w * 0.5, 0); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape('mxgraph.android.indeterminateSpinner', mxShapeAndroidIndeterminateSpinner); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidAnchor, mxShape); - -mxShapeAndroidAnchor.prototype.cst = { - ANCHOR : 'mxgraph.android.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeAndroidAnchor.prototype.cst.ANCHOR, mxShapeAndroidAnchor); - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidRRect, mxShape); - -mxShapeAndroidRRect.prototype.cst = { - RRECT : 'mxgraph.android.rrect', - R_SIZE : 'rSize' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeAndroidRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAndroidRRect.prototype.cst.RRECT, mxShapeAndroidRRect); - -//********************************************************************************************************************************************************** -//Checkbox -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidCheckbox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidCheckbox, mxShape); - -mxShapeAndroidCheckbox.prototype.cst = { - CHECKBOX : 'mxgraph.android.checkbox' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidCheckbox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.rect(0, 0, w, h); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8, h * 0.2); - c.lineTo(w * 0.4, h * 0.8); - c.lineTo(w * 0.25, h * 0.6); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAndroidCheckbox.prototype.cst.CHECKBOX, mxShapeAndroidCheckbox); - -//********************************************************************************************************************************************************** -//Progress Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidProgressBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx1 = 0.8; - this.dx2 = 0.6; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidProgressBar, mxShape); - -mxShapeAndroidProgressBar.prototype.customProperties = [ - {name: 'dx1', dispName: 'Middle Bar Length', type: 'float', min:0, max:1, defVal:0.8}, - {name: 'dx2', dispName: 'Left Bar Length', type: 'float', min:0, max:1, defVal:0.6} -]; - -mxShapeAndroidProgressBar.prototype.cst = { - PROGRESS_BAR : 'mxgraph.android.progressBar' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidProgressBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dx1 = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - - c.translate(x, y); - - c.save(); - c.save(); - c.setStrokeColor('#444444'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w , h * 0.5); - c.stroke(); - - c.restore(); - c.setShadow(false); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(dx1, h * 0.5); - c.stroke(); - - c.setStrokeColor('#000000'); - c.setAlpha('0.2'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(dx1, h * 0.5); - c.stroke(); - - c.restore(); - c.setShadow(false); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(dx2, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeAndroidProgressBar.prototype.cst.PROGRESS_BAR, mxShapeAndroidProgressBar); - -mxShapeAndroidProgressBar.prototype.constraints = null; - -Graph.handleFactory[mxShapeAndroidProgressBar.prototype.cst.PROGRESS_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1'], function(bounds) - { - var dx1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - - return new mxPoint(bounds.x + dx1 * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx1)))); - - return new mxPoint(bounds.x + dx2 * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - }); - - handles.push(handle2); - - return handles; -} - -//********************************************************************************************************************************************************** -//Progress Scrubber Disabled -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidProgressScrubberDisabled(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.3; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidProgressScrubberDisabled, mxShape); - -mxShapeAndroidProgressScrubberDisabled.prototype.customProperties = [ - {name: 'dx', dispName: 'Handle Position', type: 'float', min:0, max:1, defVal:0.3} -]; - -mxShapeAndroidProgressScrubberDisabled.prototype.cst = { - PROGRESS_SCRUBBER_DISABLED : 'mxgraph.android.progressScrubberDisabled' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidProgressScrubberDisabled.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - c.translate(x, y); - - c.save(); - c.save(); - c.setStrokeColor('#444444'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - c.restore(); - c.setShadow(false); - c.setAlpha('0.5'); - c.setFillColor('#666666'); - c.begin(); - var r = Math.min(h, w * 0.1) / 2; - c.ellipse(dx - r, h * 0.5 - r, 2 * r, 2 * r); - c.fill(); - - c.restore(); - c.setShadow(false); - c.begin(); - var r = Math.min(h, w * 0.1) / 8; - c.ellipse(dx - r, h * 0.5 - r, 2 * r, 2 * r); - c.fill(); - -}; - -mxCellRenderer.registerShape(mxShapeAndroidProgressScrubberDisabled.prototype.cst.PROGRESS_SCRUBBER_DISABLED, mxShapeAndroidProgressScrubberDisabled); - -mxShapeAndroidProgressScrubberDisabled.prototype.constraints = null; - -Graph.handleFactory[mxShapeAndroidProgressScrubberDisabled.prototype.cst.PROGRESS_SCRUBBER_DISABLED] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Progress Scrubber Focused -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidProgressScrubberFocused(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.3; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidProgressScrubberFocused, mxShape); - -mxShapeAndroidProgressScrubberFocused.prototype.customProperties = [ - {name: 'dx', dispName: 'Handle Position', type: 'float', min:0, max:1, defVal:0.3} -]; - -mxShapeAndroidProgressScrubberFocused.prototype.cst = { - PROGRESS_SCRUBBER_FOCUSED : 'mxgraph.android.progressScrubberFocused' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidProgressScrubberFocused.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var fillColor = mxUtils.getValue(this.style, 'fillColor', '#ffffff'); - - c.translate(x, y); - - c.save(); - c.save(); - c.setStrokeColor('#444444'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - c.restore(); - c.setShadow(false); - c.setAlpha('0.75'); - c.begin(); - var r = Math.min(h, w * 0.1) / 2; - c.ellipse(dx - r, h * 0.5 - r, 2 * r, 2 * r); - c.fill(); - - c.restore(); - c.setShadow(false); - c.setStrokeColor(fillColor); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(dx, h * 0.5); - c.stroke(); - - c.begin(); - var r = Math.min(h, w * 0.1) / 8; - c.ellipse(dx - r, h * 0.5 - r, 2 * r, 2 * r); - c.fill(); - -}; - -mxCellRenderer.registerShape(mxShapeAndroidProgressScrubberFocused.prototype.cst.PROGRESS_SCRUBBER_FOCUSED, mxShapeAndroidProgressScrubberFocused); - -mxShapeAndroidProgressScrubberFocused.prototype.constraints = null; - -Graph.handleFactory[mxShapeAndroidProgressScrubberFocused.prototype.cst.PROGRESS_SCRUBBER_FOCUSED] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Progress Scrubber Pressed -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidProgressScrubberPressed(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.3; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidProgressScrubberPressed, mxShape); - -mxShapeAndroidProgressScrubberPressed.prototype.customProperties = [ - {name: 'dx', dispName: 'Handle Position', type: 'float', min:0, max:1, defVal:0.3} -]; - -mxShapeAndroidProgressScrubberPressed.prototype.cst = { - PROGRESS_SCRUBBER_PRESSED : 'mxgraph.android.progressScrubberPressed' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidProgressScrubberPressed.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var fillColor = mxUtils.getValue(this.style, 'fillColor', '#ffffff'); - - c.translate(x, y); - - c.save(); - c.save(); - c.setStrokeColor('#444444'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - c.restore(); - c.setShadow(false); - c.setStrokeColor(fillColor); - c.setAlpha('0.5'); - c.begin(); - var r = Math.min(h, w * 0.1) / 2; - c.ellipse(dx - r, h * 0.5 - r, 2 * r, 2 * r); - c.fillAndStroke(); - - c.restore(); - c.setShadow(false); - c.setStrokeColor(fillColor); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(dx, h * 0.5); - c.stroke(); - - c.begin(); - var r = Math.min(h, w * 0.1) / 8; - c.ellipse(dx - r, h * 0.5 - r, 2 * r, 2 * r); - c.fill(); - -}; - -mxCellRenderer.registerShape(mxShapeAndroidProgressScrubberPressed.prototype.cst.PROGRESS_SCRUBBER_PRESSED, mxShapeAndroidProgressScrubberPressed); - -mxShapeAndroidProgressScrubberPressed.prototype.constraints = null; - -Graph.handleFactory[mxShapeAndroidProgressScrubberPressed.prototype.cst.PROGRESS_SCRUBBER_PRESSED] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Quickscroll -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidQuickscroll2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidQuickscroll2, mxShape); - -mxShapeAndroidQuickscroll2.prototype.customProperties = [ - {name: 'dy', dispName: 'Handle Position', type: 'float', min:0, max:1, defVal:0.5} -]; - -mxShapeAndroidQuickscroll2.prototype.cst = { - QUICKSCROLL : 'mxgraph.android.quickscroll2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidQuickscroll2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dy = Math.min(h - 20, Math.max(20, h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))))); - var fillColor = mxUtils.getValue(this.style, 'fillColor', '#ffffff'); - - c.translate(x, y); - - c.save(); - c.save(); - c.setStrokeColor('#cccccc'); - c.begin(); - c.moveTo(w - 3, 0); - c.lineTo(w - 3, h); - c.stroke(); - - c.restore(); - c.begin(); - c.roundrect(w - 6, dy - 10, 6, 20, 1, 1); - c.fillAndStroke(); - - c.setFillColor('#cccccc'); - c.begin(); - c.rect(0, dy - 20, w - 18, 40); - c.fill(); - - c.setFillColor('#666666'); - c.begin(); - c.moveTo(w - 18, dy - 20); - c.lineTo(w - 6, dy); - c.lineTo(w - 18, dy + 20); - c.close(); - c.fill(); - - c.setFontSize('12'); - c.text((w - 18) * 0.5, dy, 0, 0, 'Aa', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeAndroidQuickscroll2.prototype.cst.QUICKSCROLL, mxShapeAndroidQuickscroll2); - -mxShapeAndroidQuickscroll2.prototype.constraints = null; - -Graph.handleFactory[mxShapeAndroidQuickscroll2.prototype.cst.QUICKSCROLL] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - 3, bounds.y + Math.min(bounds.height - 20, Math.max(20, dy * bounds.height))); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Quickscroll2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidQuickscroll3(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidQuickscroll3, mxShape); - -mxShapeAndroidQuickscroll3.prototype.customProperties = [ - {name: 'dy', dispName: 'Handle Position', type: 'float', min:0, max:1, defVal:0.5} -]; - -mxShapeAndroidQuickscroll3.prototype.cst = { - QUICKSCROLL : 'mxgraph.android.quickscroll3' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidQuickscroll3.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dy = Math.min(h - 10, Math.max(10, h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))))); - var fillColor = mxUtils.getValue(this.style, 'fillColor', '#ffffff'); - - c.translate(x, y); - - c.save(); - c.setStrokeColor('#cccccc'); - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.restore(); - c.begin(); - c.roundrect(w * 0.5 - 3, dy - 10, 6, 20, 1, 1); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAndroidQuickscroll3.prototype.cst.QUICKSCROLL, mxShapeAndroidQuickscroll3); - -mxShapeAndroidQuickscroll3.prototype.constraints = null; - -Graph.handleFactory[mxShapeAndroidQuickscroll3.prototype.cst.QUICKSCROLL] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width * 0.5, bounds.y + Math.min(bounds.height - 10, Math.max(10, dy * bounds.height))); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Scrollbars -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidScrollbars2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidScrollbars2, mxShape); - -mxShapeAndroidScrollbars2.prototype.cst = { - SCROLLBARS : 'mxgraph.android.scrollbars2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidScrollbars2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - - c.begin(); - c.rect(w - 5, 0, 5, h - 7); - c.fillAndStroke(); - - c.begin(); - c.rect(0, h - 5, w - 7, 5); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAndroidScrollbars2.prototype.cst.SCROLLBARS, mxShapeAndroidScrollbars2); - -mxShapeAndroidScrollbars2.prototype.constraints = null; - -//********************************************************************************************************************************************************** -//Spinner -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeAndroidSpinner2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeAndroidSpinner2, mxShape); - -mxShapeAndroidSpinner2.prototype.cst = { - SPINNER : 'mxgraph.android.spinner2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeAndroidSpinner2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w, h); - c.stroke(); - - var s = Math.min(w / 10, h) - c.begin(); - c.moveTo(w - s, h); - c.lineTo(w, h - s); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeAndroidSpinner2.prototype.cst.SPINNER, mxShapeAndroidSpinner2); - -mxShapeAndroidSpinner2.prototype.constraints = null; - diff --git a/dist/libs/drawio/shapes/mxArchiMate.js b/dist/libs/drawio/shapes/mxArchiMate.js deleted file mode 100644 index 0861d4ab..00000000 --- a/dist/libs/drawio/shapes/mxArchiMate.js +++ /dev/null @@ -1,1220 +0,0 @@ -/** - * $Id: mxArchiMate.js,v 1.0 2014/03/17 07:05:39 mate Exp $ - * Copyright (c) 2006-2014, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Location -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateLocation(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateLocation, mxShape); - -mxArchiMateLocation.prototype.cst = { - LOCATION : 'mxgraph.archimate.location' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateLocation.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMateLocation.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMateLocation.prototype.foreground = function(c, x, y, w, h) -{ - c.setDashed(false); - - c.translate(3 ,0); - w = w - 6; - c.begin(); - c.moveTo(w * 0.5, h); - c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.345, h * 0.7); - c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.5, 0); - c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.655, h * 0.7); - c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.5, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMateLocation.prototype.cst.LOCATION, mxArchiMateLocation); - -mxArchiMateLocation.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Business -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateBusiness(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateBusiness, mxShape); - -mxArchiMateBusiness.prototype.cst = { - BUSINESS : 'mxgraph.archimate.business', - TYPE : 'busType', - PROCESS : 'process', - FUNCTION : 'function', - INTERACTION : 'interaction', - EVENT : 'event', - SERVICE : 'service' -}; - -mxArchiMateBusiness.prototype.customProperties = [ - {name: 'busType', dispName: 'Business Type', type: 'enum', - enumList: [{val: 'process', dispName: 'Process'}, - {val: 'function', dispName: 'Function'}, - {val: 'interaction', dispName: 'Interaction'}, - {val: 'event', dispName: 'Event'}, - {val: 'service', dispName: 'Service'}] - } -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateBusiness.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMateBusiness.prototype.background = function(c, x, y, w, h) -{ - c.roundrect(0, 0, w, h, 10, 10); - c.fillAndStroke(); -}; - -mxArchiMateBusiness.prototype.foreground = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxArchiMateBusiness.prototype.cst.TYPE, mxArchiMateBusiness.prototype.cst.PROCESS); - - c.setDashed(false); - - if (type === mxArchiMateBusiness.prototype.cst.PROCESS) - { - c.translate(0, 2); - h = h - 4; - - c.begin(); - c.moveTo(0, h * 0.15); - c.lineTo(w * 0.65, h * 0.15); - c.lineTo(w * 0.65, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.65, h); - c.lineTo(w * 0.65, h * 0.85); - c.lineTo(0, h * 0.85); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateBusiness.prototype.cst.FUNCTION) - { - c.translate(2, 0); - w = w - 4; - - c.begin(); - c.moveTo(0, h * 0.15); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.15); - c.lineTo(w, h); - c.lineTo(w * 0.5, h * 0.85); - c.lineTo(0, h); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateBusiness.prototype.cst.INTERACTION) - { - c.begin(); - c.moveTo(w * 0.55, 0); - c.arcTo(w * 0.45, h * 0.5, 0, 0, 1, w * 0.55, h); - c.close(); - c.moveTo(w * 0.45, 0); - c.arcTo(w * 0.45, h * 0.5, 0, 0, 0, w * 0.45, h); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateBusiness.prototype.cst.EVENT) - { - c.translate(0, 3); - h = h - 6; - - c.begin(); - c.moveTo(w - h * 0.5, 0); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h); - c.lineTo(0, h); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 0, 0, 0); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateBusiness.prototype.cst.SERVICE) - { - c.translate(0, 3); - h = h - 6; - - c.begin(); - c.moveTo(w - h * 0.5, 0); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h); - c.lineTo(0, h); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, 0, 0); - c.close(); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxArchiMateBusiness.prototype.cst.BUSINESS, mxArchiMateBusiness); - -mxArchiMateBusiness.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -2.9, -2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, 2.9, -2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Business Object -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateBusinessObject(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateBusinessObject, mxShape); - -mxArchiMateBusinessObject.prototype.cst = { - BUSINESS_OBJECT : 'mxgraph.archimate.businessObject' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateBusinessObject.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - this.foreground(c, 0, 0, w, h); -}; - -mxArchiMateBusinessObject.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMateBusinessObject.prototype.foreground = function(c, x, y, w, h) -{ - if (h >= 15) - { - c.begin(); - c.moveTo(0, 15); - c.lineTo(w, 15); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxArchiMateBusinessObject.prototype.cst.BUSINESS_OBJECT, mxArchiMateBusinessObject); - -mxArchiMateBusinessObject.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -2.9, -2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, 2.9, -2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Representation -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateRepresentation(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateRepresentation, mxShape); - -mxArchiMateRepresentation.prototype.cst = { - REPRESENTATION : 'mxgraph.archimate.representation' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateRepresentation.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); -}; - -mxArchiMateRepresentation.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMateRepresentation.prototype.cst.REPRESENTATION, mxArchiMateRepresentation); - -mxArchiMateRepresentation.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.85), false, null)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.745), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.955), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Product -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateProduct(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateProduct, mxShape); - -mxArchiMateProduct.prototype.cst = { - PRODUCT : 'mxgraph.archimate.product' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateProduct.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - this.foreground(c, 0, 0, w, h); -}; - -mxArchiMateProduct.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMateProduct.prototype.foreground = function(c, x, y, w, h) -{ - if (h >= 15) - { - c.begin(); - c.moveTo(0, 15); - c.lineTo(w * 0.6, 15); - c.lineTo(w * 0.6, 0); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxArchiMateProduct.prototype.cst.PRODUCT, mxArchiMateProduct); - -//********************************************************************************************************************************************************** -//Application -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateApplication(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateApplication, mxShape); - -mxArchiMateApplication.prototype.cst = { - APPLICATION : 'mxgraph.archimate.application', - TYPE : 'appType', - COMPONENT : 'comp', - INTERFACE : 'interface', - INTERFACE2 : 'interface2', - FUNCTION : 'function', - INTERACTION : 'interaction', - SERVICE : 'service', - NODE : 'node', - NETWORK : 'network', - COMM_PATH : 'commPath', - SYS_SW : 'sysSw', - ARTIFACT : 'artifact', - ACTOR : 'actor', - ROLE : 'role', - COLLABORATION : 'collab' -}; - -mxArchiMateApplication.prototype.customProperties = [ - {name: 'appType', dispName: 'App Type', type: 'enum', - enumList: [{val: 'comp', dispName: 'Component'}, - {val: 'interface', dispName: 'Interface'}, - {val: 'interface2', dispName: 'Interface2'}, - {val: 'function', dispName: 'Function'}, - {val: 'interaction', dispName: 'Interaction'}, - {val: 'service', dispName: 'Service'}, - {val: 'node', dispName: 'Node'}, - {val: 'network', dispName: 'Network'}, - {val: 'commPath', dispName: 'Comm Path'}, - {val: 'artifact', dispName: 'Artifact'}, - {val: 'sysSw', dispName: 'System Sw'}, - {val: 'path', dispName: 'Path'}, - {val: 'actor', dispName: 'Actor'}, - {val: 'role', dispName: 'Role'}, - {val: 'collab', dispName: 'Collaboration'}] - } -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateApplication.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMateApplication.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMateApplication.prototype.foreground = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxArchiMateApplication.prototype.cst.TYPE, mxArchiMateApplication.prototype.cst.COMPONENT); - - c.setDashed(false); - - if (type === mxArchiMateApplication.prototype.cst.COMPONENT) - { - c.translate(1, 0); - w = w - 2; - - c.rect(w * 0.25, 0, w * 0.75, h); - c.stroke(); - - c.rect(0, h * 0.25, w * 0.5, h * 0.15); - c.fillAndStroke(); - - c.rect(0, h * 0.6, w * 0.5, h * 0.15); - c.fillAndStroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.COLLABORATION) - { - c.translate(0, 3); - h = h - 6; - - c.ellipse(0, 0, w * 0.6, h); - c.stroke(); - c.ellipse(w * 0.4, 0, w * 0.6, h); - c.fillAndStroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.INTERFACE) - { - c.translate(0, 4); - h = h - 8; - - c.ellipse(w * 0.5, 0, w * 0.5, h); - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, h * 0.5); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.INTERFACE2) - { - c.translate(0, 1); - h = h - 2; - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.6, h * 0.5); - c.moveTo(w, 0); - c.arcTo(w * 0.4, h * 0.5, 0, 0, 0, w, h); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.FUNCTION) - { - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w, h * 0.2); - c.lineTo(w, h); - c.lineTo(w * 0.5, h * 0.8); - c.lineTo(0, h); - c.lineTo(0, h * 0.2); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.INTERACTION) - { - c.begin(); - c.moveTo(w * 0.55, 0); - c.arcTo(w * 0.45, h * 0.5, 0, 0, 1, w * 0.55, h); - c.close(); - c.moveTo(w * 0.45, 0); - c.arcTo(w * 0.45, h * 0.5, 0, 0, 0, w * 0.45, h); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.SERVICE) - { - c.translate(0, 3); - h = h - 6; - - c.begin(); - c.moveTo(w - h * 0.5, 0); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h); - c.lineTo(0, h); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, 0, 0); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.NODE) - { - c.begin(); - c.moveTo(0, h * 0.25); - c.lineTo(w * 0.25, 0); - c.lineTo(w, 0); - c.lineTo(w, h * 0.75); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.moveTo(0, h * 0.25); - c.lineTo(w * 0.75, h * 0.25); - c.lineTo(w * 0.75, h); - c.moveTo(w, 0); - c.lineTo(w * 0.75, h * 0.25); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.NETWORK) - { - c.translate(0, 2); - h = h - 4; - - c.begin(); - c.moveTo(w * 0.4, h * 0.2); - c.lineTo(w * 0.85, h * 0.2); - c.lineTo(w * 0.6, h * 0.8); - c.lineTo(w * 0.15, h * 0.8); - c.close(); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.ellipse(w * 0.25, 0, w * 0.3, h * 0.4); - c.fill(); - - c.ellipse(w * 0.7, 0, w * 0.3, h * 0.4); - c.fill(); - - c.ellipse(0, h * 0.6, w * 0.3, h * 0.4); - c.fill(); - - c.ellipse(w * 0.45, h * 0.6, w * 0.3, h * 0.4); - c.fill(); - } - else if (type === mxArchiMateApplication.prototype.cst.COMM_PATH) - { - c.translate(0, 5); - h = h - 10; - - c.begin(); - c.moveTo(w * 0.1, 0); - c.lineTo(0, h * 0.5); - c.lineTo(w * 0.1, h); - c.moveTo(w * 0.9, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.9, h); - c.stroke(); - - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.SYS_SW) - { - c.ellipse(w * 0.3, 0, w * 0.7, h * 0.7); - c.stroke(); - - c.ellipse(0, h * 0.02, w * 0.98, h * 0.98); - c.fillAndStroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.ARTIFACT) - { - c.translate(2, 0); - w = w - 4; - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.7, 0); - c.lineTo(w, h * 0.22); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.moveTo(w * 0.7, 0); - c.lineTo(w * 0.7, h * 0.22); - c.lineTo(w, h * 0.22); - c.stroke(); - } - else if (type === mxArchiMateApplication.prototype.cst.ACTOR) - { - c.translate(3, 0); - w = w - 6; - c.ellipse(w * 0.2, 0, w * 0.6, h * 0.3); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.3); - c.lineTo(w * 0.5, h * 0.75); - c.moveTo(0, h * 0.45); - c.lineTo(w, h * 0.45); - c.moveTo(0, h); - c.lineTo(w * 0.5, h * 0.75); - c.lineTo(w, h); - c.stroke(); - } - if (type === mxArchiMateApplication.prototype.cst.ROLE) - { - c.translate(0, 4); - h = h - 8; - - c.begin(); - c.moveTo(w * 0.8, 0); - c.lineTo(w * 0.2, 0); - c.arcTo(w * 0.2, h * 0.5, 0, 0, 0, w * 0.2, h); - c.lineTo(w * 0.8, h); - c.stroke(); - - c.ellipse(w * 0.6, 0, w * 0.4, h); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxArchiMateApplication.prototype.cst.APPLICATION, mxArchiMateApplication); - -mxArchiMateApplication.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Tech -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateTech(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateTech, mxShape); - -mxArchiMateTech.prototype.cst = { - TECH : 'mxgraph.archimate.tech', - TYPE : 'techType', - DEVICE : 'device', - PLATEAU : 'plateau' -}; - -mxArchiMateTech.prototype.customProperties = [ - {name: 'techType', dispName: 'Tech Type', type: 'enum', - enumList: [{val: 'device', dispName: 'Device'}, - {val: 'plateau', dispName: 'Plateau'}] - } -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateTech.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 30, 15); - this.foreground(c, w - 30, 15, 15, 15); -}; - -mxArchiMateTech.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 10); - c.lineTo(10, 0); - c.lineTo(w, 0); - c.lineTo(w, h - 10); - c.lineTo(w - 10, h); - c.lineTo(0, h); - c.close(); - c.moveTo(0, 10); - c.lineTo(w - 10, 10); - c.lineTo(w - 10, h); - c.moveTo(w, 0); - c.lineTo(w - 10, 10); - c.fillAndStroke(); -}; - -mxArchiMateTech.prototype.foreground = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxArchiMateTech.prototype.cst.TYPE, mxArchiMateTech.prototype.cst.DEVICE); - - c.setDashed(false); - - if (type === mxArchiMateTech.prototype.cst.DEVICE) - { - c.roundrect(0, 0, w, h * 0.88, w * 0.05, h * 0.05); - c.stroke(); - c.begin(); - c.moveTo(w * 0.1, h * 0.88); - c.lineTo(0, h); - c.lineTo(w, h); - c.lineTo(w * 0.9, h * 0.88); - c.stroke(); - } - else if (type === mxArchiMateTech.prototype.cst.PLATEAU) - { - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.rect(w * 0.4, 0, w * 0.6, h * 0.2); - c.fill(); - - c.rect(w * 0.2, h * 0.4, w * 0.6, h * 0.2); - c.fill(); - - c.rect(0, h * 0.8, w * 0.6, h * 0.2); - c.fill(); - } -}; - -mxCellRenderer.registerShape(mxArchiMateTech.prototype.cst.TECH, mxArchiMateTech); - -mxArchiMateTech.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, 10)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, 0, -10)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Motivational -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateMotivational(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateMotivational, mxShape); - -mxArchiMateMotivational.prototype.cst = { - MOTIV : 'mxgraph.archimate.motiv', - TYPE : 'motivType', - STAKE : 'stake', - DRIVER : 'driver', - ASSESSMENT : 'assess', - GOAL : 'goal', - REQUIREMENT : 'req', - CONSTRAINT : 'const', - PRINCIPLE : 'princ' -}; - -mxArchiMateMotivational.prototype.customProperties = [ - {name: 'motivType', dispName: 'Motivational Type', type: 'enum', - enumList: [{val: 'stake', dispName: 'Stake'}, - {val: 'driver', dispName: 'Driver'}, - {val: 'assess', dispName: 'Assessment'}, - {val: 'goal', dispName: 'Goal'}, - {val: 'req', dispName: 'Requirement'}, - {val: 'const', dispName: 'Constraint'}, - {val: 'princ', dispName: 'Principle'}] - } -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateMotivational.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMateMotivational.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(10, 0); - c.lineTo(w - 10, 0); - c.lineTo(w, 10); - c.lineTo(w, h - 10); - c.lineTo(w - 10, h); - c.lineTo(10, h); - c.lineTo(0, h - 10); - c.lineTo(0, 10); - c.close(); - c.fillAndStroke(); -}; - -mxArchiMateMotivational.prototype.foreground = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxArchiMateMotivational.prototype.cst.TYPE, mxArchiMateMotivational.prototype.cst.STAKE); - - c.setDashed(false); - - if (type === mxArchiMateMotivational.prototype.cst.STAKE) - { - c.translate(0, 4); - h = h - 8; - - c.begin(); - c.moveTo(w * 0.8, 0); - c.lineTo(w * 0.2, 0); - c.arcTo(w * 0.2, h * 0.5, 0, 0, 0, w * 0.2, h); - c.lineTo(w * 0.8, h); - c.stroke(); - - c.ellipse(w * 0.6, 0, w * 0.4, h); - c.stroke(); - } - else if (type === mxArchiMateMotivational.prototype.cst.DRIVER) - { - c.ellipse(w * 0.1, h * 0.1, w * 0.8, h * 0.8); - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.moveTo(w * 0.145, h * 0.145); - c.lineTo(w * 0.855, h * 0.855); - c.moveTo(w * 0.145, h * 0.855); - c.lineTo(w * 0.855, h * 0.145); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.ellipse(w * 0.35, h * 0.35, w * 0.3, h * 0.3); - c.fillAndStroke(); - } - else if (type === mxArchiMateMotivational.prototype.cst.ASSESSMENT) - { - c.ellipse(w * 0.2, 0, w * 0.8, h * 0.8); - c.stroke(); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.32, h * 0.68); - c.stroke(); - } - else if (type === mxArchiMateMotivational.prototype.cst.GOAL) - { - c.ellipse(0, 0, w, h); - c.stroke(); - c.ellipse(w * 0.15, h * 0.15, w * 0.7, h * 0.7); - c.stroke(); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.ellipse(w * 0.3, h * 0.3, w * 0.4, h * 0.4); - c.fillAndStroke(); - } - else if (type === mxArchiMateMotivational.prototype.cst.REQUIREMENT) - { - c.translate(0, 4); - h = h - 8; - - c.begin(); - c.moveTo(w * 0.25, 0); - c.lineTo(w, 0); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.stroke(); - } - else if (type === mxArchiMateMotivational.prototype.cst.CONSTRAINT) - { - c.translate(0, 4); - h = h - 8; - - c.begin(); - c.moveTo(w * 0.25, 0); - c.lineTo(w, 0); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.moveTo(w * 0.45, 0); - c.lineTo(w * 0.2, h); - c.stroke(); - } - else if (type === mxArchiMateMotivational.prototype.cst.PRINCIPLE) - { - c.begin(); - c.moveTo(w * 0.05, h * 0.05); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.95, h * 0.05); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.95, h * 0.95); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.05, h * 0.95); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.05, h * 0.05); - c.close(); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.45, h * 0.7); - c.lineTo(w * 0.42, h * 0.15); - c.lineTo(w * 0.58, h * 0.15); - c.lineTo(w * 0.55, h * 0.7); - c.close(); - c.fill(); - - c.rect(w * 0.45, h * 0.75, w * 0.1, h * 0.1); - c.fill(); - } -}; - -mxCellRenderer.registerShape(mxArchiMateMotivational.prototype.cst.MOTIV, mxArchiMateMotivational); - -mxArchiMateMotivational.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 5, 5)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -5, 5)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -5, -5)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, 5, -5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Gap -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMateGap(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMateGap, mxShape); - -mxArchiMateGap.prototype.cst = { - GAP : 'mxgraph.archimate.gap' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMateGap.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMateGap.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85); - c.close(); - c.fillAndStroke(); -}; - -mxArchiMateGap.prototype.foreground = function(c, x, y, w, h) -{ - c.setDashed(false); - - c.translate(0, 2); - h = h - 4; - - c.ellipse(w * 0.15, 0, w * 0.7, h); - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.35); - c.lineTo(w, h * 0.35); - c.moveTo(0, h * 0.65); - c.lineTo(w, h * 0.65); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMateGap.prototype.cst.GAP, mxArchiMateGap); - -mxArchiMateGap.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.85), false, null)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.745), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.955), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; diff --git a/dist/libs/drawio/shapes/mxArchiMate3.js b/dist/libs/drawio/shapes/mxArchiMate3.js deleted file mode 100644 index 4849bcb7..00000000 --- a/dist/libs/drawio/shapes/mxArchiMate3.js +++ /dev/null @@ -1,2849 +0,0 @@ -/** - * $Id: mxArchiMate3.js,v 1.0 2016/08/18 07:05:39 mate Exp $ - * Copyright (c) 2006-2016, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Application -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Application(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Application, mxShape); - -mxArchiMate3Application.prototype.cst = { - APPLICATION : 'mxgraph.archimate3.application', - TYPE : 'appType', - COMPONENT : 'comp', - COLLABORATION : 'collab', - INTERFACE : 'interface', - INTERFACE2 : 'interface2', - LOCATION : 'location', - FUNCTION : 'func', - INTERACTION : 'interaction', - SERVICE : 'serv', - EVENT : 'event', - EVENT2 : 'event2', - NODE : 'node', - NETWORK : 'netw', - COMM_PATH : 'commPath', - ACTOR : 'actor', - ASSESSMENT : 'assess', - GOAL : 'goal', - OUTCOME : 'outcome', - ROLE : 'role', - PROCESS : 'proc', - DRIVER : 'driver', - PRINCIPLE : 'principle', - REQUIREMENT : 'requirement', - CONSTRAINT : 'constraint', - RESOURCE : 'resource', - CAPABILITY : 'capability', - COURSE : 'course', - MATERIAL : 'material', - DISTRIBUTION : 'distribution', - SYS_SW : 'sysSw', - ARTIFACT : 'artifact', - PATH : 'path', - ARCHI_TYPE : 'archiType', - TYPE_SQUARE : 'square', - TYPE_ROUNDED : 'rounded', - TYPE_OCT : 'oct' -}; - -mxArchiMate3Application.prototype.customProperties = [ - {name: 'archiType', dispName: 'Type', type: 'enum', - enumList: [{val: 'square', dispName: 'Square'}, - {val: 'rounded', dispName: 'Rounded'}, - {val: 'oct', dispName: 'Octagonal'}] - }, - {name: 'appType', dispName: 'App Type', type: 'enum', - enumList: [{val: 'comp', dispName: 'Component'}, - {val: 'collab', dispName: 'Collaboration'}, - {val: 'interface', dispName: 'Interface'}, - {val: 'interface2', dispName: 'Interface2'}, - {val: 'func', dispName: 'Function'}, - {val: 'interaction', dispName: 'Interaction'}, - {val: 'location', dispName: 'Location'}, - {val: 'serv', dispName: 'Service'}, - {val: 'event', dispName: 'Event'}, - {val: 'event2', dispName: 'Event2'}, - {val: 'node', dispName: 'Node'}, - {val: 'netw', dispName: 'Network'}, - {val: 'commPath', dispName: 'Comm Path'}, - {val: 'actor', dispName: 'Actor'}, - {val: 'assess', dispName: 'Assessment'}, - {val: 'goal', dispName: 'Goal'}, - {val: 'outcome', dispName: 'Outcome'}, - {val: 'role', dispName: 'Role'}, - {val: 'proc', dispName: 'Process'}, - {val: 'driver', dispName: 'Driver'}, - {val: 'principle', dispName: 'Principle'}, - {val: 'requirement', dispName: 'Requirement'}, - {val: 'constraint', dispName: 'Constraint'}, - {val: 'resource', dispName: 'Resource'}, - {val: 'capability', dispName: 'Capability'}, - {val: 'course', dispName: 'Course'}, - {val: 'material', dispName: 'Material'}, - {val: 'distribution', dispName: 'Distribution'}, - {val: 'sysSw', dispName: 'System Sw'}, - {val: 'artifact', dispName: 'Artifact'}, - {val: 'path', dispName: 'Path'}] -}]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Application.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMate3Application.prototype.background = function(c, x, y, w, h) -{ - var archiType = mxUtils.getValue(this.style, mxArchiMate3Application.prototype.cst.ARCHI_TYPE, 'square'); - - if (archiType === 'rounded') - { - c.roundrect(0, 0, w, h, 10, 10); - } - else if ((archiType === 'oct') && w >= 20 && h >= 20) - { - c.begin(); - c.moveTo(0, 10); - c.lineTo(10, 0); - c.lineTo(w - 10, 0); - c.lineTo(w, 10); - c.lineTo(w, h - 10); - c.lineTo(w - 10, h); - c.lineTo(10, h); - c.lineTo(0, h - 10); - c.close(); - c.fillAndStroke(); - } - else - { - c.rect(0, 0, w, h); - } - - c.fillAndStroke(); -}; - -mxArchiMate3Application.prototype.foreground = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxArchiMate3Application.prototype.cst.TYPE, ''); - - c.setDashed(false); - - if (type === mxArchiMate3Application.prototype.cst.COMPONENT) - { - c.translate(1, 0); - w = w - 2; - - mxArchiMate3Component.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.COLLABORATION) - { - c.translate(0, 3); - h = h - 6; - - mxArchiMate3Collaboration.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.INTERFACE) - { - c.translate(0, 4); - h = h - 8; - - mxArchiMate3Interface.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.INTERFACE2) - { - c.translate(0, 1); - h = h - 2; - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.6, h * 0.5); - c.moveTo(w, 0); - c.arcTo(w * 0.4, h * 0.5, 0, 0, 0, w, h); - c.stroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.FUNCTION) - { - mxArchiMate3Function.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.INTERACTION) - { - mxArchiMate3Interaction.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.LOCATION) - { - c.translate(3, 0); - w = w - 6; - c.begin(); - c.moveTo(w * 0.5, h); - c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.345, h * 0.7); - c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.5, 0); - c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.655, h * 0.7); - c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.5, h); - c.stroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.SERVICE) - { - c.translate(0, 3); - h = h - 6; - - mxArchiMate3Service.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.EVENT) - { - c.translate(0, 3); - h = h - 6; - - mxArchiMate3Event.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.EVENT2) - { - c.translate(0, 3); - h = h - 6; - - mxArchiMate3Event2.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.NODE) - { - mxArchiMate3Node.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.NETWORK) - { - c.translate(0, 2); - h = h - 4; - - c.begin(); - c.moveTo(w * 0.4, h * 0.2); - c.lineTo(w * 0.85, h * 0.2); - c.lineTo(w * 0.6, h * 0.8); - c.lineTo(w * 0.15, h * 0.8); - c.close(); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.ellipse(w * 0.25, 0, w * 0.3, h * 0.4); - c.fill(); - - c.ellipse(w * 0.7, 0, w * 0.3, h * 0.4); - c.fill(); - - c.ellipse(0, h * 0.6, w * 0.3, h * 0.4); - c.fill(); - - c.ellipse(w * 0.45, h * 0.6, w * 0.3, h * 0.4); - c.fill(); - } - else if (type === mxArchiMate3Application.prototype.cst.COMM_PATH) - { - c.translate(0, 5); - h = h - 10; - - c.begin(); - c.moveTo(w * 0.1, 0); - c.lineTo(0, h * 0.5); - c.lineTo(w * 0.1, h); - c.moveTo(w * 0.9, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.9, h); - c.stroke(); - - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.ARTIFACT) - { - c.translate(2, 0); - w = w - 4; - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.7, 0); - c.lineTo(w, h * 0.22); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.moveTo(w * 0.7, 0); - c.lineTo(w * 0.7, h * 0.22); - c.lineTo(w, h * 0.22); - c.stroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.ACTOR) - { - c.translate(3, 0); - w = w - 6; - - mxArchiMate3Actor.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.ROLE) - { - c.translate(0, 4); - h = h - 8; - - mxArchiMate3Role.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.PROCESS) - { - c.translate(0, 3); - h = h - 6; - - mxArchiMate3Process.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.DRIVER) - { - c.ellipse(w * 0.1, h * 0.1, w * 0.8, h * 0.8); - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.moveTo(w * 0.145, h * 0.145); - c.lineTo(w * 0.855, h * 0.855); - c.moveTo(w * 0.145, h * 0.855); - c.lineTo(w * 0.855, h * 0.145); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.ellipse(w * 0.35, h * 0.35, w * 0.3, h * 0.3); - c.fillAndStroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.ASSESSMENT) - { - c.ellipse(w * 0.2, 0, w * 0.8, h * 0.8); - c.stroke(); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.32, h * 0.68); - c.stroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.GOAL) - { - c.ellipse(0, 0, w, h); - c.stroke(); - c.ellipse(w * 0.15, h * 0.15, w * 0.7, h * 0.7); - c.stroke(); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.ellipse(w * 0.3, h * 0.3, w * 0.4, h * 0.4); - c.fillAndStroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.OUTCOME) - { - c.ellipse(0, w * 0.2, w * 0.8, h * 0.8); - c.stroke(); - c.ellipse(w * 0.15, w * 0.35, w * 0.5, h * 0.5); - c.stroke(); - c.ellipse(w * 0.3, w * 0.5, w * 0.2, h * 0.2); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.4, h * 0.6); - c.lineTo(w * 0.9, h * 0.1); - c.moveTo(w * 0.42, h * 0.4); - c.lineTo(w * 0.4, h * 0.6); - c.lineTo(w * 0.6, h * 0.58); - c.moveTo(w * 0.8, 0); - c.lineTo(w * 0.75, h * 0.25); - c.lineTo(w, h * 0.2); - c.stroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.PRINCIPLE) - { - c.begin(); - c.moveTo(w * 0.05, h * 0.05); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.95, h * 0.05); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.95, h * 0.95); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.05, h * 0.95); - c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.05, h * 0.05); - c.close(); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.begin(); - c.moveTo(w * 0.45, h * 0.7); - c.lineTo(w * 0.42, h * 0.15); - c.lineTo(w * 0.58, h * 0.15); - c.lineTo(w * 0.55, h * 0.7); - c.close(); - c.fill(); - - c.rect(w * 0.45, h * 0.75, w * 0.1, h * 0.1); - c.fill(); - } - else if (type === mxArchiMate3Application.prototype.cst.REQUIREMENT) - { - c.translate(0, 4); - h = h - 8; - - mxArchiMate3Requirement.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.CONSTRAINT) - { - c.translate(0, 4); - h = h - 8; - - mxArchiMate3Constraint.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.MATERIAL) - { - c.translate(0, 1); - h = h - 2; - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.25, 0); - c.lineTo(w * 0.75, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.75, h); - c.lineTo(w * 0.25, h); - c.close(); - c.moveTo(w * 0.15, h * 0.5); - c.lineTo(w * 0.31, h * 0.2); - c.moveTo(w * 0.69, h * 0.2); - c.lineTo(w * 0.85, h * 0.5); - c.moveTo(w * 0.68, h * 0.80); - c.lineTo(w * 0.32, h * 0.80); - c.stroke(); - } - else if (type === mxArchiMate3Application.prototype.cst.DISTRIBUTION) - { - c.translate(0, 4); - h = h - 8; - - mxArchiMate3Distribution.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.RESOURCE) - { - c.translate(0, 1); - h = h - 2; - - mxArchiMate3Resource.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.CAPABILITY) - { - mxArchiMate3Capability.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.COURSE) - { - mxArchiMate3Course.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.SYS_SW) - { - mxArchiMate3SysSw.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.ARTIFACT) - { - c.translate(2, 0); - w = w - 4; - - mxArchiMate3Artifact.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Application.prototype.cst.PATH) - { - c.translate(0, 5); - h = h - 10; - - mxArchiMate3Path.prototype.background(c, x, y, w, h); - } -}; - -mxCellRenderer.registerShape(mxArchiMate3Application.prototype.cst.APPLICATION, mxArchiMate3Application); - -mxArchiMate3Application.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var archiType = mxUtils.getValue(this.style, mxArchiMate3Application.prototype.cst.ARCHI_TYPE, 'square'); - - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - if (archiType === 'rounded') - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -2.9, -2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, 2.9, -2.9)); - } - else if ((archiType === 'oct') && w >= 20 && h >= 20) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 5, 5)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -5, 5)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -5, -5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, 5, -5)); - } - else - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Component -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Component(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Component, mxShape); - -mxArchiMate3Component.prototype.cst = { - COMPONENT : 'mxgraph.archimate3.component' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Component.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Component.prototype.background = function(c, x, y, w, h) -{ - c.rect(w * 0.25, 0, w * 0.75, h); - c.fillAndStroke(); - - c.rect(0, h * 0.25, w * 0.5, h * 0.15); - c.fillAndStroke(); - - c.rect(0, h * 0.6, w * 0.5, h * 0.15); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Component.prototype.cst.COMPONENT, mxArchiMate3Component); - -mxArchiMate3Component.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.625, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.625, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.325), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.675), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Collaboration -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Collaboration(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Collaboration, mxShape); - -mxArchiMate3Collaboration.prototype.cst = { - COLLABORATION : 'mxgraph.archimate3.collaboration' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Collaboration.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Collaboration.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(0, 0, w * 0.6, h); - c.fillAndStroke(); - c.ellipse(w * 0.4, 0, w * 0.6, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Collaboration.prototype.cst.COLLABORATION, mxArchiMate3Collaboration); - -mxArchiMate3Collaboration.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.11, 0.11), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.125), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.89, 0.11), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.11, 0.89), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.875), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.89, 0.89), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.3, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.7, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.3, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.7, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Interface -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Interface(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Interface, mxShape); - -mxArchiMate3Interface.prototype.cst = { - INTERFACE : 'mxgraph.archimate3.interface' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Interface.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Interface.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(w * 0.5, 0, w * 0.5, h); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Interface.prototype.cst.INTERFACE, mxArchiMate3Interface); - -mxArchiMate3Interface.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Process -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Process(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Process, mxShape); - -mxArchiMate3Process.prototype.cst = { - PROCESS : 'mxgraph.archimate3.process' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Process.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Process.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.3); - c.lineTo(w * 0.6, h * 0.3); - c.lineTo(w * 0.6, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.6, h); - c.lineTo(w * 0.6, h * 0.7); - c.lineTo(0, h * 0.7); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Process.prototype.cst.PROCESS, mxArchiMate3Process); - -mxArchiMate3Process.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.3), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.3, 0.3), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.6, 0.3), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.6, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.6, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.6, 0.7), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.3, 0.7), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.7), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Function -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Function(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Function, mxShape); - -mxArchiMate3Function.prototype.cst = { - FUNCTION : 'mxgraph.archimate3.function' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Function.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Function.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w, h * 0.2); - c.lineTo(w, h); - c.lineTo(w * 0.5, h * 0.8); - c.lineTo(0, h); - c.lineTo(0, h * 0.2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Function.prototype.cst.FUNCTION, mxArchiMate3Function); - -mxArchiMate3Function.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.2), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.6), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.8), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.6), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.2), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Interaction -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Interaction(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Interaction, mxShape); - -mxArchiMate3Interaction.prototype.cst = { - INTERACTION : 'mxgraph.archimate3.interaction' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Interaction.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Interaction.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.55, 0); - c.arcTo(w * 0.45, h * 0.5, 0, 0, 1, w * 0.55, h); - c.close(); - c.moveTo(w * 0.45, 0); - c.arcTo(w * 0.45, h * 0.5, 0, 0, 0, w * 0.45, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Interaction.prototype.cst.INTERACTION, mxArchiMate3Interaction); - -mxArchiMate3Interaction.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.86, 0.14), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.86, 0.86), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.14, 0.86), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.14, 0.14), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Service -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Service(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Service, mxShape); - -mxArchiMate3Service.prototype.cst = { - SERVICE : 'mxgraph.archimate3.service' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Service.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Service.prototype.background = function(c, x, y, w, h) -{ - var w1 = Math.max(w - h * 0.5, w * 0.5); - var w2 = Math.min(h * 0.5, w * 0.5); - - c.begin(); - c.moveTo(w1, 0); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w1, h); - c.lineTo(w2, h); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w2, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Service.prototype.cst.SERVICE, mxArchiMate3Service); - -mxArchiMate3Service.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var w1 = Math.max(w - h * 0.5, w * 0.5); - var w2 = Math.min(h * 0.5, w * 0.5); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w1, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w1, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w1 + h * 0.355, h * 0.145)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w1 + h * 0.5, h * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w1 + h * 0.355, h * 0.855)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 - h * 0.355, h * 0.145)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 - h * 0.5, h * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 - h * 0.355, h * 0.855)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Requirement -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Requirement(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Requirement, mxShape); - -mxArchiMate3Requirement.prototype.cst = { - REQUIREMENT : 'mxgraph.archimate3.requirement' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Requirement.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Requirement.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.25, 0); - c.lineTo(w, 0); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Requirement.prototype.cst.REQUIREMENT, mxArchiMate3Requirement); - -mxArchiMate3Requirement.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.9375, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.875, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.8125, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.0625, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.125, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.1875, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Constraint -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Constraint(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Constraint, mxShape); - -mxArchiMate3Constraint.prototype.cst = { - CONSTRAINT : 'mxgraph.archimate3.constraint' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Constraint.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Constraint.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.25, 0); - c.lineTo(w, 0); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.moveTo(w * 0.45, 0); - c.lineTo(w * 0.2, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Constraint.prototype.cst.CONSTRAINT, mxArchiMate3Constraint); - -mxArchiMate3Constraint.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.9375, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.875, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.8125, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.0625, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.125, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.1875, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Event -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Event(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Event, mxShape); - -mxArchiMate3Event.prototype.cst = { - EVENT : 'mxgraph.archimate3.event' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Event.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Event.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w - h * 0.5, 0); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h); - c.lineTo(0, h); - c.lineTo(h * 0.5, h * 0.5); - c.lineTo(0, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Event.prototype.cst.EVENT, mxArchiMate3Event); - -mxArchiMate3Event.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var w1 = Math.max(w - h * 0.5, w * 0.5); - var w2 = Math.min(h * 0.5, w * 0.5); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - h * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - h * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, h * 0.5, h * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - h * 0.5) * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - h * 0.5) * 0.5, h)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Event 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Event2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Event2, mxShape); - -mxArchiMate3Event2.prototype.cst = { - EVENT2 : 'mxgraph.archimate3.event2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Event2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Event2.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w - h * 0.5, 0); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h); - c.lineTo(0, h); - c.arcTo(h * 0.5, h * 0.5, 0, 0, 0, 0, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Event2.prototype.cst.EVENT2, mxArchiMate3Event2); - -//********************************************************************************************************************************************************** -//Actor -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Actor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Actor, mxShape); - -mxArchiMate3Actor.prototype.cst = { - ACTOR : 'mxgraph.archimate3.actor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Actor.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Actor.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(w * 0.2, 0, w * 0.6, h * 0.3); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.3); - c.lineTo(w * 0.5, h * 0.75); - c.moveTo(0, h * 0.45); - c.lineTo(w, h * 0.45); - c.moveTo(0, h); - c.lineTo(w * 0.5, h * 0.75); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Actor.prototype.cst.ACTOR, mxArchiMate3Actor); - -mxArchiMate3Actor.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.2, 0.15), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.8, 0.15), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.45), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.45), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Role -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Role(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Role, mxShape); - -mxArchiMate3Role.prototype.cst = { - ROLE : 'mxgraph.archimate3.role' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Role.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Role.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.8, 0); - c.lineTo(w * 0.2, 0); - c.arcTo(w * 0.2, h * 0.5, 0, 0, 0, w * 0.2, h); - c.lineTo(w * 0.8, h); - c.fillAndStroke(); - - c.ellipse(w * 0.6, 0, w * 0.4, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Role.prototype.cst.ROLE, mxArchiMate3Role); - -mxArchiMate3Role.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.2, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.8, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.8, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.2, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Business Object -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3BusinessObject(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3BusinessObject, mxShape); - -mxArchiMate3BusinessObject.prototype.cst = { - BUSINESS_OBJECT : 'mxgraph.archimate3.businessObject' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3BusinessObject.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - this.foreground(c, 0, 0, w, h); -}; - -mxArchiMate3BusinessObject.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMate3BusinessObject.prototype.foreground = function(c, x, y, w, h) -{ - if (h >= 15) - { - c.begin(); - c.moveTo(0, 15); - c.lineTo(w, 15); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxArchiMate3BusinessObject.prototype.cst.BUSINESS_OBJECT, mxArchiMate3BusinessObject); - -mxArchiMate3BusinessObject.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Contract -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Contract(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Contract, mxShape); - -mxArchiMate3Contract.prototype.cst = { - CONTRACT : 'mxgraph.archimate3.contract' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Contract.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - this.foreground(c, 0, 0, w, h); -}; - -mxArchiMate3Contract.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMate3Contract.prototype.foreground = function(c, x, y, w, h) -{ - if (h >= 15) - { - c.begin(); - c.moveTo(0, 15); - c.lineTo(w, 15); - c.stroke(); - } - - if (h >= 30) - { - c.begin(); - c.moveTo(0, h - 15); - c.lineTo(w, h - 15); - c.stroke(); - } - -}; - -mxCellRenderer.registerShape(mxArchiMate3Contract.prototype.cst.CONTRACT, mxArchiMate3Contract); - -mxArchiMate3Contract.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Product -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Product(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Product, mxShape); - -mxArchiMate3Product.prototype.cst = { - PRODUCT : 'mxgraph.archimate3.product' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Product.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - this.foreground(c, 0, 0, w, h); -}; - -mxArchiMate3Product.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMate3Product.prototype.foreground = function(c, x, y, w, h) -{ - if (h >= 15) - { - c.begin(); - c.moveTo(0, 15); - c.lineTo(w * 0.6, 15); - c.lineTo(w * 0.6, 0); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxArchiMate3Product.prototype.cst.PRODUCT, mxArchiMate3Product); - -mxArchiMate3Product.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Representation -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Representation(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Representation, mxShape); - -mxArchiMate3Representation.prototype.cst = { - REPRESENTATION : 'mxgraph.archimate3.representation' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Representation.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); -}; - -mxArchiMate3Representation.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85); - c.close(); - c.fillAndStroke(); - - if (h >= 20) - c.begin(); - c.moveTo(0, 15); - c.lineTo(w, 15); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Representation.prototype.cst.REPRESENTATION, mxArchiMate3Representation); - -mxArchiMate3Representation.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.745), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.955), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Deliverable -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Deliverable(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Deliverable, mxShape); - -mxArchiMate3Deliverable.prototype.cst = { - DELIVERABLE : 'mxgraph.archimate3.deliverable' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Deliverable.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); -}; - -mxArchiMate3Deliverable.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Deliverable.prototype.cst.DELIVERABLE, mxArchiMate3Deliverable); - -mxArchiMate3Deliverable.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.745), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.955), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Location -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Location(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Location, mxShape); - -mxArchiMate3Location.prototype.cst = { - LOCATION : 'mxgraph.archimate3.location' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Location.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMate3Location.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxArchiMate3Location.prototype.foreground = function(c, x, y, w, h) -{ - c.setDashed(false); - - c.translate(3 ,0); - w = w - 6; - c.begin(); - c.moveTo(w * 0.5, h); - c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.345, h * 0.7); - c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.5, 0); - c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.655, h * 0.7); - c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.5, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Location.prototype.cst.LOCATION, mxArchiMate3Location); - -//********************************************************************************************************************************************************** -//Gap -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Gap(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Gap, mxShape); - -mxArchiMate3Gap.prototype.cst = { - GAP : 'mxgraph.archimate3.gap' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Gap.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 20, 5); - this.foreground(c, w - 20, 5, 15, 15); -}; - -mxArchiMate3Gap.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85); - c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85); - c.close(); - c.fillAndStroke(); -}; - -mxArchiMate3Gap.prototype.foreground = function(c, x, y, w, h) -{ - c.setDashed(false); - - c.translate(0, 2); - h = h - 4; - - c.ellipse(w * 0.15, 0, w * 0.7, h); - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.35); - c.lineTo(w, h * 0.35); - c.moveTo(0, h * 0.65); - c.lineTo(w, h * 0.65); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Gap.prototype.cst.GAP, mxArchiMate3Gap); - -mxArchiMate3Gap.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.745), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.955), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.85), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Tech -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Tech(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Tech, mxShape); - -mxArchiMate3Tech.prototype.cst = { - TECH : 'mxgraph.archimate3.tech', - TYPE : 'techType', - DEVICE : 'device', - PLATEAU : 'plateau', - FACILITY : 'facility', - EQUIPMENT : 'equipment', - SYS_SW : 'sysSw' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Tech.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - c.translate(w - 30, 15); - this.foreground(c, w - 30, 15, 15, 15); -}; - -mxArchiMate3Tech.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 10); - c.lineTo(10, 0); - c.lineTo(w, 0); - c.lineTo(w, h - 10); - c.lineTo(w - 10, h); - c.lineTo(0, h); - c.close(); - c.moveTo(0, 10); - c.lineTo(w - 10, 10); - c.lineTo(w - 10, h); - c.moveTo(w, 0); - c.lineTo(w - 10, 10); - c.fillAndStroke(); -}; - -mxArchiMate3Tech.prototype.foreground = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxArchiMate3Tech.prototype.cst.TYPE, mxArchiMate3Tech.prototype.cst.DEVICE); - - c.setDashed(false); - - if (type === mxArchiMate3Tech.prototype.cst.PLATEAU) - { - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.rect(w * 0.4, 0, w * 0.6, h * 0.2); - c.fill(); - - c.rect(w * 0.2, h * 0.4, w * 0.6, h * 0.2); - c.fill(); - - c.rect(0, h * 0.8, w * 0.6, h * 0.2); - c.fill(); - } - else if (type === mxArchiMate3Tech.prototype.cst.FACILITY) - { - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(w * 0.13, 0); - c.lineTo(w * 0.13, h * 0.7); - c.lineTo(w * 0.42, h * 0.55); - c.lineTo(w * 0.42, h * 0.7); - c.lineTo(w * 0.71, h * 0.55); - c.lineTo(w * 0.71, h * 0.7); - c.lineTo(w, h * 0.55); - c.lineTo(w, h); - c.close(); - c.stroke(); - } - else if (type === mxArchiMate3Tech.prototype.cst.EQUIPMENT) - { - c.begin(); - c.moveTo(w * 0.72, h * 0.38); - c.curveTo(w * 0.78, w * 0.38, w * 0.85, h * 0.34, w * 0.85, h * 0.26); - c.curveTo(w * 0.85, w * 0.18, w * 0.78, h * 0.14, w * 0.73, h * 0.14); - c.curveTo(w * 0.64, w * 0.14, w * 0.59, h * 0.2, w * 0.59, h * 0.26); - c.curveTo(w * 0.59, h * 0.33, w * 0.65, w * 0.38, w * 0.72, h * 0.38); - c.close(); - c.moveTo(w * 0.68, h * 0.52); - c.lineTo(w * 0.67, h * 0.45); - c.lineTo(w * 0.61, h * 0.43); - c.lineTo(w * 0.56, h * 0.48); - c.lineTo(w * 0.5, h * 0.42); - c.lineTo(w * 0.54, h * 0.36); - c.lineTo(w * 0.52, h * 0.31); - c.lineTo(w * 0.45, h * 0.31); - c.lineTo(w * 0.45, h * 0.22); - c.lineTo(w * 0.52, h * 0.21); - c.lineTo(w * 0.54, h * 0.16); - c.lineTo(w * 0.5, h * 0.11); - c.lineTo(w * 0.56, h * 0.05); - c.lineTo(w * 0.62, h * 0.09); - c.lineTo(w * 0.67, h * 0.07); - c.lineTo(w * 0.68, 0); - c.lineTo(w * 0.77, 0); - c.lineTo(w * 0.78, h * 0.07); - c.lineTo(w * 0.83, h * 0.09); - c.lineTo(w * 0.89, h * 0.05); - c.lineTo(w * 0.95, h * 0.11); - c.lineTo(w * 0.91, h * 0.16); - c.lineTo(w * 0.93, h * 0.21); - c.lineTo(w, h * 0.22); - c.lineTo(w, h * 0.31); - c.lineTo(w * 0.93, h * 0.31); - c.lineTo(w * 0.91, h * 0.36); - c.lineTo(w * 0.95, h * 0.41); - c.lineTo(w * 0.89, h * 0.47); - c.lineTo(w * 0.83, h * 0.43); - c.lineTo(w * 0.78, h * 0.45); - c.lineTo(w * 0.77, h * 0.52); - c.lineTo(w * 0.68, h * 0.52); - c.close(); - c.moveTo(w * 0.36, h * 0.81); - c.curveTo(w * 0.44, h * 0.81, w * 0.52, h * 0.75, w * 0.52, h * 0.67); - c.curveTo(w * 0.52, h * 0.59, w * 0.45, h * 0.51, w * 0.35, h * 0.51); - c.curveTo(w * 0.27, h * 0.51, w * 0.19, h * 0.58, w * 0.19, h * 0.67); - c.curveTo(w * 0.19, h * 0.74, w * 0.27, h * 0.82, w * 0.36, h * 0.81); - c.close(); - c.moveTo(w * 0.21, h * 0.98); - c.lineTo(w * 0.22, h * 0.89); - c.lineTo(w * 0.16, h * 0.85); - c.lineTo(w * 0.08, h * 0.88); - c.lineTo(w * 0.02, h * 0.79); - c.lineTo(w * 0.09, h * 0.74); - c.lineTo(w * 0.08, h * 0.67); - c.lineTo(0, h * 0.63); - c.lineTo(w * 0.03, h * 0.53); - c.lineTo(w * 0.12, h * 0.54); - c.lineTo(w * 0.16, h * 0.48); - c.lineTo(w * 0.13, h * 0.4); - c.lineTo(w * 0.22, h * 0.35); - c.lineTo(w * 0.28, h * 0.42); - c.lineTo(w * 0.36, h * 0.41); - c.lineTo(w * 0.39, h * 0.33); - c.lineTo(w * 0.5, h * 0.36); - c.lineTo(w * 0.49, h * 0.45); - c.lineTo(w * 0.55, h * 0.49); - c.lineTo(w * 0.63, h * 0.45); - c.lineTo(w * 0.69, h * 0.54); - c.lineTo(w * 0.62, h * 0.6); - c.lineTo(w * 0.63, h * 0.67); - c.lineTo(w * 0.71, h * 0.7); - c.lineTo(w * 0.68, h * 0.8); - c.lineTo(w * 0.59, h * 0.79); - c.lineTo(w * 0.55, h * 0.85); - c.lineTo(w * 0.59, h * 0.79); - c.lineTo(w * 0.55, h * 0.85); - c.lineTo(w * 0.59, h * 0.93); - c.lineTo(w * 0.49, h * 0.98); - c.lineTo(w * 0.43, h * 0.91); - c.lineTo(w * 0.36, h * 0.92); - c.lineTo(w * 0.32, h); - c.lineTo(w * 0.21, h * 0.98); - c.close(); - c.stroke(); - } - else if (type === mxArchiMate3Tech.prototype.cst.SYS_SW) - { - mxArchiMate3SysSw.prototype.background(c, x, y, w, h); - } - else if (type === mxArchiMate3Tech.prototype.cst.DEVICE) - { - mxArchiMate3Device.prototype.background(c, x, y, w, h); - } -}; - -mxCellRenderer.registerShape(mxArchiMate3Tech.prototype.cst.TECH, mxArchiMate3Tech); - -mxArchiMate3Tech.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, 0, -10)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, 10)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Distribution -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Distribution(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Distribution, mxShape); - -mxArchiMate3Distribution.prototype.cst = { - DISTRIBUTION : 'mxgraph.archimate3.distribution' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Distribution.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Distribution.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.1, h * 0.25); - c.lineTo(w * 0.9, h * 0.25); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.9, h * 0.75); - c.lineTo(w * 0.1, h * 0.75); - c.lineTo(0, h * 0.5); - c.fillAndStroke(); - c.begin(); - c.moveTo(w * 0.2, 0); - c.lineTo(0, h * 0.5); - c.lineTo(w * 0.2, h); - c.moveTo(w * 0.8, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.8, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Distribution.prototype.cst.DISTRIBUTION, mxArchiMate3Distribution); - -mxArchiMate3Distribution.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.2, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.8, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.8, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.2, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Resource -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Resource(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Resource, mxShape); - -mxArchiMate3Resource.prototype.cst = { - RESOURCE : 'mxgraph.archimate3.resource' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Resource.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Resource.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.51, h * 0.34); - c.lineTo(w * 0.51, h * 0.65); - c.moveTo(w * 0.35, h * 0.34); - c.lineTo(w * 0.35, h * 0.65); - c.moveTo(w * 0.19, h * 0.34); - c.lineTo(w * 0.19, h * 0.65); - c.moveTo(w * 0.91, h * 0.4); - c.curveTo(w * 0.93, h * 0.39, w * 0.95, h * 0.39, w * 0.97, h * 0.40); - c.curveTo(w * 0.99, h * 0.4, w, h * 0.41, w, h * 0.43); - c.curveTo(w, h * 0.48, w, h * 0.52, w, h * 0.57); - c.curveTo(w, h * 0.58, w * 0.99, h * 0.59, w * 0.98, h * 0.6); - c.curveTo(w * 0.96, h * 0.6, w * 0.93, h * 0.6, w * 0.91, h * 0.6); - c.moveTo(0, h * 0.73); - c.curveTo(0, h * 0.6, 0, h * 0.43, 0, h * 0.27); - c.curveTo(0, h * 0.24, w * 0.03, h * 0.21, w * 0.08, h * 0.21); - c.curveTo(w * 0.33, h * 0.2, w * 0.61, h * 0.2, w * 0.84, h * 0.21); - c.curveTo(w * 0.88, h * 0.22, w * 0.89, h * 0.24, w * 0.9, h * 0.26); - c.curveTo(w * 0.91, h * 0.41, w * 0.91, h * 0.57, w * 0.9, h * 0.72); - c.curveTo(w * 0.9, h * 0.74, w * 0.88, h * 0.78, w * 0.83, h * 0.79); - c.curveTo(w * 0.57, h * 0.79, w * 0.32, h * 0.79, w * 0.06, h * 0.79); - c.curveTo(w * 0.02, h * 0.78, 0, h * 0.76, 0, h * 0.73); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Resource.prototype.cst.RESOURCE, mxArchiMate3Resource); - -//********************************************************************************************************************************************************** -//Capability -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Capability(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Capability, mxShape); - -mxArchiMate3Capability.prototype.cst = { - CAPABILITY : 'mxgraph.archimate3.capability' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Capability.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Capability.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.lineTo(0, h * 0.67); - c.lineTo(w * 0.33, h * 0.67); - c.lineTo(w * 0.33, h * 0.33); - c.lineTo(w * 0.67, h * 0.33); - c.lineTo(w * 0.67, 0); - c.close(); - c.moveTo(w * 0.67, h * 0.33); - c.lineTo(w, h * 0.33); - c.moveTo(w * 0.33, h * 0.67); - c.lineTo(w, h * 0.67); - c.moveTo(w * 0.33, h * 0.67); - c.lineTo(w * 0.33, h); - c.moveTo(w * 0.67, h * 0.33); - c.lineTo(w * 0.67, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Capability.prototype.cst.CAPABILITY, mxArchiMate3Capability); - -//********************************************************************************************************************************************************** -//Course of Action -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Course(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Course, mxShape); - -mxArchiMate3Course.prototype.cst = { - COURSE : 'mxgraph.archimate3.course' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Course.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Course.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h); - c.arcTo(w * 0.7, h * 0.7, 0, 0, 1, w * 0.41, h * 0.56); - c.moveTo(w * 0.14, h * 0.54); - c.lineTo(w * 0.41, h * 0.56); - c.lineTo(w * 0.3, h * 0.78); - c.stroke(); - - c.ellipse(w * 0.4, 0, w * 0.6, h * 0.6); - c.stroke(); - c.ellipse(w * 0.5, h * 0.1, w * 0.4, h * 0.4); - c.stroke(); - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#000000'); - c.setFillColor(fillColor); - c.ellipse(w * 0.6, h * 0.2, w * 0.2, h * 0.2); - c.fill(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Course.prototype.cst.COURSE, mxArchiMate3Course); - -//********************************************************************************************************************************************************** -//Node -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Node(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Node, mxShape); - -mxArchiMate3Node.prototype.cst = { - NODE : 'mxgraph.archimate3.node' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Node.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Node.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.25); - c.lineTo(w * 0.25, 0); - c.lineTo(w, 0); - c.lineTo(w, h * 0.75); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.moveTo(0, h * 0.25); - c.lineTo(w * 0.75, h * 0.25); - c.lineTo(w * 0.75, h); - c.moveTo(w, 0); - c.lineTo(w * 0.75, h * 0.25); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Node.prototype.cst.NODE, mxArchiMate3Node); - -mxArchiMate3Node.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Device -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Device(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Device, mxShape); - -mxArchiMate3Device.prototype.cst = { - DEVICE : 'mxgraph.archimate3.device' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Device.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Device.prototype.background = function(c, x, y, w, h) -{ - c.roundrect(0, 0, w, h * 0.88, w * 0.1, h * 0.1); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.1, h * 0.88); - c.lineTo(0, h); - c.lineTo(w, h); - c.lineTo(w * 0.9, h * 0.88); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Device.prototype.cst.DEVICE, mxArchiMate3Device); - -mxArchiMate3Device.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.03, 0.03), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.97, 0.03), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//System Software -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3SysSw(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3SysSw, mxShape); - -mxArchiMate3SysSw.prototype.cst = { - SYS_SW : 'mxgraph.archimate3.sysSw' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3SysSw.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3SysSw.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(w * 0.3, 0, w * 0.7, h * 0.7); - c.stroke(); - - c.ellipse(0, h * 0.02, w * 0.98, h * 0.98); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3SysSw.prototype.cst.SYS_SW, mxArchiMate3SysSw); - -//********************************************************************************************************************************************************** -//Artifact -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Artifact(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Artifact, mxShape); - -mxArchiMate3Artifact.prototype.cst = { - ARTIFACT : 'mxgraph.archimate3.artifact' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Artifact.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Artifact.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.7, 0); - c.lineTo(w, h * 0.22); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.7, 0); - c.lineTo(w * 0.7, h * 0.22); - c.lineTo(w, h * 0.22); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Artifact.prototype.cst.ARTIFACT, mxArchiMate3Artifact); - -mxArchiMate3Artifact.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.7, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.85, 0.11), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.22), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Communication Network -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3CommNetw(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3CommNetw, mxShape); - -mxArchiMate3CommNetw.prototype.cst = { - COMM_NETW : 'mxgraph.archimate3.commNetw' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3CommNetw.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3CommNetw.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.2, h); - c.lineTo(0, h * 0.5); - c.lineTo(w * 0.2, 0); - c.moveTo(w * 0.8, h); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.8, 0); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3CommNetw.prototype.cst.COMM_NETW, mxArchiMate3CommNetw); - -mxArchiMate3CommNetw.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Path -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxArchiMate3Path(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxArchiMate3Path, mxShape); - -mxArchiMate3Path.prototype.cst = { - PATH : 'mxgraph.archimate3.path' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxArchiMate3Path.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); -}; - -mxArchiMate3Path.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.2, h); - c.lineTo(0, h * 0.5); - c.lineTo(w * 0.2, 0); - c.moveTo(w * 0.8, h); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.8, 0); - c.stroke(); - - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxArchiMate3Path.prototype.cst.PATH, mxArchiMate3Path); - -mxArchiMate3Path.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; diff --git a/dist/libs/drawio/shapes/mxArrows.js b/dist/libs/drawio/shapes/mxArrows.js deleted file mode 100644 index ddceed33..00000000 --- a/dist/libs/drawio/shapes/mxArrows.js +++ /dev/null @@ -1,2691 +0,0 @@ -/** - * $Id: mxArrows.js,v 1.5 2016/03/23 12:32:06 mate Exp $ - * Copyright (c) 2006-2016, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2Arrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2Arrow, mxActor); - -mxShapeArrows2Arrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 40}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal: 0.6}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0} -]; - -mxShapeArrows2Arrow.prototype.cst = { - ARROW : 'mxgraph.arrows2.arrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(w - dx, dy); - c.lineTo(w - dx, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(0, h - dy); - c.lineTo(notch, h * 0.5); - c.close(); - c.fillAndStroke(); -}; - -mxShapeArrows2Arrow.prototype.getLabelBounds = function(rect) -{ - if (mxUtils.getValue(this.style, "boundedLbl", false)) - { - var w = rect.width; - var h = rect.height; - - var dy, dx; - var direction = this.direction || mxConstants.DIRECTION_EAST; - - if (mxUtils.getValue(this.style, "flipH", false)) - { - if (direction == mxConstants.DIRECTION_WEST) - direction = mxConstants.DIRECTION_EAST; - else if (direction == mxConstants.DIRECTION_EAST) - direction = mxConstants.DIRECTION_WEST; - } - - if (mxUtils.getValue(this.style, "flipV", false)) - { - if (direction == mxConstants.DIRECTION_NORTH) - direction = mxConstants.DIRECTION_SOUTH; - else if (direction == mxConstants.DIRECTION_SOUTH) - direction = mxConstants.DIRECTION_NORTH; - } - - - if (direction == mxConstants.DIRECTION_NORTH - || direction == mxConstants.DIRECTION_SOUTH) - { - dy = w * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - dx = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - } - else - { - dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - } - - if (direction == mxConstants.DIRECTION_EAST) - { - return new mxRectangle(rect.x, rect.y + dy, w - dx, h - 2 * dy); - } - else if (direction == mxConstants.DIRECTION_WEST) - { - return new mxRectangle(rect.x + dx, rect.y + dy, w - dx, h - 2 * dy); - } - else if (direction == mxConstants.DIRECTION_NORTH) - { - return new mxRectangle(rect.x + dy, rect.y + dx, w - 2 * dy, h - dx); - } - else - { - return new mxRectangle(rect.x + dy, rect.y, w - 2 * dy, h - dx); - } - } - - return rect; -}; - -mxCellRenderer.registerShape(mxShapeArrows2Arrow.prototype.cst.ARROW, mxShapeArrows2Arrow); - -Graph.handleFactory[mxShapeArrows2Arrow.prototype.cst.ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - return handles; - -} - -mxShapeArrows2Arrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, h - dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Two Way Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2TwoWayArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2TwoWayArrow, mxActor); - -mxShapeArrows2TwoWayArrow.prototype.cst = { - TWO_WAY_ARROW : 'mxgraph.arrows2.twoWayArrow' -}; - -mxShapeArrows2TwoWayArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal: 35}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal: 0.6} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2TwoWayArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - c.begin(); - c.moveTo(dx, dy); - c.lineTo(w - dx, dy); - c.lineTo(w - dx, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(dx, h - dy); - c.lineTo(dx, h); - c.lineTo(0, h * 0.5); - c.lineTo(dx, 0); - c.close(); - c.fillAndStroke(); -}; - -mxShapeArrows2TwoWayArrow.prototype.getLabelBounds = function(rect) -{ - if (mxUtils.getValue(this.style, "boundedLbl", false)) - { - var w = rect.width; - var h = rect.height; - var vertical = this.direction == mxConstants.DIRECTION_NORTH - || this.direction == mxConstants.DIRECTION_SOUTH; - - var dy, dx; - - if (vertical) - { - dy = w * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - dx = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - } - else - { - dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - } - - if (vertical) - { - return new mxRectangle(rect.x + dy, rect.y + dx, w - 2 * dy, h - 2 * dx); - } - else - { - return new mxRectangle(rect.x + dx, rect.y + dy, w - 2 * dx, h - 2 * dy); - } - } - - return rect; -}; - -mxCellRenderer.registerShape(mxShapeArrows2TwoWayArrow.prototype.cst.TWO_WAY_ARROW, mxShapeArrows2TwoWayArrow); - -mxShapeArrows2TwoWayArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2TwoWayArrow.prototype.cst.TWO_WAY_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2, bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - })]; - - return handles; - -} - -mxShapeArrows2TwoWayArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, h - dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Stylised Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2StylisedArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.feather = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2StylisedArrow, mxActor); - -mxShapeArrows2StylisedArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:40}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal:0.6}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:0}, - {name: 'feather', dispName: 'Feather', type: 'float', min:0, max:1, defVal:0.4}, -]; - -mxShapeArrows2StylisedArrow.prototype.cst = { - STYLISED_ARROW : 'mxgraph.arrows2.stylisedArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2StylisedArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var feather = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'feather', this.feather)))); - - c.begin(); - c.moveTo(0, feather); - c.lineTo(w - dx, dy); - c.lineTo(w - dx - 10, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx - 10, h); - c.lineTo(w - dx, h - dy); - c.lineTo(0, h - feather); - c.lineTo(notch, h * 0.5); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2StylisedArrow.prototype.cst.STYLISED_ARROW, mxShapeArrows2StylisedArrow); - -mxShapeArrows2StylisedArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2StylisedArrow.prototype.cst.STYLISED_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width - 10, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - 10, bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['feather'], function(bounds) - { - var feather = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'feather', this.dy)))); - - return new mxPoint(bounds.x, bounds.y + feather * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['feather'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - }); - - handles.push(handle3); - - return handles; - -} - -mxShapeArrows2StylisedArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var feather = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'feather', this.feather)))); - - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, feather)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - feather)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx - 10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx - 10, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, (dy + feather) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, h - (dy + feather) * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Sharp Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2SharpArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy1 = 0.5; - this.dx1 = 0.5; - this.dx2 = 0.5; - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2SharpArrow, mxActor); - -mxShapeArrows2SharpArrow.prototype.cst = { - SHARP_ARROW : 'mxgraph.arrows2.sharpArrow' -}; - -mxShapeArrows2SharpArrow.prototype.customProperties = [ - {name: 'dx1', dispName: 'Arrowhead Arrow Width', type: 'float', min:0, defVal:18}, - {name: 'dy1', dispName: 'Arrow Arrow Width', type: 'float', min:0, max:1, defVal:0.67}, - {name: 'dx2', dispName: 'Arrowhead Angle', type: 'float', min:0, defVal:18}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2SharpArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var x2 = 0; - - if (h != 0) - { - x2 = dx1a + dx2 * dy1a * 2 / h; - } - - c.begin(); - c.moveTo(0, dy1); - c.lineTo(w - dx1, dy1); - c.lineTo(w - x2, 0); - c.lineTo(w - dx2, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx2, h); - c.lineTo(w - x2, h); - c.lineTo(w - dx1, h - dy1); - c.lineTo(0, h - dy1); - c.lineTo(notch, h * 0.5); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2SharpArrow.prototype.cst.SHARP_ARROW, mxShapeArrows2SharpArrow); - -mxShapeArrows2SharpArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2SharpArrow.prototype.cst.SHARP_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) - { - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + dy1 * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - - return new mxPoint(bounds.x + bounds.width - dx2, bounds.y); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeArrows2SharpArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var x2 = 0; - - if (h != 0) - { - x2 = dx1a + dx2 * dy1a * 2 / h; - } - - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - x2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h - dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - x2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1) * 0.5, dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1) * 0.5, h - dy1)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Sharp Arrow2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2SharpArrow2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy1 = 0.5; - this.dx1 = 0.5; - this.dx2 = 0.5; - this.dy3 = 0.5; - this.dx3 = 0.5; - - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2SharpArrow2, mxActor); - -mxShapeArrows2SharpArrow2.prototype.customProperties = [ - {name: 'dx1', dispName: 'Arrowhead Arrow Width', type: 'float', min:0, defVal:18}, - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal:0.67}, - {name: 'dx2', dispName: 'Arrowhead Angle', type: 'float', min:0, defVal:18}, - {name: 'dx3', dispName: 'Arrowhead Edge X', type: 'float', min:0, defVal:27}, - {name: 'dy3', dispName: 'Arrowhead Edge Y', type: 'float', min:0, max:1, defVal:0.15}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:0} -]; - -mxShapeArrows2SharpArrow2.prototype.cst = { - SHARP_ARROW2 : 'mxgraph.arrows2.sharpArrow2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2SharpArrow2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var dy3 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy3', this.dy3)))); - var dx3 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx3', this.dx3)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - - c.begin(); - c.moveTo(0, dy1); - c.lineTo(w - dx1, dy1); - c.lineTo(w - dx3, dy3); - c.lineTo(w - dx2, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx2, h); - c.lineTo(w - dx3, h - dy3); - c.lineTo(w - dx1, h - dy1); - c.lineTo(0, h - dy1); - c.lineTo(notch, h * 0.5); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2SharpArrow2.prototype.cst.SHARP_ARROW2, mxShapeArrows2SharpArrow2); - -mxShapeArrows2SharpArrow2.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2SharpArrow2.prototype.cst.SHARP_ARROW2] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) - { - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + dy1 * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - - return new mxPoint(bounds.x + bounds.width - dx2, bounds.y); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - }); - - handles.push(handle3); - - var handle4 = Graph.createHandle(state, ['dx3', 'dy3'], function(bounds) - { - var dx3 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx3', this.dx3)))); - var dy3 = Math.max(0, Math.min(1 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy3', this.dy3)))); - - return new mxPoint(bounds.x + bounds.width - dx3, bounds.y + dy3 * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx3'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy3'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - }); - - handles.push(handle4); - - return handles; -}; - -mxShapeArrows2SharpArrow2.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var dy3 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy3', this.dy3)))); - var dx3 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx3', this.dx3)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx3, dy3)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h - dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx3, h - dy3)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1) * 0.5, dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1) * 0.5, h - dy1)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Callout Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2CalloutArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2CalloutArrow, mxActor); - -mxShapeArrows2CalloutArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, - {name: 'notch', dispName: 'Rectangle Width', type: 'float', min:0, defVal:60} -]; - -mxShapeArrows2CalloutArrow.prototype.cst = { - CALLOUT_ARROW : 'mxgraph.arrows2.calloutArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2CalloutArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(notch, 0); - c.lineTo(notch, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy - arrowHead); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx, h * 0.5 + dy + arrowHead); - c.lineTo(w - dx, h * 0.5 + dy); - c.lineTo(notch, h * 0.5 + dy); - c.lineTo(notch, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2CalloutArrow.prototype.cst.CALLOUT_ARROW, mxShapeArrows2CalloutArrow); - -mxShapeArrows2CalloutArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2CalloutArrow.prototype.cst.CALLOUT_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - pt.y))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null,notch, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 + dy + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch * 0.5 , 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch * 0.5 , h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, (notch + w - dx) * 0.5, -dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, (notch + w - dx) * 0.5, dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Bend Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2BendArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 40; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2BendArrow, mxActor); - -mxShapeArrows2BendArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal: 38}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal: 15}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:55}, - {name: 'rounded', dispName: 'Rounded', type: 'boolean', defVal: false} -]; - -mxShapeArrows2BendArrow.prototype.cst = { - BEND_ARROW : 'mxgraph.arrows2.bendArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2BendArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var rounded = mxUtils.getValue(this.style, 'rounded', '0'); - - c.begin(); - c.moveTo(w - dx, 0); - c.lineTo(w, arrowHead * 0.5); - c.lineTo(w - dx, arrowHead); - c.lineTo(w - dx, arrowHead / 2 + dy); - - if (rounded == '1') - { - c.lineTo(dy * 2.2, arrowHead / 2 + dy); - c.arcTo(dy * 0.2, dy * 0.2, 0, 0, 0, dy * 2, arrowHead / 2 + dy * 1.2); - } - else - { - c.lineTo(dy * 2, arrowHead / 2 + dy); - } - - c.lineTo(dy * 2, h); - c.lineTo(dy, h - notch); - c.lineTo(0, h); - - if (rounded == '1') - { - c.lineTo(0, arrowHead / 2 + dy); - c.arcTo(dy * 2, dy * 2, 0, 0, 1, dy * 2, arrowHead / 2 - dy); - } - else - { - c.lineTo(0, arrowHead / 2 - dy); - } - - c.lineTo(w - dx, arrowHead / 2 - dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2BendArrow.prototype.cst.BEND_ARROW, mxShapeArrows2BendArrow); - -mxShapeArrows2BendArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2BendArrow.prototype.cst.BEND_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) * 2.2, bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - var notch = Math.max(0, Math.min(bounds.height - arrowHead / 2 - dy, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + dy, bounds.y + bounds.height - notch); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height - pt.y))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height, pt.y - bounds.y))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeArrows2BendArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var rounded = mxUtils.getValue(this.style, 'rounded', '0'); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx + dy * 2) * 0.5, arrowHead / 2 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead / 2 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, arrowHead * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead / 2 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx + dy * 2) * 0.5, arrowHead / 2 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 2, (h - arrowHead / 2 - dy) * 0.5 + arrowHead / 2 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy, h - notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - arrowHead / 2 - dy) * 0.5 + arrowHead / 2 + dy)); - - if (rounded == '1') - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 0.586, arrowHead / 2 - dy * 0.414)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2 * dy + dy * 0.0586, arrowHead / 2 + dy + dy * 0.0586)); - } - else - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, arrowHead / 2 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 2, arrowHead / 2 + dy)); - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Bend Double Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2BendDoubleArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 40; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2BendDoubleArrow, mxActor); - -mxShapeArrows2BendDoubleArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:38}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:15}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:55}, - {name: 'rounded', dispName: 'Rounded', type: 'boolean', defVal:false} -]; - -mxShapeArrows2BendDoubleArrow.prototype.cst = { - BEND_DOUBLE_ARROW : 'mxgraph.arrows2.bendDoubleArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2BendDoubleArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var rounded = mxUtils.getValue(this.style, 'rounded', '0'); - - c.begin(); - c.moveTo(w - dx, 0); - c.lineTo(w, arrowHead * 0.5); - c.lineTo(w - dx, arrowHead); - c.lineTo(w - dx, arrowHead / 2 + dy); - - if (rounded == '1') - { - c.lineTo(arrowHead / 2 + dy * 1.2, arrowHead / 2 + dy); - c.arcTo(dy * 0.2, dy * 0.2, 0, 0, 0, arrowHead /2 + dy, arrowHead / 2 + dy * 1.2); - } - else - { - c.lineTo(arrowHead / 2 + dy, arrowHead / 2 + dy); - } - - c.lineTo(arrowHead / 2 + dy, h - dx); - c.lineTo(arrowHead, h - dx); - c.lineTo(arrowHead / 2, h); - c.lineTo(0, h - dx); - c.lineTo(arrowHead / 2 - dy, h - dx); - - if (rounded == '1') - { - c.lineTo(arrowHead / 2 - dy, arrowHead / 2 + dy); - c.arcTo(dy * 2, dy * 2, 0, 0, 1, arrowHead / 2 + dy, arrowHead / 2 - dy); - } - else - { - c.lineTo(arrowHead / 2 - dy, arrowHead / 2 - dy); - } - - c.lineTo(w - dx, arrowHead / 2 - dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2BendDoubleArrow.prototype.cst.BEND_DOUBLE_ARROW, mxShapeArrows2BendDoubleArrow); - -mxShapeArrows2BendDoubleArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2BendDoubleArrow.prototype.cst.BEND_DOUBLE_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(Math.min(bounds.height, bounds.width) - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(Math.min(bounds.width, bounds.height) - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(Math.min(bounds.height, bounds.width) - dx, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.height, bounds.width) - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.y - bounds.y))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeArrows2BendDoubleArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var rounded = mxUtils.getValue(this.style, 'rounded', '0'); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx , 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, arrowHead * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead / 2 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (arrowHead / 2 + dy + w - dx) * 0.5, arrowHead / 2 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (arrowHead / 2 + dy + w - dx) * 0.5, arrowHead / 2 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy, (arrowHead / 2 + dy + h - dx) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy, (arrowHead / 2 + dy + h - dx) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy, h - dx)); - - if (rounded == '1') - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy * 0.414, arrowHead / 2 - dy * 0.414)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy + dy * 0.0586, arrowHead / 2 + dy + dy * 0.0586)); - } - else - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy, arrowHead / 2 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy, arrowHead / 2 + dy)); - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Callout Double Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2CalloutDoubleArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2CalloutDoubleArrow, mxActor); - -mxShapeArrows2CalloutDoubleArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10}, - {name: 'notch', dispName: 'Rect Size', type: 'float', min:0, defVal:24} -]; - -mxShapeArrows2CalloutDoubleArrow.prototype.cst = { - CALLOUT_DOUBLE_ARROW : 'mxgraph.arrows2.calloutDoubleArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2CalloutDoubleArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - c.begin(); - c.moveTo(w / 2 - notch, 0); - c.lineTo(w / 2 + notch, 0); - c.lineTo(w / 2 + notch, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy - arrowHead); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx, h * 0.5 + dy + arrowHead); - c.lineTo(w - dx, h * 0.5 + dy); - c.lineTo(w / 2 + notch, h * 0.5 + dy); - c.lineTo(w / 2 + notch, h); - c.lineTo(w / 2 - notch, h); - c.lineTo(w / 2 - notch, h * 0.5 + dy); - c.lineTo(dx, h * 0.5 + dy); - c.lineTo(dx, h * 0.5 + dy + arrowHead); - c.lineTo(0, h * 0.5); - c.lineTo(dx, h * 0.5 - dy - arrowHead); - c.lineTo(dx, h * 0.5 - dy); - c.lineTo(w / 2 - notch, h * 0.5 - dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2CalloutDoubleArrow.prototype.cst.CALLOUT_DOUBLE_ARROW, mxShapeArrows2CalloutDoubleArrow); - -mxShapeArrows2CalloutDoubleArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2CalloutDoubleArrow.prototype.cst.CALLOUT_DOUBLE_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + bounds.width / 2 + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x - bounds.width / 2))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - pt.y))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeArrows2CalloutDoubleArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w / 2 - notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w / 2 + notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, w / 2 - notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, w / 2 + notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 + dy + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h * 0.5 - dy - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h * 0.5 + dy + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 1.5 - dx + notch) * 0.5, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 1.5 - dx + notch) * 0.5, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - notch) * 0.5, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - notch) * 0.5, h * 0.5 + dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Callout Quad Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2CalloutQuadArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2CalloutQuadArrow, mxActor); - -mxShapeArrows2CalloutQuadArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal: 10}, - {name: 'notch', dispName: 'Rect Size', type: 'float', min:0, defVal:24}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10} -]; - -mxShapeArrows2CalloutQuadArrow.prototype.cst = { - CALLOUT_QUAD_ARROW : 'mxgraph.arrows2.calloutQuadArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2CalloutQuadArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - c.begin(); - c.moveTo(w * 0.5 + dy, h * 0.5 - notch); - c.lineTo(w * 0.5 + notch, h * 0.5 - notch); - c.lineTo(w * 0.5 + notch, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy - arrowHead); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx, h * 0.5 + dy + arrowHead); - c.lineTo(w - dx, h * 0.5 + dy); - c.lineTo(w * 0.5 + notch, h * 0.5 + dy); - c.lineTo(w * 0.5 + notch, h * 0.5 + notch); - c.lineTo(w * 0.5 + dy, h * 0.5 + notch); - c.lineTo(w * 0.5 + dy, h - dx); - c.lineTo(w * 0.5 + dy + arrowHead, h - dx); - c.lineTo(w * 0.5, h); - c.lineTo(w * 0.5 - dy - arrowHead, h - dx); - c.lineTo(w * 0.5 - dy, h - dx); - c.lineTo(w * 0.5 - dy, h * 0.5 + notch); - c.lineTo(w * 0.5 - notch, h * 0.5 + notch); - c.lineTo(w * 0.5 - notch, h * 0.5 + dy); - c.lineTo(dx, h * 0.5 + dy); - c.lineTo(dx, h * 0.5 + dy + arrowHead); - c.lineTo(0, h * 0.5); - c.lineTo(dx, h * 0.5 - dy - arrowHead); - c.lineTo(dx, h * 0.5 - dy); - c.lineTo(w * 0.5 - notch, h * 0.5 - dy); - c.lineTo(w * 0.5 - notch, h * 0.5 - notch); - c.lineTo(w * 0.5 - dy, h * 0.5 - notch); - c.lineTo(w * 0.5 - dy, dx); - c.lineTo(w * 0.5 - dy - arrowHead, dx); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.5 + dy + arrowHead, dx); - c.lineTo(w * 0.5 + dy, dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2CalloutQuadArrow.prototype.cst.CALLOUT_QUAD_ARROW, mxShapeArrows2CalloutQuadArrow); - -mxShapeArrows2CalloutQuadArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2CalloutQuadArrow.prototype.cst.CALLOUT_QUAD_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) / 2 - Math.max(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead))), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.y + bounds.height / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.width, bounds.height), parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + bounds.width / 2 + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.width, bounds.height) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x - bounds.width / 2))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - pt.y))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeArrows2CalloutQuadArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, h * 0.5 - notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + notch, h * 0.5 - notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + notch, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, h * 0.5 + notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + notch, h * 0.5 + notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + notch, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, h * 0.5 + notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - notch, h * 0.5 + notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - notch, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, h * 0.5 - notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - notch, h * 0.5 - notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - notch, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 + dy + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy - arrowHead, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy + arrowHead, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h * 0.5 - dy - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h * 0.5 + dy + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy - arrowHead, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy + arrowHead, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75 + (notch - dx) * 0.5, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75 + (notch - dx) * 0.5, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, h * 0.75 + (notch - dx) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, h * 0.75 + (notch - dx) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25 - (notch - dx) * 0.5, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25 - (notch - dx) * 0.5, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, h * 0.25 - (notch - dx) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, h * 0.25 - (notch - dx) * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Callout Double 90 Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2CalloutDouble90Arrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy1 = 0.5; - this.dx1 = 0.5; - this.dx2 = 0; - this.dy2 = 0; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2CalloutDouble90Arrow, mxActor); - -mxShapeArrows2CalloutDouble90Arrow.prototype.customProperties = [ - {name: 'dx1', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, defVal: 10}, - {name: 'dx2', dispName: 'Callout Width', type: 'float', min:0, defVal:70}, - {name: 'dy2', dispName: 'Callout Height', type: 'float', min:0, defVal:70}, - {name: 'arrowHead', dispName: 'ArrowHead Width', type: 'float', min:0, defVal:10} -]; - -mxShapeArrows2CalloutDouble90Arrow.prototype.cst = { - CALLOUT_DOUBLE_90_ARROW : 'mxgraph.arrows2.calloutDouble90Arrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2CalloutDouble90Arrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var dy2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(dx2, 0); - c.lineTo(dx2, dy2 * 0.5 - dy1); - c.lineTo(w - dx1, dy2 * 0.5 - dy1); - c.lineTo(w - dx1, dy2 * 0.5 - dy1 - arrowHead); - c.lineTo(w, dy2 * 0.5); - c.lineTo(w - dx1, dy2 * 0.5 + dy1 + arrowHead); - c.lineTo(w - dx1, dy2 * 0.5 + dy1); - c.lineTo(dx2, dy2 * 0.5 + dy1); - c.lineTo(dx2, dy2); - c.lineTo(dx2 / 2 + dy1, dy2); - c.lineTo(dx2 / 2 + dy1, h - dx1); - c.lineTo(dx2 / 2 + dy1 + arrowHead, h - dx1); - c.lineTo(dx2 / 2, h); - c.lineTo(dx2 / 2 - dy1 - arrowHead, h - dx1); - c.lineTo(dx2 / 2 - dy1, h - dx1); - c.lineTo(dx2 / 2 - dy1, dy2); - c.lineTo(0, dy2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2CalloutDouble90Arrow.prototype.cst.CALLOUT_DOUBLE_90_ARROW, mxShapeArrows2CalloutDouble90Arrow); - -mxShapeArrows2CalloutDouble90Arrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2CalloutDouble90Arrow.prototype.cst.CALLOUT_DOUBLE_90_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx1 = Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - dy1); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['dx2', 'dy2'], function(bounds) - { - var dx2 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - var dy2 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); - - return new mxPoint(bounds.x + dx2, bounds.y + dy2); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; - this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.y - bounds.y))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - var arrowHead = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - dy1 - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) - pt.y))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeArrows2CalloutDouble90Arrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var dy2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + dx2) * 0.5, dy2 * 0.5 - dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, dy2 * 0.5 - dy1 - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy2 * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, dy2 * 0.5 + dy1 + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + dx2) * 0.5, dy2 * 0.5 + dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 * 0.5 + dy1, (h - dx1 + dy2) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 * 0.5 - dy1, (h - dx1 + dy2) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 / 2 + dy1 + arrowHead, h - dx1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 / 2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 / 2 - dy1 - arrowHead, h - dx1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy2)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Quad Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2QuadArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2QuadArrow, mxActor); - -mxShapeArrows2QuadArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10} -]; - -mxShapeArrows2QuadArrow.prototype.cst = { - QUAD_ARROW : 'mxgraph.arrows2.quadArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2QuadArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - c.begin(); - c.moveTo(w * 0.5 + dy, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy); - c.lineTo(w - dx, h * 0.5 - dy - arrowHead); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx, h * 0.5 + dy + arrowHead); - c.lineTo(w - dx, h * 0.5 + dy); - c.lineTo(w * 0.5 + dy, h * 0.5 + dy); - c.lineTo(w * 0.5 + dy, h - dx); - c.lineTo(w * 0.5 + dy + arrowHead, h - dx); - c.lineTo(w * 0.5, h); - c.lineTo(w * 0.5 - dy - arrowHead, h - dx); - c.lineTo(w * 0.5 - dy, h - dx); - c.lineTo(w * 0.5 - dy, h * 0.5 + dy); - c.lineTo(dx, h * 0.5 + dy); - c.lineTo(dx, h * 0.5 + dy + arrowHead); - c.lineTo(0, h * 0.5); - c.lineTo(dx, h * 0.5 - dy - arrowHead); - c.lineTo(dx, h * 0.5 - dy); - c.lineTo(w * 0.5 - dy, h * 0.5 - dy); - c.lineTo(w * 0.5 - dy, dx); - c.lineTo(w * 0.5 - dy - arrowHead, dx); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.5 + dy + arrowHead, dx); - c.lineTo(w * 0.5 + dy, dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2QuadArrow.prototype.cst.QUAD_ARROW, mxShapeArrows2QuadArrow); - -mxShapeArrows2QuadArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2QuadArrow.prototype.cst.QUAD_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - pt.y))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeArrows2QuadArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 + dy + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h * 0.5 - dy - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h * 0.5 + dy + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy - arrowHead, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy + arrowHead, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy - arrowHead, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy + arrowHead, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, (dx - dy) * 0.5 + h * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, (dx - dy) * 0.5 + h * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, (dy - dx) * 0.5 + h * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, (dy - dx) * 0.5 + h * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dx - dy) * 0.5 + w * 0.25, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dx - dy) * 0.5 + w * 0.25, h * 0.5 + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dy - dx) * 0.5 + w * 0.75, h * 0.5 - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dy - dx) * 0.5 + w * 0.75, h * 0.5 + dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Triad Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2TriadArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2TriadArrow, mxActor); - -mxShapeArrows2TriadArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:40} -]; - -mxShapeArrows2TriadArrow.prototype.cst = { - TRIAD_ARROW : 'mxgraph.arrows2.triadArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2TriadArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - c.begin(); - c.moveTo(w * 0.5 + arrowHead * 0.5 - dy, h - arrowHead + dy); - c.lineTo(w - dx, h - arrowHead + dy); - c.lineTo(w - dx, h - arrowHead); - c.lineTo(w, h - arrowHead * 0.5); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(dx, h - dy); - c.lineTo(dx, h); - c.lineTo(0, h - arrowHead * 0.5); - c.lineTo(dx, h - arrowHead); - c.lineTo(dx, h - arrowHead + dy); - c.lineTo(w * 0.5 - arrowHead * 0.5 + dy, h - arrowHead + dy); - c.lineTo(w * 0.5 - arrowHead * 0.5 + dy, dx); - c.lineTo(w * 0.5 - arrowHead * 0.5, dx); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.5 + arrowHead * 0.5, dx); - c.lineTo(w * 0.5 + arrowHead * 0.5 - dy, dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2TriadArrow.prototype.cst.TRIAD_ARROW, mxShapeArrows2TriadArrow); - -mxShapeArrows2TriadArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2TriadArrow.prototype.cst.TRIAD_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + bounds.height - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)) * 2, bounds.y + bounds.height - pt.y))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeArrows2TriadArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, - arrowHead * 0.5, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, arrowHead * 0.5, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - arrowHead * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - arrowHead * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 1.5 - dx + arrowHead * 0.5 - dy) * 0.5, h - arrowHead + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 1.5 - dx + arrowHead * 0.5 - dy) * 0.5, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - arrowHead * 0.5 + dy) * 0.5, h - arrowHead + dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - arrowHead * 0.5 + dy) * 0.5, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - arrowHead * 0.5 + dy, (dx + h - arrowHead + dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + arrowHead * 0.5 - dy, (dx + h - arrowHead + dy) * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Tailed Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2TailedArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2TailedArrow, mxActor); - -mxShapeArrows2TailedArrow.prototype.customProperties = [ - {name: 'dx1', dispName: 'Arrowhead Length', type: 'float', min:0, defVal: 20}, - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, defVal: 10}, - {name: 'dx2', dispName: 'Tail Length', type: 'float', min:0, defVal: 25}, - {name: 'dy2', dispName: 'Tail Width', type: 'float', min:0, defVal:30}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:20} -]; - -mxShapeArrows2TailedArrow.prototype.cst = { - TAILED_ARROW : 'mxgraph.arrows2.tailedArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2TailedArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy2 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var x2 = 0; - - if (dy2 != 0) - { - x2 = dx2 + dy2 * (dy2 - dy1) / dy2; - } - - c.begin(); - c.moveTo(0, h * 0.5 - dy2); - c.lineTo(dx2, h * 0.5 - dy2); - c.lineTo(x2, h * 0.5 - dy1); - c.lineTo(w - dx1, h * 0.5 - dy1); - c.lineTo(w - dx1, h * 0.5 - dy1 - arrowHead); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx1, h * 0.5 + dy1 + arrowHead); - c.lineTo(w - dx1, h * 0.5 + dy1); - c.lineTo(x2, h * 0.5 + dy1); - c.lineTo(dx2, h * 0.5 + dy2); - c.lineTo(0, h * 0.5 + dy2); - c.lineTo(notch, h * 0.5); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2TailedArrow.prototype.cst.TAILED_ARROW, mxShapeArrows2TailedArrow); - -mxShapeArrows2TailedArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2TailedArrow.prototype.cst.TAILED_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.y + bounds.height / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1 - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + bounds.height / 2 - pt.y))) / 100; - }); - - handles.push(handle3); - - var handle4 = Graph.createHandle(state, ['dx2', 'dy2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - var dy2 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); - - return new mxPoint(bounds.x + dx2, bounds.y + bounds.height / 2 - dy2); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)) - parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) + parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) - 1, pt.x - bounds.x))) / 100; - this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), Math.min(bounds.height / 2, bounds.y + bounds.height / 2 - pt.y))) / 100; - - }); - - handles.push(handle4); - - return handles; -}; - -mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy2 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var x2 = 0; - - if (dy2 != 0) - { - x2 = dx2 + dy2 * (dy2 - dy1) / dy2; - } - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h * 0.5 - dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, h * 0.5 - dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 - dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 - dy1 - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h * 0.5 + dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, h * 0.5 + dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 + dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 + dy1 + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Tailed Arrow with Notch -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2TailedNotchedArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; - this.arrowHead = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2TailedNotchedArrow, mxActor); - -mxShapeArrows2TailedNotchedArrow.prototype.customProperties = [ - {name: 'dx1', dispName: 'Arrowhead Length', type: 'float', mix:0, defVal:20}, - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, - {name: 'dx2', dispName: 'Tail Length', type: 'float', min:0, defVal:25}, - {name: 'dy2', dispName: 'Tail Width', type: 'float', min:0, defVal:30}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:20}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:20} -]; - -mxShapeArrows2TailedNotchedArrow.prototype.cst = { - TAILED_NOTCHED_ARROW : 'mxgraph.arrows2.tailedNotchedArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2TailedNotchedArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy2 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var x2 = 0; - - if (dy2 != 0) - { - x2 = dx2 + notch * (dy2 - dy1) / dy2; - } - - c.begin(); - c.moveTo(0, h * 0.5 - dy2); - c.lineTo(dx2, h * 0.5 - dy2); - c.lineTo(x2, h * 0.5 - dy1); - c.lineTo(w - dx1, h * 0.5 - dy1); - c.lineTo(w - dx1, h * 0.5 - dy1 - arrowHead); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx1, h * 0.5 + dy1 + arrowHead); - c.lineTo(w - dx1, h * 0.5 + dy1); - c.lineTo(x2, h * 0.5 + dy1); - c.lineTo(dx2, h * 0.5 + dy2); - c.lineTo(0, h * 0.5 + dy2); - c.lineTo(notch, h * 0.5); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2TailedNotchedArrow.prototype.cst.TAILED_NOTCHED_ARROW, mxShapeArrows2TailedNotchedArrow); - -mxShapeArrows2TailedNotchedArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2TailedNotchedArrow.prototype.cst.TAILED_NOTCHED_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch))- parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.y + bounds.height / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - var dy1 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1 - arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + bounds.height / 2 - pt.y))) / 100; - }); - - handles.push(handle3); - - var handle4 = Graph.createHandle(state, ['dx2', 'dy2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - var dy2 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); - - return new mxPoint(bounds.x + dx2, bounds.y + bounds.height / 2 - dy2); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)) - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; - this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), Math.min(bounds.height / 2, bounds.y + bounds.height / 2 - pt.y))) / 100; - - }); - - handles.push(handle4); - - return handles; -}; - -mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dy2 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - var dx2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var x2 = 0; - - if (dy2 != 0) - { - x2 = dx2 + notch * (dy2 - dy1) / dy2; - } - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h * 0.5 - dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, h * 0.5 - dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 - dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 - dy1 - arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h * 0.5 + dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, h * 0.5 + dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 + dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 + dy1 + arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Striped Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2StripedArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2StripedArrow, mxActor); - -mxShapeArrows2StripedArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:40}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal:0.6}, - {name: 'notch', dispName: 'Stripes Length', type: 'float', min:0, defVal:25} -]; - -mxShapeArrows2StripedArrow.prototype.cst = { - STRIPED_ARROW : 'mxgraph.arrows2.stripedArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2StripedArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.begin(); - c.moveTo(notch, dy); - c.lineTo(w - dx, dy); - c.lineTo(w - dx, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(notch, h - dy); - c.close(); - c.moveTo(0, h - dy); - c.lineTo(notch * 0.16, h - dy); - c.lineTo(notch * 0.16, dy); - c.lineTo(0, dy); - c.close(); - c.moveTo(notch * 0.32, h - dy); - c.lineTo(notch * 0.8, h - dy); - c.lineTo(notch * 0.8, dy); - c.lineTo(notch * 0.32, dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2StripedArrow.prototype.cst.STRIPED_ARROW, mxShapeArrows2StripedArrow); - -mxShapeArrows2StripedArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2StripedArrow.prototype.cst.STRIPED_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeArrows2StripedArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 0, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, h - dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Jump-In Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2JumpInArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.arrowHead = 40; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2JumpInArrow, mxActor); - -mxShapeArrows2JumpInArrow.prototype.customProperties = [ - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:38}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:15}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:55} -]; - -mxShapeArrows2JumpInArrow.prototype.cst = { - JUMP_IN_ARROW : 'mxgraph.arrows2.jumpInArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2JumpInArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - c.begin(); - c.moveTo(w - dx, 0); - c.lineTo(w, arrowHead * 0.5); - c.lineTo(w - dx, arrowHead); - c.lineTo(w - dx, arrowHead / 2 + dy); - c.arcTo(w - dx, h - arrowHead / 2 - dy, 0, 0, 0, 0, h); - c.arcTo(w - dx, h - arrowHead / 2 + dy, 0, 0, 1, w - dx, arrowHead / 2 - dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2JumpInArrow.prototype.cst.JUMP_IN_ARROW, mxShapeArrows2JumpInArrow); - -mxShapeArrows2JumpInArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2JumpInArrow.prototype.cst.JUMP_IN_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height, pt.y - bounds.y))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeArrows2JumpInArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, arrowHead * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//U Turn Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeArrows2UTurnArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.arrowHead = 40; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeArrows2UTurnArrow, mxActor); - -mxShapeArrows2UTurnArrow.prototype.customProperties = [ - {name: 'dx2', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:25}, - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:11}, - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:43} -]; - -mxShapeArrows2UTurnArrow.prototype.cst = { - U_TURN_ARROW : 'mxgraph.arrows2.uTurnArrow' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeArrows2UTurnArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var dx = (h - arrowHead / 2 + dy) / 2; - var dx2 = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2))); - - c.begin(); - c.moveTo(dx, 0); - c.lineTo(dx + dx2, arrowHead * 0.5); - c.lineTo(dx, arrowHead); - c.lineTo(dx, arrowHead / 2 + dy); - c.arcTo(dx - 2 * dy, dx - 2 * dy, 0, 0, 0, dx, h - 2 * dy); - c.lineTo(Math.max(w, dx), h - 2 * dy); - c.lineTo(Math.max(w, dx), h); - c.lineTo(dx, h); - c.arcTo(dx, dx, 0, 0, 1, dx, arrowHead / 2 - dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeArrows2UTurnArrow.prototype.cst.U_TURN_ARROW, mxShapeArrows2UTurnArrow); - -mxShapeArrows2UTurnArrow.prototype.constraints = null; - -Graph.handleFactory[mxShapeArrows2UTurnArrow.prototype.cst.U_TURN_ARROW] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var dx = (bounds.height - arrowHead / 2 + dy) / 2; - - return new mxPoint(bounds.x + dx, bounds.y + arrowHead / 2 - dy); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; - - })]; - - var handle2 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var dx = (bounds.height - arrowHead / 2 + dy) / 2; - - var dx2 = Math.max(0, Math.min(bounds.width - dx, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - - return new mxPoint(bounds.x + dx + dx2, bounds.y + arrowHead / 2); - }, function(bounds, pt) - { - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var dx = (bounds.height - arrowHead / 2 + dy) / 2; - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(Math.max(bounds.width, dx), pt.x - bounds.x - dx))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) - { - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var dx = (bounds.height - arrowHead / 2 + dy) / 2; - - return new mxPoint(bounds.x + dx, bounds.y + arrowHead); - }, function(bounds, pt) - { - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeArrows2UTurnArrow.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); - var dx = (h - arrowHead / 2 + dy) / 2; - var dx2 = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + dx2, arrowHead * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, arrowHead)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dx + w) * 0.5, h - 2 * dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, Math.max(w, dx), h - 2 * dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, Math.max(w, dx), h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, Math.max(w, dx), h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dx + w) * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h + arrowHead * 0.5 - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead - 2 * dy, (h + arrowHead * 0.5 - dy) * 0.5)); - - return (constr); -}; diff --git a/dist/libs/drawio/shapes/mxAtlassian.js b/dist/libs/drawio/shapes/mxAtlassian.js deleted file mode 100644 index d112d128..00000000 --- a/dist/libs/drawio/shapes/mxAtlassian.js +++ /dev/null @@ -1,291 +0,0 @@ -/** - * $Id: mxAtlassian.js,v 1.0 2018/24/05 12:32:06 mate Exp $ - * Copyright (c) 2006-2018, JGraph Ltd - */ -//********************************************************************************************************************************************************** -// Issue -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxAtlassianJiraIssue(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxAtlassianJiraIssue, mxRectangleShape); - -mxAtlassianJiraIssue.prototype.customProperties = [ - {name: 'issueType', dispName: 'Issue Type', type: 'enum', - enumList: [{val: 'story', dispName: 'Story'}, - {val: 'task', dispName: 'Task'}, - {val: 'subTask', dispName: 'Sub-Task'}, - {val: 'feature', dispName: 'Feature'}, - {val: 'bug', dispName: 'Bug'}, - {val: 'techTask', dispName: 'Tech Task'}, - {val: 'epic', dispName: 'Epic'}, - {val: 'improvement', dispName: 'Improvement'}, - {val: 'fault', dispName: 'Fault'}, - {val: 'change', dispName: 'Change'}, - {val: 'access', dispName: 'Access'}, - {val: 'purchase', dispName: 'Purchase'}, - {val: 'itHelp', dispName: 'IT Help'}] - }, - {name: 'issuePriority', dispName: 'Issue Priority', type: 'enum', - enumList: [{val: 'blocker', dispName: 'Blocker'}, - {val: 'critical', dispName: 'Critical'}, - {val: 'major', dispName: 'Major'}, - {val: 'minor', dispName: 'Minor'}, - {val: 'trivial', dispName: 'Trivial'}] - }, - {name: 'issueStatus', dispName: 'Issue Status', type: 'enum', - enumList: [{val: 'todo', dispName: 'TODO'}, - {val: 'inProgress', dispName: 'In Progress'}, - {val: 'inReview', dispName: 'In Review'}, - {val: 'done', dispName: 'Done'}] - } -]; - -mxAtlassianJiraIssue.prototype.cst = {ISSUE : 'mxgraph.atlassian.issue'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxAtlassianJiraIssue.prototype.paintForeground = function(c, x, y, w, h) -{ - c.translate(x, y); - - var issueType = mxUtils.getValue(this.style, 'issueType', 'task'); - var issuePriority = mxUtils.getValue(this.style, 'issuePriority', 'minor'); - var issueStatus = mxUtils.getValue(this.style, 'issueStatus', 'todo'); - - c.setStrokeColor('none'); - - switch (issueType) { - case 'story': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.story'); - - if (stencil != null) - { - c.setFillColor('#61B659'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'task': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.task'); - - if (stencil != null) - { - c.setFillColor('#5EA3E4'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'subTask': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.subtask'); - - if (stencil != null) - { - c.setFillColor('#5EA3E4'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'feature': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.new_feature'); - - if (stencil != null) - { - c.setFillColor('#61B659'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'bug': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.bug'); - - if (stencil != null) - { - c.setFillColor('#CE0000'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'techTask': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.tech_task'); - - if (stencil != null) - { - c.setFillColor('#999C95'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'epic': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.epic'); - - if (stencil != null) - { - c.setFillColor('#9E4ADD'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'improvement': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.improvement'); - - if (stencil != null) - { - c.setFillColor('#61B659'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'fault': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.fault'); - - if (stencil != null) - { - c.setFillColor('#F8902F'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'change': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.change'); - - if (stencil != null) - { - c.setFillColor('#9E4ADD'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'access': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.access'); - - if (stencil != null) - { - c.setFillColor('#F8902F'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'purchase': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.purchase'); - - if (stencil != null) - { - c.setFillColor('#61B659'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - case 'itHelp': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.it_help'); - - if (stencil != null) - { - c.setFillColor('#5EA3E4'); - stencil.drawShape(c, this, 5, 5, 10, 10); - } - - break; - } - - switch (issuePriority) { - case 'blocker': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.no'); - - if (stencil != null) - { - c.setFillColor('#CE0000'); - stencil.drawShape(c, this, 85, 5, 10, 10); - } - break; - case 'critical': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.critical'); - - if (stencil != null) - { - c.setFillColor('#CE0000'); - stencil.drawShape(c, this, 86, 3, 8, 14); - } - break; - case 'major': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.double_up'); - - if (stencil != null) - { - c.setFillColor('#CE0000'); - stencil.drawShape(c, this, 85, 5, 10, 10); - } - break; - case 'minor': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.double'); - - if (stencil != null) - { - c.setFillColor('#2A8735'); - stencil.drawShape(c, this, 85, 5, 10, 10); - } - break; - case 'trivial': - var stencil = mxStencilRegistry.getStencil('mxgraph.atlassian.single'); - - if (stencil != null) - { - c.setFillColor('#9AA1B2'); - stencil.drawShape(c, this, 85, 5, 10, 10); - } - break; - } - - c.setFillColor('#FFFFFD'); - c.setFontColor('#4E6B89'); - - switch (issueStatus) { - case 'todo': - c.rect(w - 45, 5, 40, 20); - c.fill(); - - c.text(w - 25, 15, 0, 0, 'TO DO', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - break; - case 'inProgress': - c.rect(w - 85, 5, 80, 20); - c.fill(); - - c.text(w - 45, 15, 0, 0, 'IN PROGRESS', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - break; - case 'inReview': - c.rect(w - 75, 5, 70, 20); - c.fill(); - - c.text(w - 40, 15, 0, 0, 'IN REVIEW', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - break; - case 'done': - c.rect(w - 45, 5, 40, 20); - c.fill(); - - c.text(w - 25, 15, 0, 0, 'DONE', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - break; - default: - var tw = mxUtils.getValue(this.style, 'issueStatusWidth', issueStatus.length * 6.5); - c.rect(w - tw - 5, 5, tw, 20); - c.fill(); - c.text(w - 7, 15, 0, 0, issueStatus, mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxAtlassianJiraIssue.prototype.cst.ISSUE, mxAtlassianJiraIssue); diff --git a/dist/libs/drawio/shapes/mxBasic.js b/dist/libs/drawio/shapes/mxBasic.js deleted file mode 100644 index 327bc125..00000000 --- a/dist/libs/drawio/shapes/mxBasic.js +++ /dev/null @@ -1,4644 +0,0 @@ -/** - * $Id: mxBasic.js,v 1.5 2016/04/1 12:32:06 mate Exp $ - * Copyright (c) 2006-2018, JGraph Ltd - */ -//********************************************************************************************************************************************************** -// Cross -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicCross(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicCross, mxActor); - -mxShapeBasicCross.prototype.cst = {CROSS : 'mxgraph.basic.cross2'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicCross.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - c.begin(); - c.moveTo(w * 0.5 + dx, 0); - c.lineTo(w * 0.5 + dx, h * 0.5 - dx); - c.lineTo(w, h * 0.5 - dx); - c.lineTo(w, h * 0.5 + dx); - c.lineTo(w * 0.5 + dx, h * 0.5 + dx); - c.lineTo(w * 0.5 + dx, h); - c.lineTo(w * 0.5 - dx, h); - c.lineTo(w * 0.5 - dx, h * 0.5 + dx); - c.lineTo(0, h * 0.5 + dx); - c.lineTo(0, h * 0.5 - dx); - c.lineTo(w * 0.5 - dx, h * 0.5 - dx); - c.lineTo(w * 0.5 - dx, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicCross.prototype.cst.CROSS, mxShapeBasicCross); - -mxShapeBasicCross.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicCross.prototype.cst.CROSS] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + bounds.width / 2 + dx, bounds.y + bounds.height / 2 - dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x - bounds.width / 2))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -// Rectangular Callout -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicRectCallout(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicRectCallout, mxActor); - -mxShapeBasicRectCallout.prototype.customProperties = [ - {name: 'dx', dispName: 'Callout Position', type: 'float', min:0, defVal:30}, - {name: 'dy', dispName: 'Callout Size', type: 'float', min:0, defVal:15} -]; - -mxShapeBasicRectCallout.prototype.cst = {RECT_CALLOUT : 'mxgraph.basic.rectCallout'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicRectCallout.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - c.begin(); - c.moveTo(dx - dy * 0.5, h - dy); - c.lineTo(0, h - dy); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h - dy); - c.lineTo(dx + dy * 0.5, h - dy); - c.lineTo(dx - dy, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapeBasicRectCallout.prototype.getLabelMargins = function() -{ - if (mxUtils.getValue(this.style, 'boundedLbl', false)) - { - return new mxRectangle(0, 0, 0, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)) * this.scale); - } - - return null; -}; - -mxCellRenderer.registerShape(mxShapeBasicRectCallout.prototype.cst.RECT_CALLOUT, mxShapeBasicRectCallout); - -mxShapeBasicRectCallout.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicRectCallout.prototype.cst.RECT_CALLOUT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height - dy); - }, function(bounds, pt) - { - var y = parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) * 0.6; - this.state.style['dx'] = Math.round(100 * Math.max(y, Math.min(bounds.width - y, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(Math.max(0, Math.min(bounds.height, bounds.y + bounds.height - pt.y))); - })]; - - return handles; -}; - -mxShapeBasicRectCallout.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx - dy, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dy) * 0.5)); - - return (constr); -} - -//********************************************************************************************************************************************************** -// Rounded Rectangular Callout -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicRoundRectCallout(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; - this.dx = 0.5; - this.size = 10; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicRoundRectCallout, mxActor); - -mxShapeBasicRoundRectCallout.prototype.cst = {ROUND_RECT_CALLOUT : 'mxgraph.basic.roundRectCallout'}; - -mxShapeBasicRoundRectCallout.prototype.getLabelMargins = mxShapeBasicRectCallout.prototype.getLabelMargins; - -mxShapeBasicRoundRectCallout.prototype.customProperties = [ - {name: 'size', dispName: 'Arc Size', type: 'float', min:0, defVal:5}, - {name: 'dx', dispName: 'Callout Position', type: 'float', min:0, defVal:30}, - {name: 'dy', dispName: 'Callout Size', type: 'float', min:0, defVal:15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicRoundRectCallout.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var r = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'size', this.size)))); - - r = Math.min((h - dy) / 2, w / 2, r); - dx = Math.max(r + dy * 0.5, dx); - dx = Math.min(w - r - dy * 0.5, dx); - - c.begin(); - c.moveTo(dx - dy * 0.5, h - dy); - c.lineTo(r, h - dy); - c.arcTo(r, r, 0, 0, 1, 0, h - dy - r); - c.lineTo(0, r); - c.arcTo(r, r, 0, 0, 1, r, 0); - c.lineTo(w - r, 0); - c.arcTo(r, r, 0, 0, 1, w, r); - c.lineTo(w, h - dy - r); - c.arcTo(r, r, 0, 0, 1, w - r, h - dy); - c.lineTo(dx + dy * 0.5, h - dy); - c.arcTo(1.9 * dy, 1.4 * dy, 0, 0, 1, dx - dy, h); - c.arcTo(0.9 * dy, 1.4 * dy, 0, 0, 0, dx - dy * 0.5, h - dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicRoundRectCallout.prototype.cst.ROUND_RECT_CALLOUT, mxShapeBasicRoundRectCallout); - -mxShapeBasicRoundRectCallout.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicRoundRectCallout.prototype.cst.ROUND_RECT_CALLOUT] = function(state) -{ - return [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height - dy); - }, function(bounds, pt) - { - var y = parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) * 0.6; - this.state.style['dx'] = Math.round(100 * Math.max(y, Math.min(bounds.width - y, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(Math.max(0, Math.min(bounds.height, bounds.y + bounds.height - pt.y))); - }), Graph.createHandle(state, ['size'], function(bounds) - { - var size = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'size', this.size)))); - - return new mxPoint(bounds.x + bounds.width - size, bounds.y + 10); - }, function(bounds, pt) - { - var dy = parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)); - this.state.style['size'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2, (bounds.height - dy) / 2, bounds.x + bounds.width - pt.x))) / 100; - })]; -}; - -mxShapeBasicRoundRectCallout.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var r = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'size', this.size)))); - - r = Math.min((h - dy) / 2, w / 2, r); - dx = Math.max(r + dy * 0.5, dx); - dx = Math.min(w - r - dy * 0.5, dx); - - if (r < w * 0.25) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - } - - if (r < (h - dy) * 0.25) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dy) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dy) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dy) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dy) * 0.75)); - } - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.293, r * 0.293)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.293, r * 0.293)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.293, h - dy - r * 0.293)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.293, h - dy - r * 0.293)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx - dy, h)); - - return (constr); -} - -//********************************************************************************************************************************************************** -// Wave -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicWave(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicWave, mxActor); - -mxShapeBasicWave.prototype.customProperties = [ - {name: 'dy', dispName: 'Wave Size', type: 'float', min:0, max:1, defVal: 0.3} -]; - -mxShapeBasicWave.prototype.cst = {WAVE : 'mxgraph.basic.wave2'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicWave.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var fy = 1.4 - - c.begin(); - c.moveTo(0, dy / 2); - c.quadTo(w / 6, dy * (1 - fy), w / 3, dy / 2); - c.quadTo(w / 2, dy * fy, w * 2 / 3, dy / 2); - c.quadTo(w * 5 / 6, dy * (1 - fy), w, dy / 2); - c.lineTo(w, h - dy / 2); - c.quadTo(w * 5 / 6, h - dy * fy, w * 2 / 3, h - dy / 2); - c.quadTo(w / 2, h - dy * (1 - fy), w / 3, h - dy / 2); - c.quadTo(w / 6, h - dy * fy, 0, h - dy / 2); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicWave.prototype.cst.WAVE, mxShapeBasicWave); - -mxShapeBasicWave.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicWave.prototype.cst.WAVE] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width / 2, bounds.y + dy * bounds.height); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 100; - })]; - - return handles; -}; - -mxShapeBasicWave.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var fy = 1.4 - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w / 6, h * 0.015)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w / 3, dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, dy * 0.95)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.67, dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.83, h * 0.015)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.83, h - dy * 0.95)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.67, h - dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, h - dy * 0.04)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w / 3, h - dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w / 6, h - dy * 0.95)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h * 0.5)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Octagon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicOctagon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicOctagon, mxActor); - -mxShapeBasicOctagon.prototype.customProperties = [ - {name: 'dx', dispName: 'Cutoff Size', type: 'float', min:0, defVal:15} -]; - -mxShapeBasicOctagon.prototype.cst = {OCTAGON : 'mxgraph.basic.octagon2'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicOctagon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(dx, 0); - c.lineTo(w - dx, 0); - c.lineTo(w, dx); - c.lineTo(w, h - dx); - c.lineTo(w - dx, h); - c.lineTo(dx, h); - c.lineTo(0, h - dx); - c.lineTo(0, dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicOctagon.prototype.cst.OCTAGON, mxShapeBasicOctagon); - -mxShapeBasicOctagon.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicOctagon.prototype.cst.OCTAGON] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicOctagon.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx) * 0.5; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h - dx)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Isometric Cube -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicIsoCube(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.isoAngle = 15; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicIsoCube, mxActor); - -mxShapeBasicIsoCube.prototype.customProperties = [ - {name: 'isoAngle', dispName: 'Perspective Angle', type: 'float', min:0, defVal:15} -]; - -mxShapeBasicIsoCube.prototype.cst = {ISO_CUBE : 'mxgraph.basic.isocube'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicIsoCube.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var isoAngle = Math.max(0.01, Math.min(94, parseFloat(mxUtils.getValue(this.style, 'isoAngle', this.isoAngle)))) * Math.PI / 200 ; - var isoH = Math.min(w * Math.tan(isoAngle), h * 0.5); - - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w, isoH); - c.lineTo(w, h - isoH); - c.lineTo(w * 0.5, h); - c.lineTo(0, h - isoH); - c.lineTo(0, isoH); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(0, isoH); - c.lineTo(w * 0.5, 2 * isoH); - c.lineTo(w, isoH); - c.moveTo(w * 0.5, 2 * isoH); - c.lineTo(w * 0.5, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicIsoCube.prototype.cst.ISO_CUBE, mxShapeBasicIsoCube); - -mxShapeBasicIsoCube.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicIsoCube.prototype.cst.ISO_CUBE] = function(state) -{ - var handles = [Graph.createHandle(state, ['isoAngle'], function(bounds) - { - var isoAngle = Math.max(0.01, Math.min(94, parseFloat(mxUtils.getValue(this.state.style, 'isoAngle', this.isoAngle)))) * Math.PI / 200 ; - var isoH = Math.min(bounds.width * Math.tan(isoAngle), bounds.height * 0.5); - - return new mxPoint(bounds.x, bounds.y + isoH); - }, function(bounds, pt) - { - this.state.style['isoAngle'] = Math.round(100 * Math.max(0, Math.min(100, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -mxShapeBasicIsoCube.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var isoAngle = Math.max(0.01, Math.min(94, parseFloat(mxUtils.getValue(this.style, 'isoAngle', this.isoAngle)))) * Math.PI / 200 ; - var isoH = Math.min(w * Math.tan(isoAngle), h * 0.5); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, isoH)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Acute Triangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicTriangleAcute(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicTriangleAcute, mxActor); - -mxShapeBasicTriangleAcute.prototype.customProperties = [ - {name: 'dx', dispName: 'Top', type: 'float', min:0, max:1, defVal:0.5} -]; - -mxShapeBasicTriangleAcute.prototype.cst = {ACUTE_TRIANGLE : 'mxgraph.basic.acute_triangle'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicTriangleAcute.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - c.begin(); - c.moveTo(0, h); - c.lineTo(dx, 0); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicTriangleAcute.prototype.cst.ACUTE_TRIANGLE, mxShapeBasicTriangleAcute); - -mxShapeBasicTriangleAcute.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicTriangleAcute.prototype.cst.ACUTE_TRIANGLE] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * bounds.width, bounds.y + 10); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - return handles; -}; - -mxShapeBasicTriangleAcute.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx * 0.5, h * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - (w - dx) * 0.5, h * 0.5)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Obtuse Triangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicTriangleObtuse(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicTriangleObtuse, mxActor); - -mxShapeBasicTriangleObtuse.prototype.customProperties = [ - {name: 'dx', dispName: 'Bottom', type: 'float', min:0, max:1, defVal:0.25} -]; - -mxShapeBasicTriangleObtuse.prototype.cst = {OBTUSE_TRIANGLE : 'mxgraph.basic.obtuse_triangle'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicTriangleObtuse.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - c.begin(); - c.moveTo(dx, h); - c.lineTo(0, 0); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicTriangleObtuse.prototype.cst.OBTUSE_TRIANGLE, mxShapeBasicTriangleObtuse); - -mxShapeBasicTriangleObtuse.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicTriangleObtuse.prototype.cst.OBTUSE_TRIANGLE] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * bounds.width, bounds.y + bounds.height - 10); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - return handles; -}; - -mxShapeBasicTriangleObtuse.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, h * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w + dx) * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx * 0.5, h * 0.5)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Drop -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicDrop(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicDrop, mxActor); - -mxShapeBasicDrop.prototype.cst = {DROP : 'mxgraph.basic.drop'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicDrop.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var r = Math.min(h, w) * 0.5; - var d = h - r; - var a = Math.sqrt(d * d - r * r); - - var angle = Math.atan(a / r); - - var x1 = r * Math.sin(angle); - var y1 = r * Math.cos(angle); - - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5 + x1, h - r - y1); - c.arcTo(r, r, 0, 0, 1, w * 0.5 + r, h - r); - c.arcTo(r, r, 0, 0, 1, w * 0.5, h); - c.arcTo(r, r, 0, 0, 1, w * 0.5 - r, h - r); - c.arcTo(r, r, 0, 0, 1, w * 0.5 - x1, h - r - y1); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicDrop.prototype.cst.DROP, mxShapeBasicDrop); - -mxShapeBasicDrop.prototype.constraints = null; - -//********************************************************************************************************************************************************** -//Cone 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicCone2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dy = 0.9; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicCone2, mxActor); - -mxShapeBasicCone2.prototype.customProperties = [ - {name: 'dx', dispName: 'Top', type: 'float', min:0, max:1, defVal:0.5}, - {name: 'dy', dispName: 'Bottom', type: 'float', min:0, max:1, defVal:0.9} -]; - -mxShapeBasicCone2.prototype.cst = {CONE2 : 'mxgraph.basic.cone2'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicCone2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - var ry = h - dy; - - c.begin(); - c.moveTo(dx, 0); - - if (ry > 0) - { - c.lineTo(w, h - ry); - c.arcTo(w * 0.5, ry, 0, 0, 1, w * 0.5, h); - c.arcTo(w * 0.5, ry, 0, 0, 1, 0, h - ry); - } - else - { - c.lineTo(w, h); - c.lineTo(0, h); - } - - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicCone2.prototype.cst.CONE2, mxShapeBasicCone2); - -mxShapeBasicCone2.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicCone2.prototype.cst.CONE2] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * bounds.width, bounds.y + 10); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + 10, bounds.y + dy * bounds.height); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeBasicCone2.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var ry = h - dy; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - ry)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - ry)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Pyramid -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicPyramid(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx1 = 0.5; - this.dx2 = 0.6; - this.dy1 = 0.9; - this.dy2 = 0.8; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicPyramid, mxActor); - -mxShapeBasicPyramid.prototype.customProperties = [ - {name: 'dx1', dispName: 'Top', type: 'float', min:0, max:1, defVal:0.4}, - {name: 'dx2', dispName: 'Bottom', type: 'float', min:0, max:1, defVal:0.6}, - {name: 'dy1', dispName: 'Perspective Left', type: 'float', min:0, max:1, defVal:0.9}, - {name: 'dy2', dispName: 'Perspective Right', type: 'float', min:0, max:1, defVal:0.8} -]; - -mxShapeBasicPyramid.prototype.cst = {PYRAMID : 'mxgraph.basic.pyramid'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicPyramid.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx1 = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var dy1 = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dy2 = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - - c.begin(); - c.moveTo(dx1, 0); - c.lineTo(w, dy2); - c.lineTo(dx2, h); - c.lineTo(0, dy1); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(dx1, 0); - c.lineTo(dx2, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicPyramid.prototype.cst.PYRAMID, mxShapeBasicPyramid); - -mxShapeBasicPyramid.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicPyramid.prototype.cst.PYRAMID] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1'], function(bounds) - { - var dx1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - - return new mxPoint(bounds.x + dx1 * bounds.width, bounds.y + 10); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - - return new mxPoint(bounds.x + dx2 * bounds.width, bounds.y + bounds.height - 10); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['dy1'], function(bounds) - { - var dy1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); - - return new mxPoint(bounds.x + 10, bounds.y + dy1 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 100; - }); - - handles.push(handle3); - - var handle4 = Graph.createHandle(state, ['dy2'], function(bounds) - { - var dy2 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); - - return new mxPoint(bounds.x + bounds.width - 10, bounds.y + dy2 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dy2'] = Math.round(100 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 100; - }); - - handles.push(handle4); - - return handles; -}; - -mxShapeBasicPyramid.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx1 = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - var dx2 = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var dy1 = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); - var dy2 = h * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy2', this.dy2)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx1, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w + dx1) * 0.5, dy2 * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w + dx2) * 0.5, (h + dy2) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 * 0.5, (h + dy1) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx1 * 0.5, dy1 * 0.5)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//4 Point Star 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasic4PointStar2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.8; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasic4PointStar2, mxActor); - -mxShapeBasic4PointStar2.prototype.customProperties = [ - {name: 'dx', dispName: 'Thickness', type: 'float', min:0, max:1, defVal:0.8} -]; - -mxShapeBasic4PointStar2.prototype.cst = {FOUR_POINT_STAR_2 : 'mxgraph.basic.4_point_star_2'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasic4PointStar2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = 0.5 * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(dx * w, dx * h); - c.lineTo(w * 0.5, 0); - c.lineTo(w - dx * w, dx * h); - c.lineTo(w, h * 0.5); - c.lineTo(w - dx * w, h - dx * h); - c.lineTo(w * 0.5, h); - c.lineTo(dx * w, h - dx * h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasic4PointStar2.prototype.cst.FOUR_POINT_STAR_2, mxShapeBasic4PointStar2); - -mxShapeBasic4PointStar2.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasic4PointStar2.prototype.cst.FOUR_POINT_STAR_2] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * bounds.width / 2, bounds.y + dx * bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(1, 2 * (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - return handles; -}; - -mxShapeBasic4PointStar2.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = 0.5 * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(dx, dx), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1 - dx, dx), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1 - dx, 1 - dx), false)); - constr.push(new mxConnectionConstraint(new mxPoint(dx, 1 - dx), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Diagonal Snip Rectangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicDiagSnipRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicDiagSnipRect, mxActor); - -mxShapeBasicDiagSnipRect.prototype.customProperties = [ - {name: 'dx', dispName: 'Snip', type: 'float', min:0, deVal:6}, -]; - -mxShapeBasicDiagSnipRect.prototype.cst = {DIAG_SNIP_RECT : 'mxgraph.basic.diag_snip_rect'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicDiagSnipRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(dx, 0); - c.lineTo(w, 0); - c.lineTo(w, h - dx); - c.lineTo(w - dx, h); - c.lineTo(0, h); - c.lineTo(0, dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicDiagSnipRect.prototype.cst.DIAG_SNIP_RECT, mxShapeBasicDiagSnipRect); - -mxShapeBasicDiagSnipRect.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicDiagSnipRect.prototype.cst.DIAG_SNIP_RECT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicDiagSnipRect.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx) * 0.5; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Diagonal Round Rectangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicDiagRoundRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicDiagRoundRect, mxActor); - -mxShapeBasicDiagRoundRect.prototype.customProperties = [ - {name: 'dx', dispName: 'Rounding Size', type: 'float', min:0, defVal:6}, -]; - -mxShapeBasicDiagRoundRect.prototype.cst = {DIAG_ROUND_RECT : 'mxgraph.basic.diag_round_rect'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicDiagRoundRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(dx, 0); - c.lineTo(w, 0); - c.lineTo(w, h - dx); - c.arcTo(dx, dx, 0, 0, 1, w - dx, h); - c.lineTo(0, h); - c.lineTo(0, dx); - c.arcTo(dx, dx, 0, 0, 1, dx, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicDiagRoundRect.prototype.cst.DIAG_ROUND_RECT, mxShapeBasicDiagRoundRect); - -mxShapeBasicDiagRoundRect.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicDiagRoundRect.prototype.cst.DIAG_ROUND_RECT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicDiagRoundRect.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Corner Round Rectangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicCornerRoundRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicCornerRoundRect, mxActor); - -mxShapeBasicCornerRoundRect.prototype.customProperties = [ - {name: 'dx', dispName: 'Rounding Size', type: 'float', min:0, defVal:6}, -]; - -mxShapeBasicCornerRoundRect.prototype.cst = {CORNER_ROUND_RECT : 'mxgraph.basic.corner_round_rect'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicCornerRoundRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(dx, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.lineTo(0, dx); - c.arcTo(dx, dx, 0, 0, 1, dx, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicCornerRoundRect.prototype.cst.CORNER_ROUND_RECT, mxShapeBasicCornerRoundRect); - -mxShapeBasicCornerRoundRect.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicCornerRoundRect.prototype.cst.CORNER_ROUND_RECT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicCornerRoundRect.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Plaque -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicPlaque(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicPlaque, mxActor); - -mxShapeBasicPlaque.prototype.customProperties = [ - {name: 'dx', dispName: 'Cutoff Size', type: 'float', min:0, defVal:6}, -]; - -mxShapeBasicPlaque.prototype.cst = {PLAQUE : 'mxgraph.basic.plaque'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicPlaque.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(w - dx, 0); - c.arcTo(dx, dx, 0, 0, 0, w, dx); - c.lineTo(w, h - dx); - c.arcTo(dx, dx, 0, 0, 0, w - dx, h); - c.lineTo(dx, h); - c.arcTo(dx, dx, 0, 0, 0, 0, h - dx); - c.lineTo(0, dx); - c.arcTo(dx, dx, 0, 0, 0, dx, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicPlaque.prototype.cst.PLAQUE, mxShapeBasicPlaque); - -mxShapeBasicPlaque.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicPlaque.prototype.cst.PLAQUE] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx * 1.41, bounds.y + dx * 1.41); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicPlaque.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Frame -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicFrame(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicFrame, mxActor); - -mxShapeBasicFrame.prototype.customProperties = [ - {name: 'dx', dispName: 'Width', type: 'float', min:0, defVal:10}, -]; - -mxShapeBasicFrame.prototype.cst = {FRAME : 'mxgraph.basic.frame'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicFrame.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.lineTo(0, 0); - c.close(); - c.moveTo(dx, dx); - c.lineTo(dx, h - dx); - c.lineTo(w - dx, h - dx); - c.lineTo(w - dx, dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicFrame.prototype.cst.FRAME, mxShapeBasicFrame); - -mxShapeBasicFrame.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicFrame.prototype.cst.FRAME] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicFrame.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - dx = Math.min(w * 0.5, h * 0.5, dx); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - 2 * dx)* 0.25 + dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 1.5 - dx) * 0.5, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, (h - 2 * dx)* 0.25 + dx)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, -dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, (h - 2 * dx) * 0.75 + dx)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -dx, -dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - 2 * dx) * 0.75 + dx, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false, null, 0, -dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - 2 * dx) * 0.25 + dx, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, dx, -dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, (h - 2 * dx) * 0.75 + dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, (h - 2 * dx) * 0.25 + dx)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Plaque Frame -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicPlaqueFrame(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -*/ -mxUtils.extend(mxShapeBasicPlaqueFrame, mxActor); - -mxShapeBasicPlaqueFrame.prototype.customProperties = [ - {name: 'dx', dispName: 'Width', type: 'float', mix:0, defVal:10}, -]; - -mxShapeBasicPlaqueFrame.prototype.cst = {PLAQUE_FRAME : 'mxgraph.basic.plaque_frame'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicPlaqueFrame.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.25, h * 0.25, dx); - - c.begin(); - c.moveTo(w - dx, 0); - c.arcTo(dx, dx, 0, 0, 0, w, dx); - c.lineTo(w, h - dx); - c.arcTo(dx, dx, 0, 0, 0, w - dx, h); - c.lineTo(dx, h); - c.arcTo(dx, dx, 0, 0, 0, 0, h - dx); - c.lineTo(0, dx); - c.arcTo(dx, dx, 0, 0, 0, dx, 0); - c.close(); - - c.moveTo(dx * 2, dx); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, dx, dx * 2); - c.lineTo(dx, h - 2 * dx); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, dx * 2, h - dx); - c.lineTo(w - 2 * dx, h - dx); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, w - dx, h - 2 * dx); - c.lineTo(w - dx, dx * 2); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, w - 2 * dx, dx); - c.close(); - - c.fillAndStroke(); - -}; - -mxCellRenderer.registerShape(mxShapeBasicPlaqueFrame.prototype.cst.PLAQUE_FRAME, mxShapeBasicPlaqueFrame); - -mxShapeBasicPlaqueFrame.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicPlaqueFrame.prototype.cst.PLAQUE_FRAME] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicPlaqueFrame.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - dx = Math.min(w * 0.5, h * 0.5, dx); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, -dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false, null, 0, -dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, dx, 0)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Rounded Frame -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicRoundedFrame(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicRoundedFrame, mxActor); - -mxShapeBasicRoundedFrame.prototype.customProperties = [ - {name: 'dx', dispName: 'Width', type: 'float', min:0, defVal:10}, -]; - -mxShapeBasicRoundedFrame.prototype.cst = {ROUNDED_FRAME : 'mxgraph.basic.rounded_frame'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicRoundedFrame.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.25, h * 0.25, dx); - - c.begin(); - c.moveTo(w - 2 * dx, 0); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, w, 2 * dx); - c.lineTo(w, h - 2 * dx); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, w - 2 * dx, h); - c.lineTo(dx * 2, h); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, 0, h - 2 * dx); - c.lineTo(0, 2 * dx); - c.arcTo(dx * 2, dx * 2, 0, 0, 1, 2 * dx, 0); - c.close(); - - c.moveTo(dx * 2, dx); - c.arcTo(dx, dx, 0, 0, 0, dx, dx * 2); - c.lineTo(dx, h - 2 * dx); - c.arcTo(dx, dx, 0, 0, 0, dx * 2, h - dx); - c.lineTo(w - 2 * dx, h - dx); - c.arcTo(dx, dx, 0, 0, 0, w - dx, h - 2 * dx); - c.lineTo(w - dx, dx * 2); - c.arcTo(dx, dx, 0, 0, 0, w - 2 * dx, dx); - c.close(); - - c.fillAndStroke(); - -}; - -mxCellRenderer.registerShape(mxShapeBasicRoundedFrame.prototype.cst.ROUNDED_FRAME, mxShapeBasicRoundedFrame); - -mxShapeBasicRoundedFrame.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicRoundedFrame.prototype.cst.ROUNDED_FRAME] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicRoundedFrame.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - dx = Math.min(w * 0.5, h * 0.5, dx); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, -dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false, null, 0, -dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, dx, 0)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Frame Corner -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicFrameCorner(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicFrameCorner, mxActor); - -mxShapeBasicFrameCorner.prototype.customProperties = [ - {name: 'dx', dispName: 'Width', type: 'float', min:0, defVal:10}, -]; - -mxShapeBasicFrameCorner.prototype.cst = {FRAME_CORNER : 'mxgraph.basic.frame_corner'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicFrameCorner.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w - dx, dx); - c.lineTo(dx, dx); - c.lineTo(dx, h - dx); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicFrameCorner.prototype.cst.FRAME_CORNER, mxShapeBasicFrameCorner); - -mxShapeBasicFrameCorner.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicFrameCorner.prototype.cst.FRAME_CORNER] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicFrameCorner.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.5, h * 0.5, dx); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - 2 * dx) * 0.5 + dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, (h - 2 * dx) * 0.5 + dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, dx, -dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Diagonal Stripe -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicDiagStripe(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicDiagStripe, mxActor); - -mxShapeBasicDiagStripe.prototype.customProperties = [ - {name: 'dx', dispName: 'Width', type: 'float', mix:0, defVal:10}, -]; - -mxShapeBasicDiagStripe.prototype.cst = {DIAG_STRIPE : 'mxgraph.basic.diag_stripe'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicDiagStripe.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w, h, dx); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w, 0); - c.lineTo(w, Math.min(dx * 100 / w, h)); - c.lineTo(Math.min(dx * 100 / h, w), h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicDiagStripe.prototype.cst.DIAG_STRIPE, mxShapeBasicDiagStripe); - -mxShapeBasicDiagStripe.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicDiagStripe.prototype.cst.DIAG_STRIPE] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicDiagStripe.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - dx = Math.min(w, h, dx); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, Math.min(dx * 100 / w, h) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, Math.min(dx * 100 / w, h))); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w + Math.min(dx * 100 / h, w)) * 0.5, (Math.min(dx * 100 / w, h) + h) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, Math.min(dx * 100 / h, w), h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, Math.min(dx * 100 / h, w) * 0.5, h)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Donut -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicDonut(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicDonut, mxActor); - -mxShapeBasicDonut.prototype.customProperties = [ - {name: 'dx', dispName: 'Width', type: 'float', min:0, defVal:25} -]; - -mxShapeBasicDonut.prototype.cst = {DONUT : 'mxgraph.basic.donut'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicDonut.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(0, h * 0.5); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, w * 0.5, 0); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, w, h * 0.5); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, w * 0.5, h); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, 0, h * 0.5); - c.close(); - c.moveTo(w * 0.5, dx); - c.arcTo(w * 0.5 - dx, h * 0.5 - dx, 0, 0, 0, dx, h * 0.5); - c.arcTo(w * 0.5 - dx, h * 0.5 - dx, 0, 0, 0, w * 0.5, h - dx); - c.arcTo(w * 0.5 - dx, h * 0.5 - dx, 0, 0, 0, w - dx, h * 0.5); - c.arcTo(w * 0.5 - dx, h * 0.5 - dx, 0, 0, 0, w * 0.5, dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicDonut.prototype.cst.DONUT, mxShapeBasicDonut); - -mxShapeBasicDonut.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicDonut.prototype.cst.DONUT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//Layered Rect -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicLayeredRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicLayeredRect, mxActor); - -mxShapeBasicLayeredRect.prototype.customProperties = [ - {name: 'dx', dispName: 'Layer Distance', type: 'float', mix:0, defVal:10} -]; - -mxShapeBasicLayeredRect.prototype.cst = {LAYERED_RECT : 'mxgraph.basic.layered_rect'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicLayeredRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(dx, dx); - c.lineTo(w, dx); - c.lineTo(w, h); - c.lineTo(dx, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(dx * 0.5, dx * 0.5); - c.lineTo(w - dx * 0.5, dx * 0.5); - c.lineTo(w - dx * 0.5, h - dx * 0.5); - c.lineTo(dx * 0.5, h - dx * 0.5); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - dx, 0); - c.lineTo(w - dx, h - dx); - c.lineTo(0, h - dx); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicLayeredRect.prototype.cst.LAYERED_RECT, mxShapeBasicLayeredRect); - -mxShapeBasicLayeredRect.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicLayeredRect.prototype.cst.LAYERED_RECT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height - dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, - pt.x + bounds.width + bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicLayeredRect.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - dx = Math.min(w * 0.5, h * 0.5, dx); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.75, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx * 0.5, dx * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dx) * 0.25 + dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dx) * 0.5 + dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dx) * 0.75 + dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.75 + dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5 + dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.25 + dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx * 0.5, h - dx * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dx) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dx) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dx) * 0.25)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicButton, mxActor); - -mxShapeBasicButton.prototype.customProperties = [ - {name: 'dx', dispName: 'Button Height', type: 'float', min:0, defVal:10} -]; - -mxShapeBasicButton.prototype.cst = {BUTTON : 'mxgraph.basic.button'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setLineJoin('round'); - - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(dx, dx); - c.lineTo(dx, h - dx); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w - dx, dx); - c.lineTo(dx, dx); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(w - dx, h - dx); - c.lineTo(w - dx, dx); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h); - c.lineTo(dx, h - dx); - c.lineTo(w - dx, h - dx); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(dx, dx); - c.lineTo(dx, h - dx); - c.close(); - c.fillAndStroke(); - - -}; - -mxCellRenderer.registerShape(mxShapeBasicButton.prototype.cst.BUTTON, mxShapeBasicButton); - -mxShapeBasicButton.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicButton.prototype.cst.BUTTON] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//Shaded Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicShadedButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicShadedButton, mxActor); - -mxShapeBasicShadedButton.prototype.customProperties = [ - {name: 'dx', dispName: 'Button Height', type: 'float', min:0, defVal:10} -]; - -mxShapeBasicShadedButton.prototype.cst = {SHADED_BUTTON : 'mxgraph.basic.shaded_button'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicShadedButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setShadow(false); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fill(); - - c.setFillColor('#ffffff'); - c.setAlpha(0.25); - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(dx, dx); - c.lineTo(dx, h - dx); - c.close(); - c.fill(); - - c.setAlpha(0.5); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w - dx, dx); - c.lineTo(dx, dx); - c.close(); - c.fill(); - - c.setFillColor('#000000'); - c.setAlpha(0.25); - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(w - dx, h - dx); - c.lineTo(w - dx, dx); - c.close(); - c.fill(); - - c.setAlpha(0.5); - c.begin(); - c.moveTo(0, h); - c.lineTo(dx, h - dx); - c.lineTo(w - dx, h - dx); - c.lineTo(w, h); - c.close(); - c.fill(); - - -}; - -mxCellRenderer.registerShape(mxShapeBasicShadedButton.prototype.cst.SHADED_BUTTON, mxShapeBasicShadedButton); - -mxShapeBasicShadedButton.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicShadedButton.prototype.cst.SHADED_BUTTON] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//Pie -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicPie(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.startAngle = 0.25; - this.endAngle = 0.75; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicPie, mxActor); - -mxShapeBasicPie.prototype.customProperties = [ - {name: 'startAngle', dispName: 'Start Angle', type: 'float', min:0, max:1, defVal: 0.2}, - {name: 'endAngle', dispName: 'End Angle', type: 'float', min:0, max:1, defVal: 0.9} -]; - -mxShapeBasicPie.prototype.cst = {PIE : 'mxgraph.basic.pie'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicPie.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var startAngleSource = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'startAngle', this.startAngle)))); - var endAngleSource = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'endAngle', this.endAngle)))); - var startAngle = 2 * Math.PI * startAngleSource; - var endAngle = 2 * Math.PI * endAngleSource; - var rx = w * 0.5; - var ry = h * 0.5; - - var startX = rx + Math.sin(startAngle) * rx; - var startY = ry - Math.cos(startAngle) * ry; - var endX = rx + Math.sin(endAngle) * rx; - var endY = ry - Math.cos(endAngle) * ry; - - var angDiff = endAngle - startAngle; - - if (angDiff < 0) - { - angDiff = angDiff + Math.PI * 2; - } - - var bigArc = 0; - - if (angDiff >= Math.PI) - { - bigArc = 1; - } - - c.begin(); - var startAngleDiff = startAngleSource % 1; - var endAngleDiff = endAngleSource % 1; - - if (startAngleDiff == 0 && endAngleDiff == 0.5) - { - c.moveTo(rx, ry); - c.lineTo(startX, startY); - c.arcTo(rx, ry, 0, 0, 1, w, h * 0.5); - c.arcTo(rx, ry, 0, 0, 1, w * 0.5, h); - } - else if (startAngleDiff == 0.5 && endAngleDiff == 0) - { - c.moveTo(rx, ry); - c.lineTo(startX, startY); - c.arcTo(rx, ry, 0, 0, 1, 0, h * 0.5); - c.arcTo(rx, ry, 0, 0, 1, w * 0.5, 0); - } - else - { - c.moveTo(rx, ry); - c.lineTo(startX, startY); - c.arcTo(rx, ry, 0, bigArc, 1, endX, endY); - } - - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicPie.prototype.cst.PIE, mxShapeBasicPie); - -mxShapeBasicPie.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicPie.prototype.cst.PIE] = function(state) -{ - var handles = [Graph.createHandle(state, ['startAngle'], function(bounds) - { - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'startAngle', this.startAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(startAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(startAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['startAngle'] = res; - - })]; - - var handle2 = Graph.createHandle(state, ['endAngle'], function(bounds) - { - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'endAngle', this.endAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(endAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(endAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['endAngle'] = res; - }); - - handles.push(handle2); - - return handles; -}; - -//********************************************************************************************************************************************************** -//Arc -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicArc(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.startAngle = 0.25; - this.endAngle = 0.75; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicArc, mxActor); - -mxShapeBasicArc.prototype.customProperties = [ - {name: 'startAngle', dispName: 'Start Angle', type: 'float', min:0, max:1, defVal: 0.3}, - {name: 'endAngle', dispName: 'End Angle', type: 'float', min:0, max:1, defVal:0.1} -]; - -mxShapeBasicArc.prototype.cst = {ARC : 'mxgraph.basic.arc'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicArc.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var startAngleSource = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'startAngle', this.startAngle)))); - var endAngleSource = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'endAngle', this.endAngle)))); - var startAngle = 2 * Math.PI * startAngleSource; - var endAngle = 2 * Math.PI * endAngleSource; - var rx = w * 0.5; - var ry = h * 0.5; - - var startX = rx + Math.sin(startAngle) * rx; - var startY = ry - Math.cos(startAngle) * ry; - var endX = rx + Math.sin(endAngle) * rx; - var endY = ry - Math.cos(endAngle) * ry; - - var angDiff = endAngle - startAngle; - - if (angDiff < 0) - { - angDiff = angDiff + Math.PI * 2; - } - - var bigArc = 0; - - if (angDiff > Math.PI) - { - bigArc = 1; - } - - c.begin(); - - var startAngleDiff = startAngleSource % 1; - var endAngleDiff = endAngleSource % 1; - - if (startAngleDiff == 0 && endAngleDiff == 0.5) - { - c.moveTo(startX, startY); - c.arcTo(rx, ry, 0, 0, 1, w, h * 0.5); - c.arcTo(rx, ry, 0, 0, 1, w * 0.5, h); - } - else if (startAngleDiff == 0.5 && endAngleDiff == 0) - { - c.moveTo(startX, startY); - c.arcTo(rx, ry, 0, 0, 1, 0, h * 0.5); - c.arcTo(rx, ry, 0, 0, 1, w * 0.5, 0); - } - else - { - c.moveTo(startX, startY); - c.arcTo(rx, ry, 0, bigArc, 1, endX, endY); - } - - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicArc.prototype.cst.ARC, mxShapeBasicArc); - -mxShapeBasicArc.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicArc.prototype.cst.ARC] = function(state) -{ - var handles = [Graph.createHandle(state, ['startAngle'], function(bounds) - { - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'startAngle', this.startAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(startAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(startAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['startAngle'] = res; - - })]; - - var handle2 = Graph.createHandle(state, ['endAngle'], function(bounds) - { - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'endAngle', this.endAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(endAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(endAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['endAngle'] = res; - }); - - handles.push(handle2); - - return handles; -}; - -//********************************************************************************************************************************************************** -//Partial Concentric Ellipse -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicPartConcEllipse(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.startAngle = 0.25; - this.endAngle = 0.75; - this.arcWidth = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicPartConcEllipse, mxActor); - -mxShapeBasicPartConcEllipse.prototype.customProperties = [ - {name: 'startAngle', dispName: 'Start Angle', type: 'float', min:0, max:1, defVal:0.25}, - {name: 'endAngle', dispName: 'End Angle', type: 'float', min:0, max:1, defVal:0.1}, - {name: 'arcWidth', dispName: 'Arc Width', type: 'float', min:0, max:1, defVal:0.5} -]; - -mxShapeBasicPartConcEllipse.prototype.cst = {PART_CONC_ELLIPSE : 'mxgraph.basic.partConcEllipse'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicPartConcEllipse.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'startAngle', this.startAngle)))); - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'endAngle', this.endAngle)))); - var arcWidth = 1 - Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'arcWidth', this.arcWidth)))); - var rx = w * 0.5; - var ry = h * 0.5; - var rx2 = rx * arcWidth; - var ry2 = ry * arcWidth; - - var angDiff = endAngle - startAngle; - - if (angDiff < 0) - { - angDiff = angDiff + Math.PI * 2; - } - else if (angDiff == Math.PI) - { - endAngle = endAngle + 0.00001; - } - - var startX = rx + Math.sin(startAngle) * rx; - var startY = ry - Math.cos(startAngle) * ry; - var innerStartX = rx + Math.sin(startAngle) * rx2; - var innerStartY = ry - Math.cos(startAngle) * ry2; - var endX = rx + Math.sin(endAngle) * rx; - var endY = ry - Math.cos(endAngle) * ry; - var innerEndX = rx + Math.sin(endAngle) * rx2; - var innerEndY = ry - Math.cos(endAngle) * ry2; - - - var bigArc = 0; - - if (angDiff >= Math.PI) - { - bigArc = 1; - } - - c.begin(); - c.moveTo(startX, startY); - c.arcTo(rx, ry, 0, bigArc, 1, endX, endY); - c.lineTo(innerEndX, innerEndY); - c.arcTo(rx2, ry2, 0, bigArc, 0, innerStartX, innerStartY); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE, mxShapeBasicPartConcEllipse); - -mxShapeBasicPartConcEllipse.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE] = function(state) -{ - var handles = [Graph.createHandle(state, ['startAngle'], function(bounds) - { - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'startAngle', this.startAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(startAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(startAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['startAngle'] = res; - - })]; - - var handle2 = Graph.createHandle(state, ['endAngle'], function(bounds) - { - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'endAngle', this.endAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(endAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(endAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['endAngle'] = res; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arcWidth'], function(bounds) - { - var arcWidth = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'arcWidth', this.arcWidth)))); - - return new mxPoint(bounds.x + bounds.width / 2, bounds.y + arcWidth * bounds.height * 0.5); - }, function(bounds, pt) - { - this.state.style['arcWidth'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, (pt.y - bounds.y) / (bounds.height * 0.5)))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -//********************************************************************************************************************************************************** -//Numbered entry (vertical) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicNumEntryVert(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicNumEntryVert, mxActor); - -mxShapeBasicNumEntryVert.prototype.cst = {NUM_ENTRY_VERT : 'mxgraph.basic.numberedEntryVert'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicNumEntryVert.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - var inset = 5; - - var d = Math.min(dy, w - 2 * inset, h - inset); - - c.ellipse(w * 0.5 - d * 0.5, 0, d, d); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, d * 0.5); - c.lineTo(w * 0.5 - d * 0.5 - inset, d * 0.5); - c.arcTo(d * 0.5 + inset, d * 0.5 + inset, 0, 0, 0, w * 0.5 + d * 0.5 + inset, d * 0.5); - c.lineTo(w, d * 0.5); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicNumEntryVert.prototype.cst.NUM_ENTRY_VERT, mxShapeBasicNumEntryVert); - -mxShapeBasicNumEntryVert.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicNumEntryVert.prototype.cst.NUM_ENTRY_VERT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.width, bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width / 2, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height, bounds.width, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//Bending Arch -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicBendingArch(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.startAngle = 0.25; - this.endAngle = 0.75; - this.arcWidth = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicBendingArch, mxActor); - -mxShapeBasicBendingArch.prototype.cst = {BENDING_ARCH : 'mxgraph.basic.bendingArch'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicBendingArch.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'startAngle', this.startAngle)))); - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'endAngle', this.endAngle)))); - var arcWidth = 1 - Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'arcWidth', this.arcWidth)))); - var rx = w * 0.5; - var ry = h * 0.5; - var rx2 = rx * arcWidth; - var ry2 = ry * arcWidth; - - var startX = rx + Math.sin(startAngle) * rx; - var startY = ry - Math.cos(startAngle) * ry; - var innerStartX = rx + Math.sin(startAngle) * rx2; - var innerStartY = ry - Math.cos(startAngle) * ry2; - var endX = rx + Math.sin(endAngle) * rx; - var endY = ry - Math.cos(endAngle) * ry; - var innerEndX = rx + Math.sin(endAngle) * rx2; - var innerEndY = ry - Math.cos(endAngle) * ry2; - - var angDiff = endAngle - startAngle; - - if (angDiff < 0) - { - angDiff = angDiff + Math.PI * 2; - } - - var bigArc = 0; - - if (angDiff > Math.PI) - { - bigArc = 1; - } - - var rx3 = rx2 - 5; - var ry3 = ry2 - 5; - - c.ellipse(w * 0.5 - rx3, h * 0.5 - ry3, 2 * rx3, 2 * ry3); - c.fillAndStroke(); - - c.begin(); - c.moveTo(startX, startY); - c.arcTo(rx, ry, 0, bigArc, 1, endX, endY); - c.lineTo(innerEndX, innerEndY); - c.arcTo(rx2, ry2, 0, bigArc, 0, innerStartX, innerStartY); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicBendingArch.prototype.cst.BENDING_ARCH, mxShapeBasicBendingArch); - -mxShapeBasicBendingArch.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicBendingArch.prototype.cst.BENDING_ARCH] = function(state) -{ - var handles = [Graph.createHandle(state, ['startAngle'], function(bounds) - { - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'startAngle', this.startAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(startAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(startAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['startAngle'] = res; - - })]; - - var handle2 = Graph.createHandle(state, ['endAngle'], function(bounds) - { - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'endAngle', this.endAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(endAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(endAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['endAngle'] = res; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arcWidth'], function(bounds) - { - var arcWidth = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'arcWidth', this.arcWidth)))); - - return new mxPoint(bounds.x + bounds.width / 2, bounds.y + arcWidth * bounds.height * 0.5); - }, function(bounds, pt) - { - this.state.style['arcWidth'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, (pt.y - bounds.y) / (bounds.height * 0.5)))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -//********************************************************************************************************************************************************** -//Three Corner Round Rectangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicThreeCornerRoundRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicThreeCornerRoundRect, mxActor); - -mxShapeBasicThreeCornerRoundRect.prototype.customProperties = [ - {name: 'dx', dispName: 'Rounding Size', type: 'float', min:0, defVal:6} -]; - -mxShapeBasicThreeCornerRoundRect.prototype.cst = {THREE_CORNER_ROUND_RECT : 'mxgraph.basic.three_corner_round_rect'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicThreeCornerRoundRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))) * 2; - - dx = Math.min(w * 0.5, h * 0.5, dx); - - c.begin(); - c.moveTo(dx, 0); - c.lineTo(w - dx, 0); - c.arcTo(dx, dx, 0, 0, 1, w, dx); - c.lineTo(w, h - dx); - c.arcTo(dx, dx, 0, 0, 1, w - dx, h); - c.lineTo(0, h); - c.lineTo(0, dx); - c.arcTo(dx, dx, 0, 0, 1, dx, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBasicThreeCornerRoundRect.prototype.cst.THREE_CORNER_ROUND_RECT, mxShapeBasicThreeCornerRoundRect); - -mxShapeBasicThreeCornerRoundRect.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicThreeCornerRoundRect.prototype.cst.THREE_CORNER_ROUND_RECT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 4, bounds.width / 4, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 4, bounds.width / 4, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeBasicThreeCornerRoundRect.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Rectangle v2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBasicRect2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.rectStyle = 'square'; - this.size = 10; - this.absoluteCornerSize = true; - this.indent = 2; - this.rectOutline = 'single'; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBasicRect2, mxActor); - -mxShapeBasicRect2.prototype.cst = {RECT2 : 'mxgraph.basic.rect'}; - -mxShapeBasicRect2.prototype.customProperties = [ - {name: 'rectStyle', dispName: 'Style', type: 'enum', defVal:'square', - enumList:[ - {val:'square', dispName:'Square'}, - {val:'rounded', dispName:'Round'}, - {val:'snip', dispName:'Snip'}, - {val:'invRound', dispName:'Inv. Round'}, - {val:'fold', dispName:'Fold'} - ]}, - {name: 'size', dispName: 'Corner Size', type: 'float', defVal:10}, - {name: 'absoluteCornerSize', dispName: 'Abs. Corner Size', type: 'bool', defVal:true}, - {name: 'indent', dispName:'Indent', type:'float', defVal:2}, - {name: 'rectOutline', dispName: 'Outline', type: 'enum', defVal:'single', - enumList:[ - {val:'single', dispName:'Single'}, - {val:'double', dispName:'Double'}, - {val:'frame', dispName:'Frame'} - ]}, - {name: 'fillColor2', dispName:'Inside Fill Color', type:'color', defVal:'none'}, - {name: 'gradientColor2', dispName:'Inside Gradient Color', type:'color', defVal:'none'}, - {name: 'gradientDirection2', dispName: 'Inside Gradient Direction', type: 'enum', defVal:'south', - enumList:[ - {val:'south', dispName:'South'}, - {val:'west', dispName:'West'}, - {val:'north', dispName:'North'}, - {val:'east', dispName:'East'} - ]}, - {name: 'top', dispName:'Top Line', type:'bool', defVal:true}, - {name: 'right', dispName:'Right', type:'bool', defVal:true}, - {name: 'bottom', dispName:'Bottom Line', type:'bool', defVal:true}, - {name: 'left', dispName:'Left ', type:'bool', defVal:true}, - {name: 'topLeftStyle', dispName: 'Top Left Style', type: 'enum', defVal:'default', - enumList:[ - {val:'default', dispName:'Default'}, - {val:'square', dispName:'Square'}, - {val:'rounded', dispName:'Round'}, - {val:'snip', dispName:'Snip'}, - {val:'invRound', dispName:'Inv. Round'}, - {val:'fold', dispName:'Fold'} - ]}, - {name: 'topRightStyle', dispName: 'Top Right Style', type: 'enum', defVal:'default', - enumList:[ - {val:'default', dispName:'Default'}, - {val:'square', dispName:'Square'}, - {val:'rounded', dispName:'Round'}, - {val:'snip', dispName:'Snip'}, - {val:'invRound', dispName:'Inv. Round'}, - {val:'fold', dispName:'Fold'} - ]}, - {name: 'bottomRightStyle', dispName: 'Bottom Right Style', type: 'enum', defVal:'default', - enumList:[ - {val:'default', dispName:'Default'}, - {val:'square', dispName:'Square'}, - {val:'rounded', dispName:'Round'}, - {val:'snip', dispName:'Snip'}, - {val:'invRound', dispName:'Inv. Round'}, - {val:'fold', dispName:'Fold'} - ]}, - {name: 'bottomLeftStyle', dispName: 'Bottom Left Style', type: 'enum', defVal:'default', - enumList:[ - {val:'default', dispName:'Default'}, - {val:'square', dispName:'Square'}, - {val:'rounded', dispName:'Round'}, - {val:'snip', dispName:'Snip'}, - {val:'invRound', dispName:'Inv. Round'}, - {val:'fold', dispName:'Fold'} - ]}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBasicRect2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rectStyle = mxUtils.getValue(this.style, 'rectStyle', this.rectStyle); - var absoluteCornerSize = mxUtils.getValue(this.style, 'absoluteCornerSize', this.absoluteCornerSize); - - var size = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'size', this.size)))); - var relSize = Math.max(0, Math.min(50, size)); - - size = Math.min(h * 0.5, w * 0.5, size); - - if (!absoluteCornerSize) - { - size = relSize * Math.min(w, h) / 100; - } - - var rectOutline = mxUtils.getValue(this.style, 'rectOutline', this.rectOutline); - var indent = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'indent', this.indent)))); - var relIndent = Math.max(0, Math.min(50, indent)); - - size = Math.min(size, Math.min(w, h) * 0.5); - - if (!absoluteCornerSize) - { - indent = Math.min(relIndent * Math.min(w, h) / 100); - } - -// indent = Math.min(indent, 2 * size, Math.min(w, h) - size); - indent = Math.min(indent, Math.min(w, h) * 0.5 - size); - - var top = mxUtils.getValue(this.style, 'top', true); - var right = mxUtils.getValue(this.style, 'right', true); - var bottom = mxUtils.getValue(this.style, 'bottom', true); - var left = mxUtils.getValue(this.style, 'left', true); - - var topLeftStyle = mxUtils.getValue(this.style, 'topLeftStyle', 'default'); - var topRightStyle = mxUtils.getValue(this.style, 'topRightStyle', 'default'); - var bottomRightStyle = mxUtils.getValue(this.style, 'bottomRightStyle', 'default'); - var bottomLeftStyle = mxUtils.getValue(this.style, 'bottomLeftStyle', 'default'); - var fillColor = mxUtils.getValue(this.style, 'fillColor', 'none'); - var fillColor2 = mxUtils.getValue(this.style, 'fillColor2', 'none'); - var gradientColor2 = mxUtils.getValue(this.style, 'gradientColor2', 'none'); - var gdir2 = mxUtils.getValue(this.style, 'gradientDirection2', 'south'); - var opacity = mxUtils.getValue(this.style, 'opacity', '100'); - - if ((top || right || bottom || left) && rectOutline != 'frame') - { - - //outline fill - c.begin(); - if (!top) - { - c.moveTo(0,0); - } - else - { - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - } - - if (top) - { - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - } - - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - - if (right) - { - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - } - - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - - if (bottom) - { - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - } - - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - - if (left) - { - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - } - - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - c.close(); - c.fill(); - - c.setShadow(false); - - //inner fill - var fillColor2 = mxUtils.getValue(this.style, 'fillColor2', 'none'); - c.setFillColor(fillColor2); - var op1 = opacity; - var op2 = opacity; - - if (fillColor2 == 'none') - { - op1 = 0; - } - - if (gradientColor2 == 'none') - { - op2 = 0; - } - - - c.setGradient(fillColor2, gradientColor2, 0, 0, w, h, gdir2, op1, op2); - - c.begin(); - - if (!top) - { - c.moveTo(indent,0); - } - else - { - mxShapeBasicRect2.prototype.moveNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - } - - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - - if (left && bottom) - { - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - } - - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - - if (bottom && right) - { - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - } - - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - - if (right && top) - { - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - } - - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - - if (top && left) - { - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - } - - c.fill(); - - if (fillColor == 'none') - { - c.begin(); - mxShapeBasicRect2.prototype.paintFolds(c, x, y, w, h, rectStyle, topLeftStyle, topRightStyle, bottomRightStyle, bottomLeftStyle, size, top, right, bottom, left); - c.stroke(); - } - } - - //draw all the combinations - if (!top && !right && !bottom && left) - { - - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, topLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, topLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.lineNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - c.close(); - c.fillAndStroke(); - } - } - else if (!top && !right && bottom && !left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.lineSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - c.close(); - c.fillAndStroke(); - } - } - else if (!top && !right && bottom && left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.lineNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - c.close(); - c.fillAndStroke(); - } - } - else if (!top && right && !bottom && !left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.lineSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - c.close(); - c.fillAndStroke(); - } - } - else if (!top && right && !bottom && left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, topLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - } - - c.stroke(); - - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, topLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.lineNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - c.close(); - c.fillAndStroke(); - - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.lineSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - c.close(); - c.fillAndStroke(); - } - } - else if (!top && right && bottom && !left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.lineSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - c.close(); - c.fillAndStroke(); - } - } - else if (!top && right && bottom && left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.lineNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - c.close(); - c.fillAndStroke(); - } - } - else if (top && !right && !bottom && !left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.lineNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - c.close(); - c.fillAndStroke(); - } - } - else if (top && !right && !bottom && left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.lineNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - c.close(); - c.fillAndStroke(); - } - } - else if (top && !right && bottom && !left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - } - - c.stroke(); - - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.lineNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - c.close(); - c.fillAndStroke(); - - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.lineSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - c.close(); - c.fillAndStroke(); - } - } - else if (top && !right && bottom && left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.lineNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - c.close(); - c.fillAndStroke(); - } - } - else if (top && right && !bottom && !left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.lineSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - c.close(); - c.fillAndStroke(); - } - } - else if (top && right && !bottom && left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.lineSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - c.close(); - c.fillAndStroke(); - } - } - else if (top && right && bottom && !left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.lineSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - c.close(); - c.fillAndStroke(); - } - } - else if (top && right && bottom && left) - { - if (rectOutline != 'frame') - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - c.close(); - - if (rectOutline == 'double') - { - mxShapeBasicRect2.prototype.moveSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - c.close(); - } - - c.stroke(); - } - else - { - c.begin(); - mxShapeBasicRect2.prototype.moveNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintNW(c, x, y, w, h, rectStyle, topLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintTop(c, x, y, w, h, rectStyle, topRightStyle, size, right); - mxShapeBasicRect2.prototype.paintNE(c, x, y, w, h, rectStyle, topRightStyle, size, top); - mxShapeBasicRect2.prototype.paintRight(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom); - mxShapeBasicRect2.prototype.paintSE(c, x, y, w, h, rectStyle, bottomRightStyle, size, right); - mxShapeBasicRect2.prototype.paintBottom(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left); - mxShapeBasicRect2.prototype.paintSW(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom); - mxShapeBasicRect2.prototype.paintLeft(c, x, y, w, h, rectStyle, topLeftStyle, size, top); - c.close(); - mxShapeBasicRect2.prototype.moveSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left); - mxShapeBasicRect2.prototype.paintSWInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom); - mxShapeBasicRect2.prototype.paintBottomInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom); - mxShapeBasicRect2.prototype.paintSEInner(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintRightInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right); - mxShapeBasicRect2.prototype.paintNEInner(c, x, y, w, h, rectStyle, topRightStyle, size, indent); - mxShapeBasicRect2.prototype.paintTopInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top); - mxShapeBasicRect2.prototype.paintNWInner(c, x, y, w, h, rectStyle, topLeftStyle, size, indent); - mxShapeBasicRect2.prototype.paintLeftInner(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left); - c.close(); - c.fillAndStroke(); - } - } - - c.begin(); - mxShapeBasicRect2.prototype.paintFolds(c, x, y, w, h, rectStyle, topLeftStyle, topRightStyle, bottomRightStyle, bottomLeftStyle, size, top, right, bottom, left); - c.stroke(); -}; - -mxShapeBasicRect2.prototype.moveNW = function(c, x, y, w, h, rectStyle, topLeftStyle, size, left) -{ - if((topLeftStyle == 'square' || (topLeftStyle == 'default' && rectStyle == 'square' )) || !left) - { - c.moveTo(0, 0); - } - else - { - c.moveTo(0, size); - } -}; - -mxShapeBasicRect2.prototype.moveNE = function(c, x, y, w, h, rectStyle, topRightStyle, size, top) -{ - if((topRightStyle == 'square' || (topRightStyle == 'default' && rectStyle == 'square' )) || !top) - { - c.moveTo(w, 0); - } - else - { - c.moveTo(w - size, 0); - } -}; - -mxShapeBasicRect2.prototype.moveSE = function(c, x, y, w, h, rectStyle, bottomRightStyle, size, right) -{ - if((bottomRightStyle == 'square' || (bottomRightStyle == 'default' && rectStyle == 'square' )) || !right) - { - c.moveTo(w, h); - } - else - { - c.moveTo(w, h - size); - } -}; - -mxShapeBasicRect2.prototype.moveSW = function(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom) -{ - if((bottomLeftStyle == 'square' || (bottomLeftStyle == 'default' && rectStyle == 'square' )) || !bottom) - { - c.moveTo(0, h); - } - else - { - c.moveTo(size, h); - } -}; - -mxShapeBasicRect2.prototype.paintNW = function(c, x, y, w, h, rectStyle, topLeftStyle, size, left) -{ - if (!left) - { - c.lineTo(0, 0); - } - else if((topLeftStyle == 'rounded' || (topLeftStyle == 'default' && rectStyle == 'rounded' )) || - (topLeftStyle == 'invRound' || (topLeftStyle == 'default' && rectStyle == 'invRound' )) ) - { - var inv = 0; - - if (topLeftStyle == 'rounded' || (topLeftStyle == 'default' && rectStyle == 'rounded' )) - { - inv = 1; - } - - c.arcTo(size, size, 0, 0, inv, size, 0); - } - else if((topLeftStyle == 'snip' || (topLeftStyle == 'default' && rectStyle == 'snip' )) || - (topLeftStyle == 'fold' || (topLeftStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(size, 0); - } -}; - -mxShapeBasicRect2.prototype.paintTop = function(c, x, y, w, h, rectStyle, topRightStyle, size, right) -{ - if((topRightStyle == 'square' || (topRightStyle == 'default' && rectStyle == 'square' )) || !right) - { - c.lineTo(w, 0); - } - else - { - c.lineTo(w - size, 0); - } -}; - -mxShapeBasicRect2.prototype.paintNE = function(c, x, y, w, h, rectStyle, topRightStyle, size, top) -{ - if (!top) - { - c.lineTo(w, 0); - } - else if((topRightStyle == 'rounded' || (topRightStyle == 'default' && rectStyle == 'rounded' )) || - (topRightStyle == 'invRound' || (topRightStyle == 'default' && rectStyle == 'invRound' )) ) - { - var inv = 0; - - if (topRightStyle == 'rounded' || (topRightStyle == 'default' && rectStyle == 'rounded' )) - { - inv = 1; - } - - c.arcTo(size, size, 0, 0, inv, w, size); - } - else if((topRightStyle == 'snip' || (topRightStyle == 'default' && rectStyle == 'snip' )) || - (topRightStyle == 'fold' || (topRightStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(w, size); - } -}; - -mxShapeBasicRect2.prototype.paintRight = function(c, x, y, w, h, rectStyle, bottomRightStyle, size, bottom) -{ - if((bottomRightStyle == 'square' || (bottomRightStyle == 'default' && rectStyle == 'square' )) || !bottom) - { - c.lineTo(w, h); - } - else - { - c.lineTo(w, h - size); - } -}; - -mxShapeBasicRect2.prototype.paintLeft = function(c, x, y, w, h, rectStyle, topLeftStyle, size, top) -{ - if((topLeftStyle == 'square' || (topLeftStyle == 'default' && rectStyle == 'square' )) || !top) - { - c.lineTo(0, 0); - } - else - { - c.lineTo(0, size); - } -}; - -mxShapeBasicRect2.prototype.paintSE = function(c, x, y, w, h, rectStyle, bottomRightStyle, size, right) -{ - if (!right) - { - c.lineTo(w, h); - } - else if((bottomRightStyle == 'rounded' || (bottomRightStyle == 'default' && rectStyle == 'rounded' )) || - (bottomRightStyle == 'invRound' || (bottomRightStyle == 'default' && rectStyle == 'invRound' )) ) - { - var inv = 0; - - if (bottomRightStyle == 'rounded' || (bottomRightStyle == 'default' && rectStyle == 'rounded' )) - { - inv = 1; - } - - c.arcTo(size, size, 0, 0, inv, w - size, h); - } - else if((bottomRightStyle == 'snip' || (bottomRightStyle == 'default' && rectStyle == 'snip' )) || - (bottomRightStyle == 'fold' || (bottomRightStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(w - size, h); - } -}; - -mxShapeBasicRect2.prototype.paintBottom = function(c, x, y, w, h, rectStyle, bottomLeftStyle, size, left) -{ - if((bottomLeftStyle == 'square' || (bottomLeftStyle == 'default' && rectStyle == 'square' )) || !left) - { - c.lineTo(0, h); - } - else - { - c.lineTo(size, h); - } -}; - -mxShapeBasicRect2.prototype.paintSW = function(c, x, y, w, h, rectStyle, bottomLeftStyle, size, bottom) -{ - if (!bottom) - { - c.lineTo(0, h); - } - else if((bottomLeftStyle == 'rounded' || (bottomLeftStyle == 'default' && rectStyle == 'rounded' )) || - (bottomLeftStyle == 'invRound' || (bottomLeftStyle == 'default' && rectStyle == 'invRound' )) ) - { - var inv = 0; - - if (bottomLeftStyle == 'rounded' || (bottomLeftStyle == 'default' && rectStyle == 'rounded' )) - { - inv = 1; - } - - c.arcTo(size, size, 0, 0, inv, 0, h - size); - } - else if((bottomLeftStyle == 'snip' || (bottomLeftStyle == 'default' && rectStyle == 'snip' )) || - (bottomLeftStyle == 'fold' || (bottomLeftStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(0, h - size); - } -}; - -mxShapeBasicRect2.prototype.paintNWInner = function(c, x, y, w, h, rectStyle, topLeftStyle, size, indent) -{ - if(topLeftStyle == 'rounded' || (topLeftStyle == 'default' && rectStyle == 'rounded' )) - { - c.arcTo(size - indent * 0.5, size - indent * 0.5, 0, 0, 0, indent, indent * 0.5 + size); - } - else if(topLeftStyle == 'invRound' || (topLeftStyle == 'default' && rectStyle == 'invRound' )) - { - c.arcTo(size + indent, size + indent, 0, 0, 1, indent, indent + size); - } - else if(topLeftStyle == 'snip' || (topLeftStyle == 'default' && rectStyle == 'snip' )) - { - c.lineTo(indent, indent * 0.5 + size); - } - else if(topLeftStyle == 'fold' || (topLeftStyle == 'default' && rectStyle == 'fold' )) - { - c.lineTo(indent + size, indent + size); - c.lineTo(indent, indent + size); - } -}; - -mxShapeBasicRect2.prototype.paintTopInner = function(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, left, top) -{ - if (!left && !top) - { - c.lineTo(0, 0); - } - else if (!left && top) - { - c.lineTo(0, indent); - } - else if (left && !top) - { - c.lineTo(indent, 0); - } - else if (!left) - { - c.lineTo(0, indent); - } - else if(topLeftStyle == 'square' || (topLeftStyle == 'default' && rectStyle == 'square' )) - { - c.lineTo(indent, indent); - } - else if((topLeftStyle == 'rounded' || (topLeftStyle == 'default' && rectStyle == 'rounded' )) || - (topLeftStyle == 'snip' || (topLeftStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(size + indent * 0.5, indent); - } - else - { - c.lineTo(size + indent, indent); - } -}; - -mxShapeBasicRect2.prototype.paintNEInner = function(c, x, y, w, h, rectStyle, topRightStyle, size, indent) -{ - if(topRightStyle == 'rounded' || (topRightStyle == 'default' && rectStyle == 'rounded' )) - { - c.arcTo(size - indent * 0.5, size - indent * 0.5, 0, 0, 0, w - size - indent * 0.5, indent); - } - else if(topRightStyle == 'invRound' || (topRightStyle == 'default' && rectStyle == 'invRound' )) - { - c.arcTo(size + indent, size + indent, 0, 0, 1, w - size - indent, indent); - } - else if(topRightStyle == 'snip' || (topRightStyle == 'default' && rectStyle == 'snip' )) - { - c.lineTo(w - size - indent * 0.5, indent); - } - else if(topRightStyle == 'fold' || (topRightStyle == 'default' && rectStyle == 'fold' )) - { - c.lineTo(w - size - indent, size + indent); - c.lineTo(w - size - indent, indent); - } -}; - -mxShapeBasicRect2.prototype.paintRightInner = function(c, x, y, w, h, rectStyle, topRightStyle, size, indent, top, right) -{ - if (!top && !right) - { - c.lineTo(w, 0); - } - else if (!top && right) - { - c.lineTo(w - indent, 0); - } - else if (top && !right) - { - c.lineTo(w, indent); - } - else if (!top) - { - c.lineTo(w - indent, 0); - } - else if(topRightStyle == 'square' || (topRightStyle == 'default' && rectStyle == 'square' )) - { - c.lineTo(w - indent, indent); - } - else if((topRightStyle == 'rounded' || (topRightStyle == 'default' && rectStyle == 'rounded' )) || - (topRightStyle == 'snip' || (topRightStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(w - indent, size + indent * 0.5); - } - else - { - c.lineTo(w - indent, size + indent); - } -}; - -mxShapeBasicRect2.prototype.paintLeftInner = function(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom, left) -{ - if (!bottom && !left) - { - c.lineTo(0, h); - } - else if (!bottom && left) - { - c.lineTo(indent, h); - } - else if (bottom && !left) - { - c.lineTo(0, h - indent); - } - else if (!bottom) - { - c.lineTo(indent, h); - } - else if(bottomLeftStyle == 'square' || (bottomLeftStyle == 'default' && rectStyle == 'square' )) - { - c.lineTo(indent, h - indent); - } - else if((bottomLeftStyle == 'rounded' || (bottomLeftStyle == 'default' && rectStyle == 'rounded' )) || - (bottomLeftStyle == 'snip' || (bottomLeftStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(indent, h - size - indent * 0.5); - } - else - { - c.lineTo(indent, h - size - indent); - } -}; - -mxShapeBasicRect2.prototype.paintSEInner = function(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent) -{ - if(bottomRightStyle == 'rounded' || (bottomRightStyle == 'default' && rectStyle == 'rounded' )) - { - c.arcTo(size - indent * 0.5, size - indent * 0.5, 0, 0, 0, w - indent, h - size - indent * 0.5); - } - else if(bottomRightStyle == 'invRound' || (bottomRightStyle == 'default' && rectStyle == 'invRound' )) - { - c.arcTo(size + indent, size + indent, 0, 0, 1, w - indent, h - size - indent); - } - else if(bottomRightStyle == 'snip' || (bottomRightStyle == 'default' && rectStyle == 'snip' )) - { - c.lineTo(w - indent, h - size - indent * 0.5); - } - else if(bottomRightStyle == 'fold' || (bottomRightStyle == 'default' && rectStyle == 'fold' )) - { - c.lineTo(w - size - indent, h - size - indent); - c.lineTo(w - indent, h - size - indent); - } -}; - -mxShapeBasicRect2.prototype.paintBottomInner = function(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, right, bottom) -{ - if (!right && !bottom) - { - c.lineTo(w, h); - } - else if (!right && bottom) - { - c.lineTo(w, h - indent); - } - else if (right && !bottom) - { - c.lineTo(w - indent, h); - } - else if((bottomRightStyle == 'square' || (bottomRightStyle == 'default' && rectStyle == 'square' )) || !right) - { - c.lineTo(w - indent, h - indent); - } - else if((bottomRightStyle == 'rounded' || (bottomRightStyle == 'default' && rectStyle == 'rounded' )) || - (bottomRightStyle == 'snip' || (bottomRightStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(w - size - indent * 0.5, h - indent); - } - else - { - c.lineTo(w - size - indent, h - indent); - } -}; - -mxShapeBasicRect2.prototype.paintSWInner = function(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, bottom) -{ - if (!bottom) - { - c.lineTo(indent, h); - } - else if(bottomLeftStyle == 'square' || (bottomLeftStyle == 'default' && rectStyle == 'square' )) - { - c.lineTo(indent, h - indent); - } - else if(bottomLeftStyle == 'rounded' || (bottomLeftStyle == 'default' && rectStyle == 'rounded' )) - { - c.arcTo(size - indent * 0.5, size - indent * 0.5, 0, 0, 0, size + indent * 0.5, h - indent); - } - else if(bottomLeftStyle == 'invRound' || (bottomLeftStyle == 'default' && rectStyle == 'invRound' )) - { - c.arcTo(size + indent, size + indent, 0, 0, 1, size + indent, h - indent); - } - else if(bottomLeftStyle == 'snip' || (bottomLeftStyle == 'default' && rectStyle == 'snip' )) - { - c.lineTo(size + indent * 0.5, h - indent); - } - else if(bottomLeftStyle == 'fold' || (bottomLeftStyle == 'default' && rectStyle == 'fold' )) - { - c.lineTo(indent + size, h - size - indent); - c.lineTo(indent + size, h - indent); - } -}; - -mxShapeBasicRect2.prototype.moveSWInner = function(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left) -{ - if (!left) - { - c.moveTo(0, h - indent); - } - else if(bottomLeftStyle == 'square' || (bottomLeftStyle == 'default' && rectStyle == 'square' )) - { - c.moveTo(indent, h - indent); - } - else if((bottomLeftStyle == 'rounded' || (bottomLeftStyle == 'default' && rectStyle == 'rounded' )) || - (bottomLeftStyle == 'snip' || (bottomLeftStyle == 'default' && rectStyle == 'snip' ))) - { - c.moveTo(indent, h - size - indent * 0.5); - } - else if((bottomLeftStyle == 'invRound' || (bottomLeftStyle == 'default' && rectStyle == 'invRound' )) || - (bottomLeftStyle == 'fold' || (bottomLeftStyle == 'default' && rectStyle == 'fold' ))) - { - c.moveTo(indent, h - size - indent); - } -}; - -mxShapeBasicRect2.prototype.lineSWInner = function(c, x, y, w, h, rectStyle, bottomLeftStyle, size, indent, left) -{ - if (!left) - { - c.lineTo(0, h - indent); - } - else if(bottomLeftStyle == 'square' || (bottomLeftStyle == 'default' && rectStyle == 'square' )) - { - c.lineTo(indent, h - indent); - } - else if((bottomLeftStyle == 'rounded' || (bottomLeftStyle == 'default' && rectStyle == 'rounded' )) || - (bottomLeftStyle == 'snip' || (bottomLeftStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(indent, h - size - indent * 0.5); - } - else if((bottomLeftStyle == 'invRound' || (bottomLeftStyle == 'default' && rectStyle == 'invRound' )) || - (bottomLeftStyle == 'fold' || (bottomLeftStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(indent, h - size - indent); - } -}; - -mxShapeBasicRect2.prototype.moveSEInner = function(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom) -{ - if (!bottom) - { - c.moveTo(w - indent, h); - } - else if(bottomRightStyle == 'square' || (bottomRightStyle == 'default' && rectStyle == 'square' )) - { - c.moveTo(w - indent, h - indent); - } - else if((bottomRightStyle == 'rounded' || (bottomRightStyle == 'default' && rectStyle == 'rounded' )) || - (bottomRightStyle == 'snip' || (bottomRightStyle == 'default' && rectStyle == 'snip' ))) - { - c.moveTo(w - indent, h - size - indent * 0.5); - } - else if((bottomRightStyle == 'invRound' || (bottomRightStyle == 'default' && rectStyle == 'invRound' )) || - (bottomRightStyle == 'fold' || (bottomRightStyle == 'default' && rectStyle == 'fold' ))) - { - c.moveTo(w - indent, h - size - indent); - } -}; - -mxShapeBasicRect2.prototype.lineSEInner = function(c, x, y, w, h, rectStyle, bottomRightStyle, size, indent, bottom) -{ - if (!bottom) - { - c.lineTo(w - indent, h); - } - else if(bottomRightStyle == 'square' || (bottomRightStyle == 'default' && rectStyle == 'square' )) - { - c.lineTo(w - indent, h - indent); - } - else if((bottomRightStyle == 'rounded' || (bottomRightStyle == 'default' && rectStyle == 'rounded' )) || - (bottomRightStyle == 'snip' || (bottomRightStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(w - indent, h - size - indent * 0.5); - } - else if((bottomRightStyle == 'invRound' || (bottomRightStyle == 'default' && rectStyle == 'invRound' )) || - (bottomRightStyle == 'fold' || (bottomRightStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(w - indent, h - size - indent); - } -}; - -mxShapeBasicRect2.prototype.moveNEInner = function(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right) -{ - if (!right) - { - c.moveTo(w, indent); - } - else if((topRightStyle == 'square' || (topRightStyle == 'default' && rectStyle == 'square' )) || right) - { - c.moveTo(w - indent, indent); - } - else if((topRightStyle == 'rounded' || (topRightStyle == 'default' && rectStyle == 'rounded' )) || - (topRightStyle == 'snip' || (topRightStyle == 'default' && rectStyle == 'snip' ))) - { - c.moveTo(w - indent, size + indent * 0.5); - } - else if((topRightStyle == 'invRound' || (topRightStyle == 'default' && rectStyle == 'invRound' )) || - (topRightStyle == 'fold' || (topRightStyle == 'default' && rectStyle == 'fold' ))) - { - c.moveTo(w - indent, size + indent); - } -}; - -mxShapeBasicRect2.prototype.lineNEInner = function(c, x, y, w, h, rectStyle, topRightStyle, size, indent, right) -{ - if (!right) - { - c.lineTo(w, indent); - } - else if((topRightStyle == 'square' || (topRightStyle == 'default' && rectStyle == 'square' )) || right) - { - c.lineTo(w - indent, indent); - } - else if((topRightStyle == 'rounded' || (topRightStyle == 'default' && rectStyle == 'rounded' )) || - (topRightStyle == 'snip' || (topRightStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(w - indent, size + indent * 0.5); - } - else if((topRightStyle == 'invRound' || (topRightStyle == 'default' && rectStyle == 'invRound' )) || - (topRightStyle == 'fold' || (topRightStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(w - indent, size + indent); - } -}; - -mxShapeBasicRect2.prototype.moveNWInner = function(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left) -{ - if (!top && !left) - { - c.moveTo(0, 0); - } - else if (!top && left) - { - c.moveTo(indent, 0); - } - else if (top && !left) - { - c.moveTo(0, indent); - } - else if(topLeftStyle == 'square' || (topLeftStyle == 'default' && rectStyle == 'square' )) - { - c.moveTo(indent, indent); - } - else if((topLeftStyle == 'rounded' || (topLeftStyle == 'default' && rectStyle == 'rounded' )) || - (topLeftStyle == 'snip' || (topLeftStyle == 'default' && rectStyle == 'snip' ))) - { - c.moveTo(indent, size + indent * 0.5); - } - else if((topLeftStyle == 'invRound' || (topLeftStyle == 'default' && rectStyle == 'invRound' )) || - (topLeftStyle == 'fold' || (topLeftStyle == 'default' && rectStyle == 'fold' ))) - { - c.moveTo(indent, size + indent); - } -}; - -mxShapeBasicRect2.prototype.lineNWInner = function(c, x, y, w, h, rectStyle, topLeftStyle, size, indent, top, left) -{ - if (!top && !left) - { - c.lineTo(0, 0); - } - else if (!top && left) - { - c.lineTo(indent, 0); - } - else if (top && !left) - { - c.lineTo(0, indent); - } - else if(topLeftStyle == 'square' || (topLeftStyle == 'default' && rectStyle == 'square' )) - { - c.lineTo(indent, indent); - } - else if((topLeftStyle == 'rounded' || (topLeftStyle == 'default' && rectStyle == 'rounded' )) || - (topLeftStyle == 'snip' || (topLeftStyle == 'default' && rectStyle == 'snip' ))) - { - c.lineTo(indent, size + indent * 0.5); - } - else if((topLeftStyle == 'invRound' || (topLeftStyle == 'default' && rectStyle == 'invRound' )) || - (topLeftStyle == 'fold' || (topLeftStyle == 'default' && rectStyle == 'fold' ))) - { - c.lineTo(indent, size + indent); - } -}; - -mxShapeBasicRect2.prototype.paintFolds = function(c, x, y, w, h, rectStyle, topLeftStyle, topRightStyle, bottomRightStyle, bottomLeftStyle, size, top, right, bottom, left) -{ - if (rectStyle == 'fold' || topLeftStyle == 'fold' || topRightStyle == 'fold' || bottomRightStyle == 'fold' || bottomLeftStyle == 'fold') - { - if ((topLeftStyle == 'fold' || (topLeftStyle == 'default' && rectStyle == 'fold' )) && (top && left)) - { - c.moveTo(0, size); - c.lineTo(size, size); - c.lineTo(size, 0); - } - - if ((topRightStyle == 'fold' || (topRightStyle == 'default' && rectStyle == 'fold' )) && (top && right)) - { - c.moveTo(w - size, 0); - c.lineTo(w - size, size); - c.lineTo(w, size); - } - - if ((bottomRightStyle == 'fold' || (bottomRightStyle == 'default' && rectStyle == 'fold' )) && (bottom && right)) - { - c.moveTo(w - size, h); - c.lineTo(w - size, h - size); - c.lineTo(w, h - size); - } - - if ((bottomLeftStyle == 'fold' || (bottomLeftStyle == 'default' && rectStyle == 'fold' )) && (bottom && left)) - { - c.moveTo(0, h - size); - c.lineTo(size, h - size); - c.lineTo(size, h); - } - } -}; - -mxCellRenderer.registerShape(mxShapeBasicRect2.prototype.cst.RECT2, mxShapeBasicRect2); - -mxShapeBasicRect2.prototype.constraints = null; - -Graph.handleFactory[mxShapeBasicRect2.prototype.cst.DIAG_ROUND_RECT] = function(state) -{ - var handles = [Graph.createHandle(state, ['size'], function(bounds) - { - var size = Math.max(0, Math.min(bounds.width / 2, bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'size', this.size)))); - - return new mxPoint(bounds.x + size, bounds.y + size); - }, function(bounds, pt) - { - this.state.style['size'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['indent'], function(bounds) - { - var dx2 = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'indent', this.dx2)))); - - return new mxPoint(bounds.x + bounds.width * 0.75, bounds.y + dx2 * bounds.height / 200); - }, function(bounds, pt) - { - this.state.style['indent'] = Math.round(100 * Math.max(0, Math.min(100, 200 * (pt.y - bounds.y) / bounds.height))) / 100; - }); - - handles.push(handle2); - - return handles; -}; diff --git a/dist/libs/drawio/shapes/mxBootstrap.js b/dist/libs/drawio/shapes/mxBootstrap.js deleted file mode 100644 index 2e808e3a..00000000 --- a/dist/libs/drawio/shapes/mxBootstrap.js +++ /dev/null @@ -1,1003 +0,0 @@ -/** - * $Id: mxBootstrap.js,v 1.0 2014/09/10 07:05:39 mate Exp $ - * Copyright (c) 2006-2014, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Rounded rectangle (adjustable rounding) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapRRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapRRect, mxShape); - -mxShapeBootstrapRRect.prototype.cst = { - PACKAGE : 'mxgraph.bootstrap.rrect', - R_SIZE : 'rSize' -}; - -mxShapeBootstrapRRect.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapRRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeBootstrapRRect.prototype.cst.R_SIZE, '10')); - c.roundrect(0, 0, w, h, rSize); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapRRect.prototype.cst.PACKAGE, mxShapeBootstrapRRect); - -//********************************************************************************************************************************************************** -//Top Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapTopButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapTopButton, mxShape); - -mxShapeBootstrapTopButton.prototype.cst = { - TOP_BUTTON : 'mxgraph.bootstrap.topButton', - R_SIZE : 'rSize' -}; - -mxShapeBootstrapTopButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapTopButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeBootstrapTopButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapTopButton.prototype.cst.TOP_BUTTON, mxShapeBootstrapTopButton); - -//********************************************************************************************************************************************************** -//Bottom Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapBottomButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapBottomButton, mxShape); - -mxShapeBootstrapBottomButton.prototype.cst = { - BOTTOM_BUTTON : 'mxgraph.bootstrap.bottomButton', - R_SIZE : 'rSize' -}; - -mxShapeBootstrapBottomButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapBottomButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeBootstrapBottomButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapBottomButton.prototype.cst.BOTTOM_BUTTON, mxShapeBootstrapBottomButton); - -//********************************************************************************************************************************************************** -//Right Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapRightButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapRightButton, mxShape); - -mxShapeBootstrapRightButton.prototype.cst = { - RIGHT_BUTTON : 'mxgraph.bootstrap.rightButton', - R_SIZE : 'rSize' -}; - -mxShapeBootstrapRightButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapRightButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeBootstrapRightButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapRightButton.prototype.cst.RIGHT_BUTTON, mxShapeBootstrapRightButton); - -//********************************************************************************************************************************************************** -//Left Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapLeftButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapLeftButton, mxShape); - -mxShapeBootstrapLeftButton.prototype.cst = { - LEFT_BUTTON : 'mxgraph.bootstrap.leftButton', - R_SIZE : 'rSize' -}; - -mxShapeBootstrapLeftButton.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapLeftButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeBootstrapLeftButton.prototype.cst.R_SIZE, '10')); - - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapLeftButton.prototype.cst.LEFT_BUTTON, mxShapeBootstrapLeftButton); - -//********************************************************************************************************************************************************** -//Left Button (Striped) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapLeftButtonStriped(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapLeftButtonStriped, mxShape); - -mxShapeBootstrapLeftButtonStriped.prototype.cst = { - LEFT_BUTTON_STRIPED : 'mxgraph.bootstrap.leftButtonStriped' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapLeftButtonStriped.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - rSize = 5; - c.begin(); - c.moveTo(w, 0); - c.lineTo(w, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.close(); - c.fill(); - - - var fillColor = '#ffffff'; - c.setAlpha('0.2'); - var stripeW = h * 0.5; - - c.setFillColor(fillColor); - c.begin(); - c.moveTo(0, h * 0.75); - c.lineTo(0, h * 0.25); - c.lineTo(h * 0.75, h); - c.lineTo(h * 0.25, h); - c.close(); - c.fill(); - - var end = false; - var startX = stripeW * 0.5; - - while (!end) - { - c.begin(); - c.moveTo(startX, 0); - - if (startX + stripeW >= w) - { - c.lineTo(w, 0); - c.lineTo(w, w - startX); - } - else - { - c.lineTo(startX + stripeW, 0); - - if (startX + stripeW + h > w) - { - c.lineTo(w, w - startX - stripeW); - - if (w - startX > h) - { - c.lineTo(w, h); - c.lineTo(startX + h, h); - } - else - { - c.lineTo(w, w - startX); - } - } - else - { - c.lineTo(startX + stripeW + h, h); - c.lineTo(startX + h, h); - } - } - - c.close(); - c.fill(); - - startX = startX + 2 * stripeW; - - if (startX > w) - { - end = true; - } - } -}; - -mxCellRenderer.registerShape(mxShapeBootstrapLeftButtonStriped.prototype.cst.LEFT_BUTTON_STRIPED, mxShapeBootstrapLeftButtonStriped); - -//********************************************************************************************************************************************************** -//Rounded Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapRoundedButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapRoundedButton, mxShape); - -mxShapeBootstrapRoundedButton.prototype.cst = { - ROUNDED_BUTTON : 'mxgraph.bootstrap.roundedButton' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapRoundedButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - if (w > h) - { - var r = h * 0.5; - - c.begin(); - c.moveTo(w - r, 0); - c.arcTo(r, r, 0, 0, 1, w - r, h); - c.lineTo(r, h); - c.arcTo(r, r, 0, 0, 1, r, 0); - c.close(); - c.fillAndStroke(); - } - else - { - var r = w * 0.5; - - c.begin(); - c.moveTo(0, h - r); - c.arcTo(r, r, 0, 0, 0, w, h - r); - c.lineTo(w, r); - c.arcTo(r, r, 0, 0, 0, 0, r); - c.close(); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeBootstrapRoundedButton.prototype.cst.ROUNDED_BUTTON, mxShapeBootstrapRoundedButton); - -//********************************************************************************************************************************************************** -//Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapArrow, mxShape); - -mxShapeBootstrapArrow.prototype.cst = { - ARROW : 'mxgraph.bootstrap.arrow' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.moveTo(w * 0.9, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.9, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapArrow.prototype.cst.ARROW, mxShapeBootstrapArrow); - -//********************************************************************************************************************************************************** -//Tab Top -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapTabTop(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapTabTop, mxShape); - -mxShapeBootstrapTabTop.prototype.cst = { - TAB_TOP : 'mxgraph.bootstrap.tabTop', - R_SIZE : 'rSize' -}; - -mxShapeBootstrapTabTop.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:5} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapTabTop.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = parseInt(mxUtils.getValue(this.style, mxShapeBootstrapTopButton.prototype.cst.R_SIZE, '10')); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - - c.setStrokeColor(fillColor); - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.setStrokeColor(strokeColor); - c.begin(); - c.moveTo(0, h); - c.lineTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapTabTop.prototype.cst.TAB_TOP, mxShapeBootstrapTabTop); - -//********************************************************************************************************************************************************** -//Image -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapImage(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapImage, mxShape); - -mxShapeBootstrapImage.prototype.cst = { - IMAGE : 'mxgraph.bootstrap.image', - R_SIZE : 'rSize' -}; - -mxShapeBootstrapImage.prototype.customProperties = [ - {name: 'rSize', dispName: 'Arc Size', type: 'float', min:0, defVal:5} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapImage.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = Math.max(0, parseInt(mxUtils.getValue(this.style, mxShapeBootstrapTopButton.prototype.cst.R_SIZE, '10'))); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - - c.begin(); - c.moveTo(0, rSize); - c.arcTo(rSize, rSize, 0, 0, 1, rSize, 0); - c.lineTo(w - rSize, 0); - c.arcTo(rSize, rSize, 0, 0, 1, w, rSize); - c.lineTo(w, h - rSize); - c.arcTo(rSize, rSize, 0, 0, 1, w - rSize, h); - c.lineTo(rSize, h); - c.arcTo(rSize, rSize, 0, 0, 1, 0, h - rSize); - c.close(); - c.stroke(); - - var rsHalf = rSize * 0.5; - c.translate(rsHalf, rsHalf); - w = Math.max(0, w - rSize); - h = Math.max(0, h - rSize); - - c.begin(); - c.moveTo(0, rsHalf); - c.arcTo(rsHalf, rsHalf, 0, 0, 1, rsHalf, 0); - c.lineTo(w - rsHalf, 0); - c.arcTo(rsHalf, rsHalf, 0, 0, 1, w, rsHalf); - c.lineTo(w, h - rsHalf); - c.arcTo(rsHalf, rsHalf, 0, 0, 1, w - rsHalf, h); - c.lineTo(rsHalf, h); - c.arcTo(rsHalf, rsHalf, 0, 0, 1, 0, h - rsHalf); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapImage.prototype.cst.IMAGE, mxShapeBootstrapImage); - -//********************************************************************************************************************************************************** -//Checkbox -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapCheckbox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapCheckbox, mxShape); - -mxShapeBootstrapCheckbox.prototype.cst = { - CHECKBOX : 'mxgraph.bootstrap.checkbox' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapCheckbox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var rSize = 3; - c.roundrect(0, 0, w, h, rSize, rSize); - c.fillAndStroke(); - - c.setStrokeWidth('3'); - c.begin(); - c.moveTo(w * 0.8, h * 0.2); - c.lineTo(w * 0.4, h * 0.8); - c.lineTo(w * 0.25, h * 0.6); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapCheckbox.prototype.cst.CHECKBOX, mxShapeBootstrapCheckbox); - -//********************************************************************************************************************************************************** -//Radio Button -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapRadioButton(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapRadioButton, mxShape); - -mxShapeBootstrapRadioButton.prototype.cst = { - RADIO_BUTTON : 'mxgraph.bootstrap.radioButton' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapRadioButton.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - c.setFillColor(strokeColor); - c.ellipse(w * 0.25, h * 0.25, w * 0.5, h * 0.5); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapRadioButton.prototype.cst.RADIO_BUTTON, mxShapeBootstrapRadioButton); - -//********************************************************************************************************************************************************** -//Horizontal Lines -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapHorLines(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapHorLines, mxShape); - -mxShapeBootstrapHorLines.prototype.cst = { - HOR_LINES : 'mxgraph.bootstrap.horLines' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapHorLines.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, 0, w, h); - c.fill(); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.moveTo(0, h); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapHorLines.prototype.cst.HOR_LINES, mxShapeBootstrapHorLines); - -//********************************************************************************************************************************************************** -//User 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapUserTwo(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapUserTwo, mxShape); - -mxShapeBootstrapUserTwo.prototype.cst = { - USER2 : 'mxgraph.bootstrap.user2' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapUserTwo.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, h * 0.95); - c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, w * 0.02, h * 0.87); - c.arcTo(w * 0.1, h * 0.1, 0, 0, 1, w * 0.08, h * 0.812); - c.arcTo(w * 3, h * 3, 0, 0, 1, w * 0.29, h * 0.732); - c.arcTo(w * 0.15, h * 0.15, 0, 0, 0, w * 0.385, h * 0.607); - c.arcTo(w * 0.11, h * 0.11, 0, 0, 0, w * 0.355, h * 0.53); - c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, w * 0.305, h * 0.44); - c.arcTo(w * 0.33, h * 0.38, 0, 0, 1, w * 0.312, h * 0.15); - c.arcTo(w * 0.218, h * 0.218 , 0, 0, 1, w * 0.688, h * 0.15); - c.arcTo(w * 0.33, h * 0.38, 0, 0, 1, w * 0.693, h * 0.44); - c.arcTo(w * 0.25, h * 0.25, 0, 0, 1, w * 0.645, h * 0.53); - c.arcTo(w * 0.1, h * 0.1, 0, 0, 0, w * 0.612, h * 0.6); - c.arcTo(w * 0.15, h * 0.15, 0, 0, 0, w * 0.7, h * 0.726); - c.arcTo(w * 3, h * 3, 0, 0, 1, w * 0.92, h * 0.812); - c.arcTo(w * 0.1, h * 0.1, 0, 0, 1, w * 0.97, h * 0.865); - c.arcTo(w * 0.2, h * 0.2, 0, 0, 1, w * 0.995, h * 0.952); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeBootstrapUserTwo.prototype.cst.USER2, mxShapeBootstrapUserTwo); - -//********************************************************************************************************************************************************** -//Rating -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBootstrapRating(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBootstrapRating, mxShape); - -mxShapeBootstrapRating.prototype.cst = { - RATING : 'mxgraph.bootstrap.rating', - RATING_STYLE : 'ratingStyle', - RATING_SCALE : 'ratingScale', - RATING_HEART : 'heart', - RATING_STAR : 'star', - EMPTY_FILL_COLOR : 'emptyFillColor', - GRADE : 'grade' -}; - -mxShapeBootstrapRating.prototype.customProperties = [ - {name: 'ratingStyle', dispName: 'Rating Style', type: 'enum', - enumList: [{val: 'heart', dispName: 'Heart'}, - {val: 'star', dispName: 'Star'}] - }, - {name: 'ratingScale', dispName: 'Rating Scale', type: 'int', min:1, defVal:5}, - {name: 'emptyFillColor', dispName: 'Inactive Color', type: 'color', defVal:'none'}, - {name: 'grade', dispName: 'Grade', type: 'int', min:1, defVal:3} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBootstrapRating.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var ratingStyle = mxUtils.getValue(this.style, mxShapeBootstrapRating.prototype.cst.RATING_STYLE, mxShapeBootstrapRating.prototype.cst.RATING_STAR); - var grade = mxUtils.getValue(this.style, mxShapeBootstrapRating.prototype.cst.GRADE, '5'); - var ratingScale = mxUtils.getValue(this.style, mxShapeBootstrapRating.prototype.cst.RATING_SCALE, '10'); - - c.translate(x, y); - - if (ratingStyle === mxShapeBootstrapRating.prototype.cst.RATING_STAR) - { - for (var i = 0; i < grade; i++) - { - c.begin(); - c.moveTo(i * h * 1.2, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.364 * h, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.475 * h, 0); - c.lineTo(i * h * 1.2 + 0.586 * h, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.95 * h, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.66 * h, 0.551 * h); - c.lineTo(i * h * 1.2 + 0.775 * h, 0.9 * h); - c.lineTo(i * h * 1.2 + 0.475 * h, 0.684 * h); - c.lineTo(i * h * 1.2 + 0.175 * h, 0.9 * h); - c.lineTo(i * h * 1.2 + 0.29 * h, 0.551 * h); - c.close(); - c.fillAndStroke(); - } - } - else if (ratingStyle === mxShapeBootstrapRating.prototype.cst.RATING_HEART) - { - for (var i = 0; i < grade; i++) - { - c.begin(); - c.moveTo(i * h * 1.2 + h * 0.519, h * 0.947); - c.curveTo(i * h * 1.2 + h * 0.558, h * 0.908, - i * h * 1.2 + h * 0.778, h * 0.682, - i * h * 1.2 + h * 0.916, h * 0.54); - c.curveTo(i * h * 1.2 + h * 1.039, h * 0.414, - i * h * 1.2 + h * 1.036, h * 0.229, - i * h * 1.2 + h * 0.924, h * 0.115); - c.curveTo(i * h * 1.2 + h * 0.812, 0, - i * h * 1.2 + h * 0.631, 0, - i * h * 1.2 + h * 0.519, h * 0.115); - c.curveTo(i * h * 1.2 + h * 0.408, 0, - i * h * 1.2 + h * 0.227, 0, - i * h * 1.2 + h * 0.115, h * 0.115); - c.curveTo(i * h * 1.2 + h * 0.03, h * 0.229, - i * h * 1.2, h * 0.414, - i * h * 1.2 + h * 0.123, h * 0.54); - c.close(); - c.fillAndStroke(); - } - } - - var emptyFillColor = mxUtils.getValue(this.style, mxShapeBootstrapRating.prototype.cst.EMPTY_FILL_COLOR, '#ffffff'); - c.setFillColor(emptyFillColor); - - if (ratingStyle === mxShapeBootstrapRating.prototype.cst.RATING_STAR) - { - for (var i = grade; i < ratingScale; i++) - { - c.begin(); - c.moveTo(i * h * 1.2, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.364 * h, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.475 * h, 0); - c.lineTo(i * h * 1.2 + 0.586 * h, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.95 * h, 0.33 * h); - c.lineTo(i * h * 1.2 + 0.66 * h, 0.551 * h); - c.lineTo(i * h * 1.2 + 0.775 * h, 0.9 * h); - c.lineTo(i * h * 1.2 + 0.475 * h, 0.684 * h); - c.lineTo(i * h * 1.2 + 0.175 * h, 0.9 * h); - c.lineTo(i * h * 1.2 + 0.29 * h, 0.551 * h); - c.close(); - c.fillAndStroke(); - } - } - else if (ratingStyle === mxShapeBootstrapRating.prototype.cst.RATING_HEART) - { - for (var i = grade; i < ratingScale; i++) - { - c.begin(); - c.moveTo(i * h * 1.2 + h * 0.519, h * 0.947); - c.curveTo(i * h * 1.2 + h * 0.558, h * 0.908, - i * h * 1.2 + h * 0.778, h * 0.682, - i * h * 1.2 + h * 0.916, h * 0.54); - c.curveTo(i * h * 1.2 + h * 1.039, h * 0.414, - i * h * 1.2 + h * 1.036, h * 0.229, - i * h * 1.2 + h * 0.924, h * 0.115); - c.curveTo(i * h * 1.2 + h * 0.812, 0, - i * h * 1.2 + h * 0.631, 0, - i * h * 1.2 + h * 0.519, h * 0.115); - c.curveTo(i * h * 1.2 + h * 0.408, 0, - i * h * 1.2 + h * 0.227, 0, - i * h * 1.2 + h * 0.115, h * 0.115); - c.curveTo(i * h * 1.2 + h * 0.03, h * 0.229, - i * h * 1.2, h * 0.414, - i * h * 1.2 + h * 0.123, h * 0.54); - c.close(); - c.fillAndStroke(); - } - } -}; - -mxCellRenderer.registerShape(mxShapeBootstrapRating.prototype.cst.RATING, mxShapeBootstrapRating); - -//********************************************************************************************************************************************************** -//Anchor (a dummy shape without visuals used for anchoring) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeBoostrapAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeBoostrapAnchor, mxShape); - -mxShapeBoostrapAnchor.prototype.cst = { - ANCHOR : 'mxgraph.bootstrap.anchor' -}; - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeBoostrapAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeBoostrapAnchor.prototype.cst.ANCHOR, mxShapeBoostrapAnchor); - diff --git a/dist/libs/drawio/shapes/mxCabinets.js b/dist/libs/drawio/shapes/mxCabinets.js deleted file mode 100644 index f6eaa8bb..00000000 --- a/dist/libs/drawio/shapes/mxCabinets.js +++ /dev/null @@ -1,257 +0,0 @@ -/** - * $Id: mxCabinets.js,v 1.0 2014/04/15 07:05:39 mate Exp $ - * Copyright (c) 2006-2014, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Cabinet -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxCabinetsCabinet(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxCabinetsCabinet, mxShape); - -mxCabinetsCabinet.prototype.cst = { - HAS_STAND : 'hasStand', - CABINET : 'mxgraph.cabinets.cabinet' -}; - -mxCabinetsCabinet.prototype.customProperties = [ - {name: 'hasStand', dispName:'Has Stand', type:'bool', defVal:true} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxCabinetsCabinet.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - this.foreground(c, 0, 0, w, h); -}; - -mxCabinetsCabinet.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxCabinetsCabinet.prototype.foreground = function(c, x, y, w, h) -{ - var wallTh = 15; - c.rect(0, 0, w, wallTh); - c.stroke(); - - c.begin(); - c.moveTo(wallTh, wallTh); - c.lineTo(wallTh, h); - c.moveTo(w - wallTh, wallTh); - c.lineTo(w - wallTh, h); - c.stroke(); - - var hasStand = mxUtils.getValue(this.style, mxCabinetsCabinet.prototype.cst.HAS_STAND, '1'); - - if (hasStand === 1) - { - c.rect(0, h - 40, w, 40); - c.fillAndStroke(); - } - else - { - c.rect(0, h - wallTh, w, wallTh); - c.fillAndStroke(); - }; -}; - -mxCellRenderer.registerShape(mxCabinetsCabinet.prototype.cst.CABINET, mxCabinetsCabinet); - -//********************************************************************************************************************************************************** -//Cover Plate -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxCabinetsCoverPlate(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxCabinetsCoverPlate, mxShape); - -mxCabinetsCoverPlate.prototype.cst = { - COVER_PLATE : 'mxgraph.cabinets.coverPlate' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxCabinetsCoverPlate.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, 0, 0, w, h); - c.setShadow(false); - this.foreground(c, 0, 0, w, h); -}; - -mxCabinetsCoverPlate.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.moveTo(10, h * 0.5 - 12.5); - c.lineTo(10, h * 0.5 + 12.5); - c.lineTo(w - 10, h * 0.5 + 12.5); - c.lineTo(w - 10, h * 0.5 - 12.5); - c.close(); - c.fillAndStroke(); -}; - -mxCabinetsCoverPlate.prototype.foreground = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxCabinetsCoverPlate.prototype.cst.COVER_PLATE, mxCabinetsCoverPlate); - -//********************************************************************************************************************************************************** -//Dimension -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxCabinetsDimension(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxCabinetsDimension, mxShape); - -mxCabinetsDimension.prototype.cst = { - DIMENSION : 'mxgraph.cabinets.dimension' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxCabinetsDimension.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxCabinetsDimension.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 20); - c.lineTo(w, 20); - c.moveTo(10, 15); - c.lineTo(0, 20); - c.lineTo(10, 25); - c.moveTo(w - 10, 15); - c.lineTo(w, 20); - c.lineTo(w - 10, 25); - c.moveTo(0, 15); - c.lineTo(0, h); - c.moveTo(w, 15); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxCabinetsDimension.prototype.cst.DIMENSION, mxCabinetsDimension); - -//********************************************************************************************************************************************************** -//Dimension Bottom -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxCabinetsDimensionBottom(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxCabinetsDimensionBottom, mxShape); - -mxCabinetsDimensionBottom.prototype.cst = { - DIMENSION : 'mxgraph.cabinets.dimensionBottom' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxCabinetsDimensionBottom.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxCabinetsDimensionBottom.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h - 20); - c.lineTo(w, h - 20); - c.moveTo(10, h - 15); - c.lineTo(0, h - 20); - c.lineTo(10, h - 25); - c.moveTo(w - 10, h - 15); - c.lineTo(w, h - 20); - c.lineTo(w - 10, h - 25); - c.moveTo(0, h - 15); - c.lineTo(0, 0); - c.moveTo(w, h - 15); - c.lineTo(w, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxCabinetsDimensionBottom.prototype.cst.DIMENSION, mxCabinetsDimensionBottom); - diff --git a/dist/libs/drawio/shapes/mxDFD.js b/dist/libs/drawio/shapes/mxDFD.js deleted file mode 100644 index 899710f2..00000000 --- a/dist/libs/drawio/shapes/mxDFD.js +++ /dev/null @@ -1,447 +0,0 @@ -/** - * $Id: mxDFD.js,v 1.5 2018/26/11 12:32:06 mate Exp $ - * Copyright (c) 2006-2018, JGraph Ltd - */ -//********************************************************************************************************************************************************** -// Start -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeDFDStart(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeDFDStart, mxShape); - -mxShapeDFDStart.prototype.cst = {START : 'mxgraph.dfd.start'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeDFDStart.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var r = Math.min(h * 0.5, w * 0.5); - - c.begin(); - c.moveTo(w - r, h * 0.5 - r); - c.arcTo(r, r, 0, 0, 1, w, h * 0.5); - c.arcTo(r, r, 0, 0, 1, w - r, h * 0.5 + r); - c.lineTo(r, h * 0.5 + r); - c.arcTo(r, r, 0, 0, 1, 0, h * 0.5); - c.arcTo(r, r, 0, 0, 1, r, h * 0.5 - r); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeDFDStart.prototype.cst.START, mxShapeDFDStart); - -mxShapeDFDStart.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var r = Math.min(h * 0.5, w * 0.5); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.5), false, null, 0, -r)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.5), false, null, 0, r)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.293, h * 0.5 - r * 0.707)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.293, h * 0.5 - r * 0.707)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.293, h * 0.5 + r * 0.707)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.293, h * 0.5 + r * 0.707)); - - if (w >= 4 * h) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - } - - return (constr); -} - -//********************************************************************************************************************************************************** -//Archive -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeDFDArchive(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeDFDArchive, mxShape); - -mxShapeDFDArchive.prototype.cst = {ARCHIVE : 'mxgraph.dfd.archive'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeDFDArchive.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0,0); - c.lineTo(w, 0); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.1, h * 0.2); - c.lineTo(w * 0.9, h * 0.2); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeDFDArchive.prototype.cst.ARCHIVE, mxShapeDFDArchive); - -mxShapeDFDArchive.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.875, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.625, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.375, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.125, 0.25), false)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Check2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeDFDCheck2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeDFDCheck2, mxShape); - -mxShapeDFDCheck2.prototype.cst = {CHECK2 : 'mxgraph.dfd.check2'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeDFDCheck2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var size = Math.min(h * 0.5, w * 0.5); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(size, 0); - c.lineTo(w - size, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - size, h); - c.lineTo(size, h); - c.lineTo(0, h * 0.5); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(w - size, 0); - c.lineTo(w - 2 * size, h * 0.5); - c.lineTo(w - size, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeDFDCheck2.prototype.cst.CHECK2, mxShapeDFDCheck2); - -mxShapeDFDCheck2.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var size = Math.min(h * 0.5, w * 0.5); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, size * 0.5, h * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - size * 0.5, h * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, size * 0.5, h * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - size * 0.5, h * 0.75)); - - if (w > h) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, size, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - size, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, size, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - size, h)); - } - - if(size * 4 <= w) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - } - - return (constr); -} - -//********************************************************************************************************************************************************** -//Data Store with ID -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeDFDDataStoreID(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeDFDDataStoreID, mxShape); - -mxShapeDFDDataStoreID.prototype.cst = {DATA_STORE_ID : 'mxgraph.dfd.dataStoreID'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeDFDDataStoreID.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var size = Math.min(h * 0.5, w * 0.5); - - c.begin(); - c.moveTo(w, h); - c.lineTo(0, h); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.stroke(); - - c.setShadow(false); - - var s = Math.min(30, w); - - c.begin(); - c.moveTo(s, 0); - c.lineTo(s, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeDFDDataStoreID.prototype.cst.DATA_STORE_ID, mxShapeDFDDataStoreID); - -mxShapeDFDDataStoreID.prototype.constraints = null; - -//********************************************************************************************************************************************************** -//External Entity -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeDFDExternalEntity(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeDFDExternalEntity, mxShape); - -mxShapeDFDExternalEntity.prototype.cst = {EXTERNAL_ENTITY : 'mxgraph.dfd.externalEntity'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeDFDExternalEntity.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var size = 10; - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - size, 0); - c.lineTo(w, size); - c.lineTo(w, h); - c.lineTo(size, h); - c.lineTo(0, h - size); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - - c.setFillColor('#000000'); - c.setAlpha(0.5); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - size, 0); - c.lineTo(w, size); - c.lineTo(size, size); - c.lineTo(size, h); - c.lineTo(0, h - size); - c.close(); - c.fill(); - - var opacity = parseFloat(mxUtils.getValue(this.style, 'opacity', '100')); - - c.setAlpha(opacity / 100); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w - size, 0); - c.lineTo(w, size); - c.lineTo(w, h); - c.lineTo(size, h); - c.lineTo(0, h - size); - c.close(); - c.moveTo(size, h); - c.lineTo(size, size); - c.lineTo(w, size); - c.moveTo(0, 0); - c.lineTo(size, size); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeDFDExternalEntity.prototype.cst.EXTERNAL_ENTITY, mxShapeDFDExternalEntity); - -mxShapeDFDExternalEntity.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var size = 10; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - size) * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - size) * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - size) * 0.75, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - size, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, size, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - size) * 0.25 + size, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - size) * 0.5 + size, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - size) * 0.75 + size, h)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, size)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, size + (h - size) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, size + (h - size) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, size + (h - size) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - size) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - size) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - size) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - size)); - - return (constr); -} - -//********************************************************************************************************************************************************** -//Loop -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeDFDLoop(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeDFDLoop, mxShape); - -mxShapeDFDLoop.prototype.cst = {LOOP : 'mxgraph.dfd.loop'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeDFDLoop.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var r = Math.min(h * 0.8, w * 0.8); - - c.begin(); - c.moveTo(w - r * 0.25, 0); - c.arcTo(r, r, 0, 0, 1, w - r * 0.25, h); - c.lineTo(r * 0.25, h); - c.arcTo(r, r, 0, 0, 1, r * 0.25, 0); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeDFDLoop.prototype.cst.LOOP, mxShapeDFDLoop); - -mxShapeDFDLoop.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var r = Math.min(h * 0.8, w * 0.8); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.25, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.25, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - - return (constr); -} - diff --git a/dist/libs/drawio/shapes/mxEip.js b/dist/libs/drawio/shapes/mxEip.js deleted file mode 100644 index 563c5c1f..00000000 --- a/dist/libs/drawio/shapes/mxEip.js +++ /dev/null @@ -1,570 +0,0 @@ -/** - * $Id: mxEip.js,v 1.0 2014/11/27 06:09:21 mate Exp $ - * Copyright (c) 2006-2015, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Message Expiration -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapeEipMessageExpiration(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapeEipMessageExpiration, mxShape); - -mxShapeEipMessageExpiration.prototype.cst = { - SHAPE_MESS_EXP : 'mxgraph.eip.messExp' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapeEipMessageExpiration.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeEipMessageExpiration.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(0, 0, w, h); - c.stroke(); - - c.setStrokeColor("#808080"); - c.begin(); - c.moveTo(w * 0.5, h * 0.1); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.6, h * 0.8); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeEipMessageExpiration.prototype.cst.SHAPE_MESS_EXP, mxShapeEipMessageExpiration); - -mxShapeEipMessageExpiration.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Return Address -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeEipReturnAddress(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeEipReturnAddress, mxShape); - -mxShapeEipReturnAddress.prototype.cst = { - SHAPE_RET_ADDR : 'mxgraph.eip.retAddr' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeEipReturnAddress.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeEipReturnAddress.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeEipReturnAddress.prototype.foreground = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.05, h * 0.11); - c.lineTo(w * 0.25, h * 0.11); - c.moveTo(w * 0.05, h * 0.18); - c.lineTo(w * 0.25, h * 0.18); - c.moveTo(w * 0.05, h * 0.25); - c.lineTo(w * 0.25, h * 0.25); - - c.setStrokeWidth(2); - c.moveTo(w * 0.3, h * 0.63); - c.lineTo(w * 0.8, h * 0.63); - c.moveTo(w * 0.3, h * 0.72); - c.lineTo(w * 0.8, h * 0.72); - c.moveTo(w * 0.3, h * 0.80); - c.lineTo(w * 0.8, h * 0.80); - c.stroke(); - - c.setFillColor("#EDEDED"); - c.rect(w * 0.8, h * 0.1, w * 0.12, h * 0.19); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeEipReturnAddress.prototype.cst.SHAPE_RET_ADDR, mxShapeEipReturnAddress); - -mxShapeEipReturnAddress.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Anchor -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeEipAnchor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeEipAnchor, mxShape); - -mxShapeEipAnchor.prototype.cst = { - SHAPE_ANCHOR : 'mxgraph.eip.anchor' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeEipAnchor.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeEipAnchor.prototype.cst.SHAPE_ANCHOR, mxShapeEipAnchor); - -//********************************************************************************************************************************************************** -//Message Channel -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeEipMessageChannel(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeEipMessageChannel, mxShape); - -mxShapeEipMessageChannel.prototype.cst = { - SHAPE_MESSAGE_CHANNEL : 'mxgraph.eip.messageChannel' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeEipMessageChannel.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeEipMessageChannel.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#e6e6e6', '#808080', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, 8, h * 0.5 - 10); - c.lineTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.close(); - c.fillAndStroke(); -}; - -mxShapeEipMessageChannel.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#e6e6e6'); - c.begin(); - c.moveTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 - 10); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeEipMessageChannel.prototype.cst.SHAPE_MESSAGE_CHANNEL, mxShapeEipMessageChannel); - - -mxShapeEipMessageChannel.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 2.7, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, -2.7, 0)); - - var currW = 10; - - while (currW < w) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, currW, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, currW, 0)); - - currW = currW + 10; - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Datatype Channel -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeEipDatatypeChannel(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeEipDatatypeChannel, mxShape); - -mxShapeEipDatatypeChannel.prototype.cst = { - SHAPE_DATATYPE_CHANNEL : 'mxgraph.eip.dataChannel' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeEipDatatypeChannel.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeEipDatatypeChannel.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#e6e6e6', '#808080', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, 8, h * 0.5 - 10); - c.lineTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.close(); - c.fillAndStroke(); -}; - -mxShapeEipDatatypeChannel.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#e6e6e6'); - c.begin(); - c.moveTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 - 10); - c.fillAndStroke(); - - c.setFillColor("#fffbc0"); - c.setStrokeWidth("1"); - - for(var i = 1; i * 20 + 10 < w - 14; i++) - { - c.rect(i * 20, h * 0.5 - 5, 10, 10); - c.fillAndStroke(); - }; -}; - -mxCellRenderer.registerShape(mxShapeEipDatatypeChannel.prototype.cst.SHAPE_DATATYPE_CHANNEL, mxShapeEipDatatypeChannel); - -mxShapeEipDatatypeChannel.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 2.7, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, -2.7, 0)); - - var currW = 10; - - while (currW < w) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, currW, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, currW, 0)); - - currW = currW + 10; - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Dead Letter Channel -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeEipDeadLetterChannel(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeEipDeadLetterChannel, mxShape); - -mxShapeEipDeadLetterChannel.prototype.cst = { - SHAPE_DEAD_LETTER_CHANNEL : 'mxgraph.eip.deadLetterChannel' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeEipDeadLetterChannel.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeEipDeadLetterChannel.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#e6e6e6', '#808080', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, 8, h * 0.5 - 10); - c.lineTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.close(); - c.fillAndStroke(); -}; - -mxShapeEipDeadLetterChannel.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#e6e6e6'); - c.begin(); - c.moveTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 - 10); - c.fillAndStroke(); - - c.setFillColor("#ff0000"); - c.setStrokeWidth("1"); - c.begin(); - c.moveTo(w * 0.5 - 6, h * 0.5 - 3); - c.lineTo(w * 0.5 - 3, h * 0.5 - 6); - c.lineTo(w * 0.5 + 3, h * 0.5 - 6); - c.lineTo(w * 0.5 + 6, h * 0.5 - 3); - c.lineTo(w * 0.5 + 6, h * 0.5 + 3); - c.lineTo(w * 0.5 + 3, h * 0.5 + 6); - c.lineTo(w * 0.5 - 3, h * 0.5 + 6); - c.lineTo(w * 0.5 - 6, h * 0.5 + 3); - c.close(); - c.fillAndStroke(); - - c.setStrokeWidth("2"); - c.setStrokeColor("#ffffff"); - c.begin(); - c.moveTo(w * 0.5 - 4, h * 0.5); - c.lineTo(w * 0.5 + 4, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeEipDeadLetterChannel.prototype.cst.SHAPE_DEAD_LETTER_CHANNEL, mxShapeEipDeadLetterChannel); - -mxShapeEipDeadLetterChannel.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 2.7, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, -2.7, 0)); - - var currW = 10; - - while (currW < w) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, currW, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, currW, 0)); - - currW = currW + 10; - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Invalid Message Channel -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeEipInvalidMessageChannel(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeEipInvalidMessageChannel, mxShape); - -mxShapeEipInvalidMessageChannel.prototype.cst = { - SHAPE_INVALID_MESSAGE_CHANNEL : 'mxgraph.eip.invalidMessageChannel' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeEipInvalidMessageChannel.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeEipInvalidMessageChannel.prototype.background = function(c, x, y, w, h) -{ - c.setGradient('#e6e6e6', '#808080', 0, 0, w, h, mxConstants.DIRECTION_SOUTH, 1, 1); - c.begin(); - c.moveTo(8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, 8, h * 0.5 - 10); - c.lineTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.close(); - c.fillAndStroke(); -}; - -mxShapeEipInvalidMessageChannel.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#e6e6e6'); - c.begin(); - c.moveTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 - 10); - c.fillAndStroke(); - - c.setFillColor("#ffe040"); - c.setStrokeWidth("1"); - c.begin(); - c.moveTo(w * 0.5 - 6, h * 0.5 + 5); - c.lineTo(w * 0.5, h * 0.5 - 5); - c.lineTo(w * 0.5 + 6, h * 0.5 + 5); - c.close(); - c.fillAndStroke(); - - c.setStrokeWidth("1"); - c.begin(); - c.moveTo(w * 0.5, h * 0.5 - 2); - c.lineTo(w * 0.5, h * 0.5 + 2); - c.moveTo(w * 0.5, h * 0.5 + 3); - c.lineTo(w * 0.5, h * 0.5 + 4); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeEipInvalidMessageChannel.prototype.cst.SHAPE_INVALID_MESSAGE_CHANNEL, mxShapeEipInvalidMessageChannel); - -mxShapeEipInvalidMessageChannel.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 2.7, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, -2.7, 0)); - - var currW = 10; - - while (currW < w) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, currW, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, currW, 0)); - - currW = currW + 10; - } - - return (constr); -}; diff --git a/dist/libs/drawio/shapes/mxElectrical.js b/dist/libs/drawio/shapes/mxElectrical.js deleted file mode 100644 index 59f120aa..00000000 --- a/dist/libs/drawio/shapes/mxElectrical.js +++ /dev/null @@ -1,1776 +0,0 @@ -/** - * $Id: mxElectrical.js,v 1.0 2016/10/25 17:05:39 mate Exp $ - * Copyright (c) 2006-2016, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Test Point -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalTestPoint(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalTestPoint, mxShape); - -mxShapeElectricalTestPoint.prototype.cst = { - SHAPE_TEST_POINT : 'mxgraph.electrical.transmission.testPoint' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalTestPoint.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - var size = Math.min(w, h); - - c.setFillColor(strokeColor); - c.begin(); - c.ellipse(w * 0.5 - size / 2, 0, size, size); - c.fillAndStroke(); - - if (h > w) - { - c.begin(); - c.moveTo(w * 0.5, size); - c.lineTo(w * 0.5, h); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeElectricalTestPoint.prototype.cst.SHAPE_TEST_POINT, mxShapeElectricalTestPoint); - -mxShapeElectricalTestPoint.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Straight Bus -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalStraightBus(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalStraightBus, mxShape); - -mxShapeElectricalStraightBus.prototype.cst = { - SHAPE_STRAIGHT_BUS : 'mxgraph.electrical.transmission.straightBus' -}; - - - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalStraightBus.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var size = Math.min(w, h); - var x1 = w * 0.2; - var y1 = 0; - - if (w > h) - { - y1 = h * 0.5; - } - else - { - y1 = w / 2; - } - - c.begin(); - c.moveTo(w - x1, 0); - c.lineTo(w - x1, h - y1); - c.lineTo(w, h - y1); - c.lineTo(w * 0.5, h); - c.lineTo(0, h - y1); - c.lineTo(x1, h - y1); - c.lineTo(x1, 0); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeElectricalStraightBus.prototype.cst.SHAPE_STRAIGHT_BUS, mxShapeElectricalStraightBus); - -mxShapeElectricalStraightBus.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Two-Line Bus Elbow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalTwoLineBusElbow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalTwoLineBusElbow, mxShape); - -mxShapeElectricalTwoLineBusElbow.prototype.cst = { - SHAPE_TWO_LINE_BUS_ELBOW : 'mxgraph.electrical.transmission.twoLineBusElbow' -}; - -mxShapeElectricalTwoLineBusElbow.prototype.customProperties = [ - {name:'notch', dispName:'Spacing', type:'float', min:0, defVal:25} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalTwoLineBusElbow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w, h); - c.lineTo(w, 0); - c.stroke(); - - var wn = Math.min(w, notch); - var hn = Math.min(h, notch); - - c.begin(); - c.moveTo(0, h - hn); - c.lineTo(w - wn, h - hn); - c.lineTo(w - wn, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeElectricalTwoLineBusElbow.prototype.cst.SHAPE_TWO_LINE_BUS_ELBOW, mxShapeElectricalTwoLineBusElbow); - -mxShapeElectricalTwoLineBusElbow.prototype.constraints = null; - -Graph.handleFactory[mxShapeElectricalTwoLineBusElbow.prototype.cst.SHAPE_TWO_LINE_BUS_ELBOW] = function(state) -{ - var handles = [Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch))), 0); - - return new mxPoint(bounds.x + bounds.width / 4, bounds.y + bounds.height - notch); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(0.2 * Math.max(0, bounds.width - pt.y + bounds.y)) / 0.2; - })]; - - return handles; - -} - -//********************************************************************************************************************************************************** -//Three-Line Bus Elbow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalThreeLineBusElbow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalThreeLineBusElbow, mxShape); - -mxShapeElectricalThreeLineBusElbow.prototype.cst = { - SHAPE_THREE_LINE_BUS_ELBOW : 'mxgraph.electrical.transmission.threeLineBusElbow' -}; - -mxShapeElectricalThreeLineBusElbow.prototype.customProperties = [ - {name:'notch', dispName:'Spacing', type:'float', min:0, defVal:30} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalThreeLineBusElbow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w, h); - c.lineTo(w, 0); - c.stroke(); - - var wn = Math.min(w, notch); - var hn = Math.min(h, notch); - - c.begin(); - c.moveTo(0, h - hn); - c.lineTo(w - wn, h - hn); - c.lineTo(w - wn, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn / 2); - c.lineTo(w - wn / 2, h - hn / 2); - c.lineTo(w - wn / 2, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeElectricalThreeLineBusElbow.prototype.cst.SHAPE_THREE_LINE_BUS_ELBOW, mxShapeElectricalThreeLineBusElbow); - -mxShapeElectricalThreeLineBusElbow.prototype.constraints = null; - -Graph.handleFactory[mxShapeElectricalThreeLineBusElbow.prototype.cst.SHAPE_THREE_LINE_BUS_ELBOW] = function(state) -{ - var handles = [Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch))), 0); - - return new mxPoint(bounds.x + bounds.width / 4, bounds.y + bounds.height - notch); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(0.2 * Math.max(0, bounds.width - pt.y + bounds.y)) / 0.2; - })]; - - return handles; - -} - -//********************************************************************************************************************************************************** -//Four-Line Bus Elbow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalFourLineBusElbow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalFourLineBusElbow, mxShape); - -mxShapeElectricalFourLineBusElbow.prototype.cst = { - SHAPE_FOUR_LINE_BUS_ELBOW : 'mxgraph.electrical.transmission.fourLineBusElbow' -}; - -mxShapeElectricalFourLineBusElbow.prototype.customProperties = [ - {name:'notch', dispName:'Spacing', type:'float', min:0, defVal:75} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalFourLineBusElbow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w, h); - c.lineTo(w, 0); - c.stroke(); - - var wn = Math.min(w, notch); - var hn = Math.min(h, notch); - - c.begin(); - c.moveTo(0, h - hn); - c.lineTo(w - wn, h - hn); - c.lineTo(w - wn, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn / 3); - c.lineTo(w - wn / 3, h - hn / 3); - c.lineTo(w - wn / 3, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn * 2 / 3); - c.lineTo(w - wn * 2 / 3, h - hn * 2 / 3); - c.lineTo(w - wn * 2 / 3, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeElectricalFourLineBusElbow.prototype.cst.SHAPE_FOUR_LINE_BUS_ELBOW, mxShapeElectricalFourLineBusElbow); - -mxShapeElectricalFourLineBusElbow.prototype.constraints = null; - -Graph.handleFactory[mxShapeElectricalFourLineBusElbow.prototype.cst.SHAPE_FOUR_LINE_BUS_ELBOW] = function(state) -{ - var handles = [Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch))), 0); - - return new mxPoint(bounds.x + bounds.width / 4, bounds.y + bounds.height - notch); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(0.2 * Math.max(0, bounds.width - pt.y + bounds.y)) / 0.2; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Four-Line Bus Elbow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalEightLineBusElbow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.notch = 0; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalEightLineBusElbow, mxShape); - -mxShapeElectricalEightLineBusElbow.prototype.cst = { - SHAPE_EIGHT_LINE_BUS_ELBOW : 'mxgraph.electrical.transmission.eightLineBusElbow' -}; - -mxShapeElectricalEightLineBusElbow.prototype.customProperties = [ - {name:'notch', dispName:'Spacing', type:'float', min:0, defVal:180} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalEightLineBusElbow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w, h); - c.lineTo(w, 0); - c.stroke(); - - var wn = Math.min(w, notch); - var hn = Math.min(h, notch); - - c.begin(); - c.moveTo(0, h - hn); - c.lineTo(w - wn, h - hn); - c.lineTo(w - wn, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn / 7); - c.lineTo(w - wn / 7, h - hn / 7); - c.lineTo(w - wn / 7, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn * 2 / 7); - c.lineTo(w - wn * 2 / 7, h - hn * 2 / 7); - c.lineTo(w - wn * 2 / 7, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn * 3 / 7); - c.lineTo(w - wn * 3 / 7, h - hn * 3 / 7); - c.lineTo(w - wn * 3 / 7, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn * 4 / 7); - c.lineTo(w - wn * 4 / 7, h - hn * 4 / 7); - c.lineTo(w - wn * 4 / 7, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn * 5 / 7); - c.lineTo(w - wn * 5 / 7, h - hn * 5 / 7); - c.lineTo(w - wn * 5 / 7, 0); - c.stroke(); - - c.begin(); - c.moveTo(0, h - hn * 6 / 7); - c.lineTo(w - wn * 6 / 7, h - hn * 6 / 7); - c.lineTo(w - wn * 6 / 7, 0); - c.stroke(); - -}; - -mxCellRenderer.registerShape(mxShapeElectricalEightLineBusElbow.prototype.cst.SHAPE_EIGHT_LINE_BUS_ELBOW, mxShapeElectricalEightLineBusElbow); - -mxShapeElectricalEightLineBusElbow.prototype.constraints = null; - -Graph.handleFactory[mxShapeElectricalEightLineBusElbow.prototype.cst.SHAPE_EIGHT_LINE_BUS_ELBOW] = function(state) -{ - var handles = [Graph.createHandle(state, ['notch'], function(bounds) - { - var notch = Math.max(Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch))), 0); - - return new mxPoint(bounds.x + bounds.width / 4, bounds.y + bounds.height - notch); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(0.2 * Math.max(0, bounds.width - pt.y + bounds.y)) / 0.2; - })]; - - return handles; -} - -//********************************************************************************************************************************************************** -//Logic Gate -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalLogicGate(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalLogicGate, mxShape); - -mxShapeElectricalLogicGate.prototype.cst = { - SHAPE_LOGIC_GATE : 'mxgraph.electrical.logic_gates.logic_gate' -}; - -mxShapeElectricalLogicGate.prototype.customProperties = [ - {name: 'operation', dispName: 'Operation', type: 'enum', defVal:'and', - enumList:[ - {val:'and', dispName:'And'}, - {val:'or', dispName:'Or'}, - {val:'xor', dispName:'Xor'} - ]}, - {name: 'numInputs', dispName: 'Inputs', type: 'int', min:2, defVal:2}, - {name: 'negating', dispName: 'Negating', type: 'bool', defVal:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalLogicGate.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var numInputs = parseInt(mxUtils.getValue(this.style, 'numInputs', '2')); - var spacing = h / numInputs; - var currH = spacing * 0.5; - - c.begin(); - c.moveTo(w * 0.8, h * 0.5); - c.lineTo(w, h * 0.5); - - var operation = mxUtils.getValue(this.style, 'operation', 'and'); - - for (var i = 0; i < numInputs; i++) - { - c.moveTo(0, currH); - - if (operation == 'and') - { - c.lineTo(w * 0.2, currH); - } - else - { - c.lineTo(w * 0.23, currH); - } - - currH = currH + spacing; - } - - c.stroke(); - - - switch(operation) { - case 'xor': - c.begin(); - c.moveTo(w * 0.1, 0); - c.arcTo(w * 0.6, h, 0, 0, 1, w * 0.1, h); - c.stroke(); - case 'or': - c.begin(); - c.moveTo(w * 0.4, 0); - c.arcTo(w * 0.45, h * 0.83, 0, 0, 1, w * 0.8, h * 0.5); - c.arcTo(w * 0.45, h * 0.83, 0, 0, 1, w * 0.4, h); - c.lineTo(w * 0.15, h); - c.arcTo(w * 0.6, h, 0, 0, 0, w * 0.15, 0); - c.close(); - c.fillAndStroke(); - break; - default: - c.begin(); - c.moveTo(w * 0.2, 0); - c.lineTo(w * 0.5, 0); - c.arcTo(w * 0.3, h * 0.5, 0, 0, 1, w * 0.5, h); - c.lineTo(w * 0.2, h); - c.close(); - c.fillAndStroke(); - }; - - - var negating = mxUtils.getValue(this.style, 'negating', '0'); - - if (negating == '1') - { - var negSize = Math.min(w * 0.04, h * 0.07); - c.begin(); - c.ellipse(w * 0.8, h * 0.5 - negSize * 0.5, negSize, negSize); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeElectricalLogicGate.prototype.cst.SHAPE_LOGIC_GATE, mxShapeElectricalLogicGate); - -mxShapeElectricalLogicGate.prototype.getConstraints = function(style) -{ - var constr = [new mxConnectionConstraint(new mxPoint(1, 0.5), false)]; - - var numInputs = parseInt(mxUtils.getValue(style, 'numInputs', '2')); - var spacing = 1 / numInputs; - var currH = spacing * 0.5; - - for (var i = 0; i < numInputs; i++) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, currH), false)); - currH = currH + spacing; - } - - return (constr); -} - -//********************************************************************************************************************************************************** -//Buffer -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalBuffer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalBuffer, mxShape); - -mxShapeElectricalBuffer.prototype.cst = { - SHAPE_BUFFER2 : 'mxgraph.electrical.logic_gates.buffer2' -}; - -mxShapeElectricalBuffer.prototype.customProperties = [ - {name: 'negating', dispName: 'Negating', type: 'bool', defVal:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalBuffer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.2, h * 0.5); - c.moveTo(w * 0.8, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.2, 0); - c.lineTo(w * 0.8, h * 0.5); - c.lineTo(w * 0.2, h); - c.close(); - c.fillAndStroke(); - - var negating = mxUtils.getValue(this.style, 'negating', '0'); - - if (negating == '1') - { - var negSize = Math.min(w * 0.04, h * 0.07); - c.begin(); - c.ellipse(w * 0.8, h * 0.5 - negSize * 0.5, negSize, negSize); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeElectricalBuffer.prototype.cst.SHAPE_BUFFER2, mxShapeElectricalBuffer); - -mxShapeElectricalBuffer.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true) - ]; - -//********************************************************************************************************************************************************** -//Dual In-Line IC -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalDualInLineIC(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalDualInLineIC, mxShape); - -mxShapeElectricalDualInLineIC.prototype.cst = { - SHAPE_DUAL_INLINE_IC : 'mxgraph.electrical.logic_gates.dual_inline_ic' -}; - -mxShapeElectricalDualInLineIC.prototype.customProperties = [ - {name: 'pinStyle', dispName: 'Pin Style', type: 'enum', defVal:'line', - enumList:[ - {val:'line', dispName:'Line'}, - {val:'square', dispName:'Square'} - ]}, - {name: 'startPin', dispName: 'Starting Pin', type: 'enum', defVal:'n', - enumList:[ - {val:'n', dispName:'N'}, - {val:'e', dispName:'E'}, - {val:'s', dispName:'S'}, - {val:'w', dispName:'W'} - ]}, - {name: 'pinSpacing', dispName: 'Pin Spacing', type: 'float', min:1, defVal:20}, - {name: 'pinLabelType', dispName: 'Pin Label Type', type: 'enum', defVal:'gen', - enumList:[ - {val:'gen', dispName:'Generated'}, - {val:'cust', dispName:'Custom'} - ]}, - {name: 'labelCount', dispName: 'Number of Labels', type: 'int', defVal: 20, dependentProps: ['labelNames']}, - {name: 'labelNames', dispName: 'Label Names', type: 'staticArr', subType: 'string', sizeProperty: 'labelCount', subDefVal: 'a'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalDualInLineIC.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var fontColor = mxUtils.getValue(this.style, 'fontColor', '#000000'); - c.setFontColor(fontColor); - var startPin = mxUtils.getValue(this.style, 'startPin', 'n'); - var pinLabelType = mxUtils.getValue(this.style, 'pinLabelType', 'gen'); - var labelNames = mxUtils.getValue(this.style, 'labelNames', '').toString().split(','); - - c.begin(); - - if (startPin == 'n' || startPin == 's') - { - c.rect(10, 0, w - 20, h); - } - else - { - c.rect(0, 10, w, h - 20); - } - - c.fillAndStroke(); - - var pinSpacing = parseFloat(mxUtils.getValue(this.style, 'pinSpacing', '20')); - var pinStyle = mxUtils.getValue(this.style, 'pinStyle', 'line'); - var fontSize = parseFloat(mxUtils.getValue(this.style, 'fontSize', '12')); - - if (startPin == 'n' || startPin == 's') - { - var pinsOne = parseInt(h / pinSpacing); - } - else - { - var pinsOne = parseInt(w / pinSpacing); - } - - if (pinStyle == 'line') - { - c.setFontSize(fontSize * 0.8); - var pinCount = 1; - var currH = pinSpacing * 0.5; - - c.begin(); - - if (startPin == 'n' || startPin == 's') - { - while (pinCount * pinSpacing <= h) - { - c.moveTo(0, currH); - c.lineTo(10, currH); - c.moveTo(w - 10, currH); - c.lineTo(w, currH); - - if (startPin == 'n') - { - var currPinNum = pinCount; - } - else - { - var currPinNum = pinsOne + pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(20, currH, 0, 0, currPinNum.toString(), mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(20, currH, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_LEFT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - if (startPin == 'n') - { - var pc2 = 2 * pinsOne - pinCount + 1; - } - else - { - var pc2 = pinsOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(w - 20, currH, 0, 0, pc2.toString(), mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(w - 20, currH, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - } - else - { - while (pinCount * pinSpacing <= w) - { - c.moveTo(currH, 0); - c.lineTo(currH, 10); - c.moveTo(currH, h - 10); - c.lineTo(currH, h); - - if (startPin == 'e') - { - var currPinNum = pinsOne - pinCount + 1; - } - else - { - var currPinNum = 2 * pinsOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(currH, 20, 0, 0, currPinNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(currH, 20, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - if (startPin == 'e') - { - var pc2 = pinsOne + pinCount; - } - else - { - var pc2 = pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(currH, h - 20, 0, 0, pc2.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(currH, h - 20, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - } - - c.stroke(); - } - else - { - c.setFontSize(fontSize * 0.5); - var pinCount = 1; - var currH = pinSpacing * 0.5; - - if (startPin == 'n' || startPin == 's') - { - while (pinCount * pinSpacing <= h) - { - c.begin(); - c.rect(0, currH - pinSpacing * 0.25, 10, pinSpacing * 0.5); - c.fillAndStroke(); - - c.begin(); - c.rect(w - 10, currH - pinSpacing * 0.25, 10, pinSpacing * 0.5); - c.fillAndStroke(); - - if (startPin == 'n') - { - var currPinNum = pinCount; - } - else - { - var currPinNum = pinsOne + pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(5, currH + 1, 0, 0, currPinNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(5, currH + 1, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - if (startPin == 'n') - { - var pc2 = 2 * pinsOne - pinCount + 1; - } - else - { - var pc2 = pinsOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(w - 5, currH + 1, 0, 0, pc2.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(w - 5, currH + 1, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - } - else - { - while (pinCount * pinSpacing <= w) - { - c.begin(); - c.rect(currH - pinSpacing * 0.25, 0, pinSpacing * 0.5, 10); - c.fillAndStroke(); - - c.begin(); - c.rect(currH - pinSpacing * 0.25, h - 10, pinSpacing * 0.5, 10); - c.fillAndStroke(); - - if (startPin == 'e') - { - var currPinNum = pinsOne - pinCount + 1; - } - else - { - var currPinNum = 2 * pinsOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(currH, 5, 0, 0, currPinNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(currH, 5, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - if (startPin == 'e') - { - var pc2 = pinsOne + pinCount; - } - else - { - var pc2 = pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(currH, h - 5, 0, 0, pc2.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(currH, h - 5, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - } - - } - - c.setShadow(false); - - c.begin(); - - switch(startPin) { - case 'e': - if (h > 40) - { - c.moveTo(w, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 0, w, h * 0.5 + 10); - } - break; - case 's': - if (w > 40) - { - c.moveTo(w * 0.5 - 10, h); - c.arcTo(12, 12, 0, 0, 1, w * 0.5 + 10, h); - } - break; - case 'w': - if (h > 40) - { - c.moveTo(0, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, 0, h * 0.5 + 10); - } - break; - default: - if (w > 40) - { - c.moveTo(w * 0.5 - 10, 0); - c.arcTo(12, 12, 0, 0, 0, w * 0.5 + 10, 0); - } - } - - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeElectricalDualInLineIC.prototype.cst.SHAPE_DUAL_INLINE_IC, mxShapeElectricalDualInLineIC); - -mxShapeElectricalDualInLineIC.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - var pinSpacing = parseFloat(mxUtils.getValue(this.style, 'pinSpacing', '20')); - var startPin = mxUtils.getValue(this.style, 'startPin', 'n'); - var pinCount = 1; - var currH = pinSpacing * 0.5; - var pinsOne = parseInt(h / pinSpacing); - - if (startPin == 'n' || startPin == 's') - { - while (pinCount * pinSpacing <= h) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, currH)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, currH)); - currH = currH + pinSpacing; - pinCount++; - } - } - else - { - while (pinCount * pinSpacing <= w) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, currH, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, currH, 0)); - currH = currH + pinSpacing; - pinCount++; - } - } - - return (constr); -} - -//********************************************************************************************************************************************************** -//Quad Flat Package IC -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalQFPIC(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalQFPIC, mxShape); - -mxShapeElectricalQFPIC.prototype.cst = { - SHAPE_QFP_IC : 'mxgraph.electrical.logic_gates.qfp_ic' -}; - -mxShapeElectricalQFPIC.prototype.customProperties = [ - {name: 'pinStyle', dispName: 'Pin Style', type: 'enum', defVal:'line', - enumList:[ - {val:'line', dispName:'Line'}, - {val:'square', dispName:'Square'} - ]}, - {name: 'startPin', dispName: 'Starting Pin', type: 'enum', defVal:'sw', - enumList:[ - {val:'sw', dispName:'SW'}, - {val:'nw', dispName:'NW'}, - {val:'ne', dispName:'NE'}, - {val:'se', dispName:'SE'} - ]}, - {name: 'pinSpacing', dispName: 'Pin Spacing', type: 'float', min:1, defVal:20}, - {name: 'pinLabelType', dispName: 'Pin Label Type', type: 'enum', defVal:'gen', - enumList:[ - {val:'gen', dispName:'Generated'}, - {val:'cust', dispName:'Custom'} - ]}, - {name: 'labelCount', dispName: 'Number of Labels', type: 'int', defVal: 40, dependentProps: ['labelNames']}, - {name: 'labelNames', dispName: 'Label Names', type: 'staticArr', subType: 'string', sizeProperty: 'labelCount', subDefVal: 'a'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalQFPIC.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(15, 10); - c.lineTo(w - 15, 10); - c.lineTo(w - 10, 15); - c.lineTo(w - 10, h - 15); - c.lineTo(w - 15, h - 10); - c.lineTo(15, h - 10); - c.lineTo(10, h - 15); - c.lineTo(10, 15); - c.close(); - c.fillAndStroke(); - - var pinSpacing = parseFloat(mxUtils.getValue(this.style, 'pinSpacing', '20')); - var pinStyle = mxUtils.getValue(this.style, 'pinStyle', 'line'); - var pinLabelType = mxUtils.getValue(this.style, 'pinLabelType', 'gen'); - var labelNames = mxUtils.getValue(this.style, 'labelNames', '').toString().split(','); - var fontSize = parseFloat(mxUtils.getValue(this.style, 'fontSize', '12')); - var fontColor = mxUtils.getValue(this.style, 'fontColor', '#000000'); - c.setFontColor(fontColor); - var startPin = mxUtils.getValue(this.style, 'startPin', 'sw'); - - if (pinStyle == 'line') - { - c.setFontSize(fontSize * 0.8); - var pinCount = 1; - var currH = pinSpacing * 0.5 + 20; - - c.begin(); - - var pinsVOne = parseInt((h - pinSpacing - 40) / pinSpacing) + 1; - var pinsHOne = parseInt((w - pinSpacing - 40) / pinSpacing) + 1; - - while (currH <= h - pinSpacing * 0.5 - 20) - { - c.moveTo(0, currH); - c.lineTo(10, currH); - c.moveTo(w - 10, currH); - c.lineTo(w, currH); - - //west pins - switch(startPin) { - case 'nw': - var currPinNum = pinCount; - break; - case 'ne': - var currPinNum = pinsHOne + pinCount; - break; - case 'se': - var currPinNum = pinsVOne + pinsHOne + pinCount; - break; - default: - var currPinNum = pinsVOne + 2 * pinsHOne + pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(20, currH, 0, 0, currPinNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(20, currH, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - //east pins - switch(startPin) { - case 'nw': - var pc2 = pinsHOne + 2 * pinsVOne - pinCount + 1; - break; - case 'ne': - var pc2 = 2 * pinsHOne + 2 * pinsVOne - pinCount + 1; - break; - case 'se': - var pc2 = pinsVOne - pinCount + 1; - break; - default: - var pc2 = pinsHOne + pinsVOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(w - 20, currH, 0, 0, pc2.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(w - 20, currH, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - - var pinCount = 1; - var currH = pinSpacing * 0.5 + 20; - - while (currH <= w - pinSpacing * 0.5 - 20) - { - c.moveTo(currH, 0); - c.lineTo(currH, 10); - c.moveTo(currH, h - 10); - c.lineTo(currH, h); - - //south pins - switch(startPin) { - case 'nw': - var currPinNum = pinsVOne + pinCount; - break; - case 'ne': - var currPinNum = pinsVOne + pinsHOne + pinCount; - break; - case 'se': - var currPinNum = 2 * pinsVOne + pinsHOne + pinCount; - break; - default: - var currPinNum = pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(currH, h - 20, 0, 0, currPinNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(currH, h - 20, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - //north pins - switch(startPin) { - case 'nw': - var pc2 = 2 * pinsHOne + 2 * pinsVOne - pinCount + 1; - break; - case 'ne': - var pc2 = pinsHOne - pinCount + 1; - break; - case 'se': - var pc2 = pinsHOne + pinsVOne - pinCount + 1; - break; - default: - var pc2 = 2 * pinsHOne + pinsVOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(currH, 20, 0, 0, pc2.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(currH, 20, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - - c.stroke(); - } - else - { - c.setFontSize(fontSize * 0.5); - var pinCount = 1; - var currH = pinSpacing * 0.5 + 20; - var pinsVOne = parseInt((h - pinSpacing - 40) / pinSpacing) + 1; - var pinsHOne = parseInt((w - pinSpacing - 40) / pinSpacing) + 1; - - while (currH <= h - pinSpacing * 0.5 - 20) - { - c.begin(); - c.rect(0, currH - pinSpacing * 0.25, 10, pinSpacing * 0.5); - c.fillAndStroke(); - - c.begin(); - c.rect(w - 10, currH - pinSpacing * 0.25, 10, pinSpacing * 0.5); - c.fillAndStroke(); - - //west pins - switch(startPin) { - case 'nw': - var currPinNum = pinCount; - break; - case 'ne': - var currPinNum = pinsHOne + pinCount; - break; - case 'se': - var currPinNum = pinsVOne + pinsHOne + pinCount; - break; - default: - var currPinNum = pinsVOne + 2 * pinsHOne + pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(5, currH + 1, 0, 0, currPinNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(5, currH + 1, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - //east pins - switch(startPin) { - case 'nw': - var pc2 = pinsHOne + 2 * pinsVOne - pinCount + 1; - break; - case 'ne': - var pc2 = 2 * pinsHOne + 2 * pinsVOne - pinCount + 1; - break; - case 'se': - var pc2 = pinsVOne - pinCount + 1; - break; - default: - var pc2 = pinsHOne + pinsVOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(w - 5, currH + 1, 0, 0, pc2.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(w - 5, currH + 1, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - - var pinCount = 1; - var currH = pinSpacing * 0.5 + 20; - - while (currH <= w - pinSpacing * 0.5 - 20) - { - c.begin(); - c.rect(currH - pinSpacing * 0.25, 0, pinSpacing * 0.5, 10); - c.fillAndStroke(); - - c.begin(); - c.rect(currH - pinSpacing * 0.25, h - 10, pinSpacing * 0.5, 10); - c.fillAndStroke(); - - //south pins - switch(startPin) { - case 'nw': - var currPinNum = pinsVOne + pinCount; - break; - case 'ne': - var currPinNum = pinsVOne + pinsHOne + pinCount; - break; - case 'se': - var currPinNum = 2 * pinsVOne + pinsHOne + pinCount; - break; - default: - var currPinNum = pinCount; - } - - if (pinLabelType == 'gen') - { - c.text(currH, h - 4, 0, 0, currPinNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (currPinNum - 1 < labelNames.length) - { - c.text(currH, h - 4, 0, 0, labelNames[currPinNum - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - //north pins - switch(startPin) { - case 'nw': - var pc2 = 2 * pinsHOne + 2 * pinsVOne - pinCount + 1; - break; - case 'ne': - var pc2 = pinsHOne - pinCount + 1; - break; - case 'se': - var pc2 = pinsHOne + pinsVOne - pinCount + 1; - break; - default: - var pc2 = 2 * pinsHOne + pinsVOne - pinCount + 1; - } - - if (pinLabelType == 'gen') - { - c.text(currH, 6, 0, 0, pc2.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else if (pc2 - 1 < labelNames.length) - { - c.text(currH, 6, 0, 0, labelNames[pc2 - 1].toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - currH = currH + pinSpacing; - pinCount++; - } - } - - c.setShadow(false); - - if (w > 40) - { - c.setFillColor(mxUtils.getValue(this.style, 'strokeColor', '#000000')); - - c.begin(); - - switch(startPin) { - case 'nw': - c.ellipse(15, 15, 10, 10); - break; - case 'ne': - c.ellipse(w - 25, 15, 10, 10); - break; - case 'se': - c.ellipse(w - 25, h - 25, 10, 10); - break; - default: - c.ellipse(15, h - 25, 10, 10); - } - - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeElectricalQFPIC.prototype.cst.SHAPE_QFP_IC, mxShapeElectricalQFPIC); - -mxShapeElectricalQFPIC.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - var pinSpacing = parseFloat(mxUtils.getValue(this.style, 'pinSpacing', '20')); - var pinCount = 1; - var currH = pinSpacing * 0.5 + 20; - - var pinsOne = parseInt(h / pinSpacing); - - while (currH <= h - pinSpacing * 0.5 - 20) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, currH)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, currH)); - currH = currH + pinSpacing; - } - - var pinCount = 1; - var currH = pinSpacing * 0.5 + 20; - - while (currH <= w - pinSpacing * 0.5 - 20) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, currH, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, currH, 0)); - currH = currH + pinSpacing; - } - - - return (constr); -} - -//********************************************************************************************************************************************************** -//Mux -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalMux(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalMux, mxShape); - -mxShapeElectricalMux.prototype.cst = { - SHAPE_MUX : 'mxgraph.electrical.abstract.mux2' -}; - -mxShapeElectricalMux.prototype.customProperties = [ - {name: 'operation', dispName: 'Operation', type: 'enum', defVal:'mux', - enumList:[ - {val:'mux', dispName:'Mux'}, - {val:'demux', dispName:'Demux'} - ]}, - {name: 'selectorPins', dispName: 'Selector Pins', type: 'int', min:1, max:8, defVal:1}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalMux.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var selectorPins = parseInt(mxUtils.getValue(this.style, 'selectorPins', '1')); - var operation = mxUtils.getValue(this.style, 'operation', 'mux'); - var fontSize = parseFloat(mxUtils.getValue(this.style, 'fontSize', '12')); - c.setFontSize(fontSize * 0.5); - var fontColor = mxUtils.getValue(this.style, 'fontColor', '#000000'); - c.setFontColor(fontColor); - var dir = mxUtils.getValue(this.style, 'direction', 'east'); - var txtRot = 0; - - switch(dir) - { - case 'south' : - txtRot = 270; - break; - case 'west' : - txtRot = 180; - break; - case 'north' : - txtRot = 90; - break; - } - - switch(operation) - { - case 'demux': - c.begin(); - c.moveTo(w - 10, 0); - c.lineTo(10, h * 0.1); - c.lineTo(10, h * 0.9 - 10); - c.lineTo(w - 10, h - 10); - c.close(); - c.fillAndStroke(); - break; - default: - c.begin(); - c.moveTo(10, 0); - c.lineTo(w - 10, h * 0.1); - c.lineTo(w - 10, h * 0.9 - 10); - c.lineTo(10, h - 10); - c.close(); - c.fillAndStroke(); - }; - - var numInputs = 1; - var numOutputs = 1; - - if (operation == 'mux') - { - numInputs = Math.pow(2, selectorPins); - var spacing = (h - 16) / numInputs; - } - else - { - numOutputs = Math.pow(2, selectorPins); - var spacing = (h - 16) / numOutputs; - } - - var currH = 3 + spacing * 0.5; - - c.begin(); - - if (numInputs == 1) - { - c.moveTo(0, (h - 10) * 0.5); - c.lineTo(10, (h - 10) * 0.5); - } - else - { - for (var i = 0; i < numInputs; i++) - { - c.moveTo(0, currH); - c.lineTo(10, currH); - c.text(14, currH + 1, 0, 0, '' + i.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, txtRot); - currH = currH + spacing; - } - } - - if (numOutputs == 1) - { - c.moveTo(w - 10, (h - 10) * 0.5); - c.lineTo(w, (h - 10) * 0.5); - } - else - { - for (var i = 0; i < numOutputs; i++) - { - c.moveTo(w - 10, currH); - c.lineTo(w, currH); - c.text(w - 14, currH + 1, 0, 0, '' + i.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, txtRot); - currH = currH + spacing; - } - } - - var spacing = (w - 20) / selectorPins; - var currW = 10 + spacing * 0.5; - - for (var i = 0; i < selectorPins; i++) - { - if (operation == 'mux') - { - c.moveTo(currW, h - 10 - (currW - 10) / (w - 20) * h * 0.1); - } - else - { - c.moveTo(currW, h - 10 - (w - currW - 10) / (w - 20) * h * 0.1); - } - - c.lineTo(currW, h); - - c.text(currW + 5, h -4, 0, 0, 'S' + (selectorPins - i - 1).toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, txtRot); - currW = currW + spacing; - } - - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeElectricalMux.prototype.cst.SHAPE_MUX, mxShapeElectricalMux); - -mxShapeElectricalMux.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var pinRange = (h - 16) / h; - var selectorPins = parseInt(mxUtils.getValue(this.style, 'selectorPins', '1')); - var operation = mxUtils.getValue(this.style, 'operation', 'mux'); - var dir = mxUtils.getValue(this.style, 'direction', 'east'); - - var numInputs = 1; - var numOutputs = 1; - - if (operation == 'mux') - { - numInputs = Math.pow(2, selectorPins); - var spacing = pinRange / numInputs; - } - else - { - numOutputs = Math.pow(2, selectorPins); - var spacing = pinRange / numOutputs; - } - - var currH = spacing * 0.5; - - if (numInputs == 1) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5 * (h - 10) / h), false, 0, 0)); - } - else - { - for (var i = 0; i < numInputs; i++) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, currH), false, null, 0, 3)); - currH = currH + spacing; - } - } - - if (numOutputs == 1) - { - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, 0, -5)); - } - else - { - for (var i = 0; i < numOutputs; i++) - { - constr.push(new mxConnectionConstraint(new mxPoint(1, currH), false, null, 0, 3)); - currH = currH + spacing; - } - } - - var spacing = (w - 20) / (w * selectorPins); - var currW = spacing * 0.5; - - for (var i = 0; i < selectorPins; i++) - { - constr.push(new mxConnectionConstraint(new mxPoint(currW, 1), false, null, 10, 0)); - currW = currW + spacing; - } - - return (constr); -} - -//********************************************************************************************************************************************************** -//Battery stack -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeElectricalBatteryStack(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeElectricalBatteryStack, mxShape); - -mxShapeElectricalBatteryStack.prototype.cst = { - SHAPE_BATTERY_STACK : 'mxgraph.electrical.miscellaneous.batteryStack' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeElectricalBatteryStack.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var bw = h * 0.3; - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - var dashed = mxUtils.getValue(this.style, mxConstants.STYLE_DASHED, '0'); - - var bNum = Math.floor((w - 20) / bw); - var startX = (w - bNum * bw) * 0.5; - - if (bNum > 0) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(startX + bw * 0.2, h * 0.5); - c.moveTo(w - startX - bw * 0.2, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - var currX = startX; - c.setFillColor(strokeColor); - - for (var i = 0; i < bNum; i++) - { - - c.rect(currX + bw * 0.2, h * 0.25, bw * 0.2, h * 0.5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(currX + bw * 0.8, 0); - c.lineTo(currX + bw * 0.8, h); - c.stroke(); - - if (i > 0) - { - c.setDashed('1'); - c.begin(); - c.moveTo(currX - bw * 0.2, h * 0.5); - c.lineTo(currX + bw * 0.2, h * 0.5); - c.stroke(); - c.setDashed(dashed); - } - - currX = currX + bw; - } - } -}; - -mxCellRenderer.registerShape(mxShapeElectricalBatteryStack.prototype.cst.SHAPE_BATTERY_STACK, mxShapeElectricalBatteryStack); - -mxShapeElectricalBatteryStack.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true) - ]; diff --git a/dist/libs/drawio/shapes/mxFloorplan.js b/dist/libs/drawio/shapes/mxFloorplan.js deleted file mode 100644 index 898ca095..00000000 --- a/dist/libs/drawio/shapes/mxFloorplan.js +++ /dev/null @@ -1,763 +0,0 @@ -/** - * $Id: mxFloorplan.js,v 1.3 2014/02/17 17:05:39 mate Exp $ - * Copyright (c) 2006-2014, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Wall -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanWall(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanWall, mxShape); - -mxFloorplanWall.prototype.cst = { - WALL : 'mxgraph.floorplan.wall', - WALL_THICKNESS : "wallThickness" -}; - -mxFloorplanWall.prototype.customProperties = [ - {name:'wallThickness', dispName:'Thickness', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanWall.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanWall.prototype.background = function(c, x, y, w, h) -{ - var wallTh = parseFloat(mxUtils.getValue(this.style, mxFloorplanWall.prototype.cst.WALL_THICKNESS, '10')); - c.rect(0, h * 0.5 - wallTh * 0.5, w, wallTh); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanWall.prototype.cst.WALL, mxFloorplanWall); - -//********************************************************************************************************************************************************** -//Wall Corner -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanWallCorner(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanWallCorner, mxShape); - -mxFloorplanWallCorner.prototype.cst = { - WALL_CORNER : 'mxgraph.floorplan.wallCorner', - WALL_THICKNESS : "wallThickness" -}; - -mxFloorplanWallCorner.prototype.customProperties = [ - {name:'wallThickness', dispName:'Thickness', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanWallCorner.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanWallCorner.prototype.background = function(c, x, y, w, h) -{ - var wallTh = parseFloat(mxUtils.getValue(this.style, mxFloorplanWallCorner.prototype.cst.WALL_THICKNESS, '10')); - - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, wallTh); - c.lineTo(wallTh, wallTh); - c.lineTo(wallTh, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanWallCorner.prototype.cst.WALL_CORNER, mxFloorplanWallCorner); - -//********************************************************************************************************************************************************** -//Wall U -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanWallU(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanWallU, mxShape); - -mxFloorplanWallU.prototype.cst = { - WALL_U : 'mxgraph.floorplan.wallU', - WALL_THICKNESS : "wallThickness" -}; - -mxFloorplanWallU.prototype.customProperties = [ - {name:'wallThickness', dispName:'Thickness', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanWallU.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanWallU.prototype.background = function(c, x, y, w, h) -{ - var wallTh = parseFloat(mxUtils.getValue(this.style, mxFloorplanWallU.prototype.cst.WALL_THICKNESS, '10')); - - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(w - wallTh, h); - c.lineTo(w - wallTh, wallTh); - c.lineTo(wallTh, wallTh); - c.lineTo(wallTh, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanWallU.prototype.cst.WALL_U, mxFloorplanWallU); - -//********************************************************************************************************************************************************** -//Room -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanRoom(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanRoom, mxShape); - -mxFloorplanRoom.prototype.cst = { - ROOM : 'mxgraph.floorplan.room', - WALL_THICKNESS : "wallThickness" -}; - -mxFloorplanRoom.prototype.customProperties = [ - {name:'wallThickness', dispName:'Thickness', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanRoom.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanRoom.prototype.background = function(c, x, y, w, h) -{ - var wallTh = parseFloat(mxUtils.getValue(this.style, mxFloorplanRoom.prototype.cst.WALL_THICKNESS, '10')); - - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.close(); - c.moveTo(wallTh, wallTh); - c.lineTo(wallTh, h - wallTh); - c.lineTo(w - wallTh, h - wallTh); - c.lineTo(w - wallTh, wallTh); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanRoom.prototype.cst.ROOM, mxFloorplanRoom); - -//********************************************************************************************************************************************************** -//Window -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanWindow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanWindow, mxShape); - -mxFloorplanWindow.prototype.cst = { - WINDOW : 'mxgraph.floorplan.window', - WALL_THICKNESS : "wallThickness" -}; - -mxFloorplanWindow.prototype.customProperties = [ - {name:'wallThickness', dispName:'Thickness', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanWindow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanWindow.prototype.background = function(c, x, y, w, h) -{ - var wallTh = parseFloat(mxUtils.getValue(this.style, mxFloorplanWindow.prototype.cst.WALL_THICKNESS, '10')); - c.rect(0, h * 0.5 - wallTh * 0.5, w, wallTh); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanWindow.prototype.cst.WINDOW, mxFloorplanWindow); - -//********************************************************************************************************************************************************** -//Dimension -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanDimension(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanDimension, mxShape); - -mxFloorplanDimension.prototype.cst = { - DIMENSION : 'mxgraph.floorplan.dimension' -}; - -mxFloorplanDimension.prototype.customProperties = [ - {name:'wallThickness', dispName:'Thickness', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanDimension.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanDimension.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 20); - c.lineTo(w, 20); - c.moveTo(10, 15); - c.lineTo(0, 20); - c.lineTo(10, 25); - c.moveTo(w - 10, 15); - c.lineTo(w, 20); - c.lineTo(w - 10, 25); - c.moveTo(0, 15); - c.lineTo(0, h); - c.moveTo(w, 15); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanDimension.prototype.cst.DIMENSION, mxFloorplanDimension); - -//********************************************************************************************************************************************************** -//Dimension Bottom -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanDimensionBottom(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanDimensionBottom, mxShape); - -mxFloorplanDimensionBottom.prototype.cst = { - DIMENSION : 'mxgraph.floorplan.dimensionBottom' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanDimensionBottom.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanDimensionBottom.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h - 20); - c.lineTo(w, h - 20); - c.moveTo(10, h - 15); - c.lineTo(0, h - 20); - c.lineTo(10, h - 25); - c.moveTo(w - 10, h - 15); - c.lineTo(w, h - 20); - c.lineTo(w - 10, h - 25); - c.moveTo(0, h - 15); - c.lineTo(0, 0); - c.moveTo(w, h - 15); - c.lineTo(w, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanDimensionBottom.prototype.cst.DIMENSION, mxFloorplanDimensionBottom); - -//********************************************************************************************************************************************************** -//Stairs -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanStairs(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanStairs, mxShape); - -mxFloorplanStairs.prototype.cst = { - STAIRS : 'mxgraph.floorplan.stairs' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanStairs.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var minW = Math.max(w, 50); - this.background(c, x, y, minW, h); -}; - -mxFloorplanStairs.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); - - var step = 25; - c.setShadow(false); - - c.begin(); - - for (var i = 25; i < w; i = i + step) - { - c.moveTo(i, 0); - c.lineTo(i, h); - } - - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.moveTo(w - step, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - step, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanStairs.prototype.cst.STAIRS, mxFloorplanStairs); - -////********************************************************************************************************************************************************** -////Stairs Double -////********************************************************************************************************************************************************** -///** -//* Extends mxShape. -//*/ -//function mxFloorplanStairsRest(bounds, fill, stroke, strokewidth) -//{ -// mxShape.call(this); -// this.bounds = bounds; -// this.fill = fill; -// this.stroke = stroke; -// this.strokewidth = (strokewidth != null) ? strokewidth : 1; -//}; -// -///** -//* Extends mxShape. -//*/ -//mxUtils.extend(mxFloorplanStairsRest, mxShape); -// -//mxFloorplanStairsRest.prototype.cst = { -// STAIRS : 'mxgraph.floorplan.stairsRest' -//}; -// -// -// -///** -//* Function: paintVertexShape -//* -//* Paints the vertex shape. -//*/ -//mxFloorplanStairsRest.prototype.paintVertexShape = function(c, x, y, w, h) -//{ -// c.translate(x, y); -// var minW = Math.max(w, 50, h); -// var minH = Math.min(w, h); -// this.background(c, x, y, minW, h); -//}; -// -//mxFloorplanStairsRest.prototype.background = function(c, x, y, w, h) -//{ -// c.rect(0, 0, w, h); -// c.fillAndStroke(); -// -// var step = 25; -// c.setShadow(false); -// -// c.begin(); -// -// for (var i = 25; i < w - h * 0.5; i = i + step) -// { -// c.moveTo(i, 0); -// c.lineTo(i, h); -// } -// -// c.stroke(); -// -// c.begin(); -// c.moveTo(0, h * 0.5); -// c.lineTo(w, h * 0.5); -// -// c.moveTo(w, 0); -// c.lineTo(w - h * 0.5, h * 0.5); -// c.lineTo(w, h); -// -// c.moveTo(w - h * 0.5, 0); -// c.lineTo(w - h * 0.5, h); -// -// c.moveTo(0, h * 0.5); -// c.lineTo(w, h * 0.5); -// c.stroke(); -//}; -// -//mxCellRenderer.registerShape(mxFloorplanStairsRest.prototype.cst.STAIRS, mxFloorplanStairsRest); - -//********************************************************************************************************************************************************** -//Stairs -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanStairsRest(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanStairsRest, mxShape); - -mxFloorplanStairsRest.prototype.cst = { - STAIRS : 'mxgraph.floorplan.stairsRest' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanStairsRest.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var minW = Math.max(w, 50, h); - var minH = Math.min(w, h); - this.background(c, x, y, minW, h); -}; - -mxFloorplanStairsRest.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); - - var step = 25; - c.setShadow(false); - - c.begin(); - - for (var i = 25; i < w - h * 0.5; i = i + step) - { - c.moveTo(i, 0); - c.lineTo(i, h); - } - - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - - c.moveTo(w, 0); - c.lineTo(w - h * 0.5, h * 0.5); - c.lineTo(w, h); - - c.moveTo(w - h * 0.5, 0); - c.lineTo(w - h * 0.5, h); - - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanStairsRest.prototype.cst.STAIRS, mxFloorplanStairsRest); - -//********************************************************************************************************************************************************** -//Door, Left -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanDoorLeft(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanDoorLeft, mxShape); - -mxFloorplanDoorLeft.prototype.cst = { - DOOR_LEFT : 'mxgraph.floorplan.doorLeft' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanDoorLeft.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanDoorLeft.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, 5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w, 5); - c.arcTo(w, w, 0, 0, 1, 0, 5 + w); - c.lineTo(0, 5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanDoorLeft.prototype.cst.DOOR_LEFT, mxFloorplanDoorLeft); - -//********************************************************************************************************************************************************** -//Door, Right -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanDoorRight(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanDoorRight, mxShape); - -mxFloorplanDoorRight.prototype.cst = { - DOOR_RIGHT : 'mxgraph.floorplan.doorRight' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanDoorRight.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanDoorRight.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, 5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, 5); - c.arcTo(w, w, 0, 0, 0, w, 5 + w); - c.lineTo(w, 5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanDoorRight.prototype.cst.DOOR_RIGHT, mxFloorplanDoorRight); - -//********************************************************************************************************************************************************** -//Door, Double -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxFloorplanDoorDouble(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxFloorplanDoorDouble, mxShape); - -mxFloorplanDoorDouble.prototype.cst = { - DOOR_DOUBLE : 'mxgraph.floorplan.doorDouble' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxFloorplanDoorDouble.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxFloorplanDoorDouble.prototype.background = function(c, x, y, w, h) -{ - var halfW = w * 0.5; - c.rect(0, 0, w, 5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(halfW, 0); - c.lineTo(halfW, 5); - c.moveTo(halfW, 5); - c.arcTo(halfW, halfW, 0, 0, 1, 0, 5 + halfW); - c.lineTo(0, 5); - c.moveTo(halfW, 5); - c.arcTo(halfW, halfW, 0, 0, 0, w, 5 + halfW); - c.lineTo(w, 5); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxFloorplanDoorDouble.prototype.cst.DOOR_DOUBLE, mxFloorplanDoorDouble); diff --git a/dist/libs/drawio/shapes/mxFlowchart.js b/dist/libs/drawio/shapes/mxFlowchart.js deleted file mode 100644 index ec607ddb..00000000 --- a/dist/libs/drawio/shapes/mxFlowchart.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * $Id: mxFlowchart.js,v 1.5 2016/04/1 12:32:06 mate Exp $ - * Copyright (c) 2006-2018, JGraph Ltd - */ -//********************************************************************************************************************************************************** -// Document 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeFlowchartDocument2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.size = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeFlowchartDocument2, mxActor); - -mxShapeFlowchartDocument2.prototype.cst = {DOCUMENT2 : 'mxgraph.flowchart.document2'}; - -mxShapeFlowchartDocument2.prototype.customProperties = [ - {name: 'size', dispName: 'Wave Size', type: 'float', min:0, max:1, defVal:0.25}, -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeFlowchartDocument2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = h * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'size', this.size)))); - var fy = 1.4; - var r = 5; - - c.begin(); - c.moveTo(w - r, 0); - c.arcTo(r, r, 0, 0, 1, w, r); - c.lineTo(w, h - dy / 2); - c.quadTo(w * 3 / 4, h - dy * fy, w / 2, h - dy / 2); - c.quadTo(w / 4, h - dy * (1 - fy), 0, h - dy / 2); - c.lineTo(0, dy / 2); - c.lineTo(0, r); - c.arcTo(r, r, 0, 0, 1, r, 0); - c.close(); - c.fillAndStroke(); - -}; - -mxCellRenderer.registerShape(mxShapeFlowchartDocument2.prototype.cst.DOCUMENT2, mxShapeFlowchartDocument2); - -mxShapeFlowchartDocument2.prototype.constraints = - [new mxConnectionConstraint(new mxPoint(0.25, 0), false), - new mxConnectionConstraint(new mxPoint(0.5, 0), false), - new mxConnectionConstraint(new mxPoint(0.75, 0), false), - new mxConnectionConstraint(new mxPoint(0, 0.25), false), - new mxConnectionConstraint(new mxPoint(0, 0.5), false), - new mxConnectionConstraint(new mxPoint(0, 0.75), false), - new mxConnectionConstraint(new mxPoint(1, 0.25), false), - new mxConnectionConstraint(new mxPoint(1, 0.5), false), - new mxConnectionConstraint(new mxPoint(1, 0.75), false)]; - -Graph.handleFactory[mxShapeFlowchartDocument2.prototype.cst.DOCUMENT2] = function(state) -{ - var handles = [Graph.createHandle(state, ['size'], function(bounds) - { - var size = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'size', this.size)))); - - return new mxPoint(bounds.x + 3 * bounds.width / 4, bounds.y + (1 - size) * bounds.height); - - }, function(bounds, pt) - { - this.state.style['size'] = Math.max(0, Math.min(1, (bounds.y + bounds.height - pt.y) / bounds.height)); - })]; - - return handles; -}; diff --git a/dist/libs/drawio/shapes/mxGCP2.js b/dist/libs/drawio/shapes/mxGCP2.js deleted file mode 100644 index 48b64087..00000000 --- a/dist/libs/drawio/shapes/mxGCP2.js +++ /dev/null @@ -1,370 +0,0 @@ -/** - * $Id: mxGCP2.js,v 1.0 2018/08/21 13:05:39 mate Exp $ - * Copyright (c) 2006-2018, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//double rect -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGCP2DoubleRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGCP2DoubleRect, mxShape); - -mxShapeGCP2DoubleRect.prototype.cst = { - SHAPE_DOUBLE_RECT : 'mxgraph.gcp2.doubleRect' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGCP2DoubleRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dx = 8; - var dy = 8; - - w = w - dx; - h = h - dy; - - c.translate(x, y); - c.begin(); - c.roundrect(dx, dy, w , h, 1, 1); - c.fillAndStroke(); - c.roundrect(0, 0, w, h, 1, 1); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeGCP2DoubleRect.prototype.cst.SHAPE_DOUBLE_RECT, mxShapeGCP2DoubleRect); -mxShapeGCP2DoubleRect.prototype.constraints = mxRectangleShape.prototype.constraints; - -//********************************************************************************************************************************************************** -//hexagonal icon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGCP2HexIcon(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGCP2HexIcon, mxShape); - -mxShapeGCP2HexIcon.prototype.cst = { - HEX_ICON : 'mxgraph.gcp2.hexIcon' -}; - -mxShapeGCP2HexIcon.prototype.customProperties = [ - {name: 'instNum', dispName: 'Number of instances', type: 'int', min: 0, defVal: 0}, - {name: 'prType', dispName: 'Instance Type', defVal: 'standard', type: 'enum', - enumList: [{val: 'standard', dispName: 'Standard'}, - {val: 'dynamic', dispName: 'Dynamic'}, - {val: 'multiple', dispName: 'Multiple'}, - {val: 'shared', dispName: 'Shared'}, - {val: 'replica', dispName: 'Replica'}, - {val: 'dynamic2', dispName: 'Dynamic 2'}, - {val: 'dynamic3', dispName: 'Dynamic 3'}, - {val: 'highmem', dispName: 'High-Mem'}, - {val: 'highcomp', dispName: 'High-Comp'}, - {val: 'backend', dispName: 'Backend'}, - {val: 'input', dispName: 'Input'}]}, - {name: 'prIcon', dispName: 'Instance Icon', defVal: 'compute_engine', type: 'enum', - enumList: [{val: 'compute_engine', dispName: 'Compute Engine'}, - {val: 'gpu', dispName: 'GPU'}, - {val: 'app_engine', dispName: 'App Engine'}, - {val: 'cloud_functions', dispName: 'Cloud Functions'}, - {val: 'container_engine', dispName: 'Kubernetes Engine'}, - {val: 'container_optimized_os', dispName: 'Container-Optimized OS'}, - {val: 'api_analytics', dispName: 'API Analytics'}, - {val: 'apigee_sense', dispName: 'Apigee Sense'}, - {val: 'api_monetization', dispName: 'API Monetization'}, - {val: 'cloud_endpoints', dispName: 'Cloud Endpoints'}, - {val: 'apigee_api_platform', dispName: 'Apigee API Platform'}, - {val: 'developer_portal', dispName: 'Developer Portal'}, - {val: 'cloud_iam', dispName: 'Cloud IAM'}, - {val: 'beyondcorp', dispName: 'BeyondCorp'}, - {val: 'cloud_iam', dispName: 'Cloud Resource Manager'}, - {val: 'data_loss_prevention_api', dispName: 'Data Loss Prevention API'}, - {val: 'cloud_security_scanner', dispName: 'Cloud Security Scanner'}, - {val: 'key_management_service', dispName: 'Key Management Service'}, - {val: 'identity_aware_proxy', dispName: 'Identity-Aware Proxy'}, - {val: 'security_key_enforcement', dispName: 'Security Key Enforcement'}, - {val: 'bigquery', dispName: 'BigQuery'}, - {val: 'cloud_datalab', dispName: 'Cloud Datalab'}, - {val: 'cloud_dataflow', dispName: 'Cloud Dataflow'}, - {val: 'cloud_pubsub', dispName: 'Cloud Pub/Sub'}, - {val: 'cloud_dataproc', dispName: 'Cloud Dataproc'}, - {val: 'genomics', dispName: 'Genomics'}, - {val: 'cloud_dataprep', dispName: 'Cloud Dataprep'}, - {val: 'data_studio', dispName: 'Data Studio'}, - {val: 'transfer_appliance', dispName: 'Transfer Appliance'}, - {val: 'cloud_machine_learning', dispName: 'Cloud Machine Learning'}, - {val: 'cloud_natural_language_api', dispName: 'Cloud Natural Language API'}, - {val: 'cloud_vision_api', dispName: 'Vision API'}, - {val: 'cloud_translation_api', dispName: 'Translation API'}, - {val: 'cloud_speech_api', dispName: 'Speech API'}, - {val: 'cloud_jobs_api', dispName: 'Jobs API'}, - {val: 'cloud_video_intelligence_api', dispName: 'Cloud Video Intelligence API'}, - {val: 'advanced_solutions_lab', dispName: 'Advanced Solutions Lab'}, - {val: 'cloud_iot_core', dispName: 'Cloud IoT Core'}, - {val: 'cloud_storage', dispName: 'Cloud Storage'}, - {val: 'cloud_sql', dispName: 'Cloud SQL'}, - {val: 'cloud_bigtable', dispName: 'Cloud Bigtable'}, - {val: 'cloud_spanner', dispName: 'Cloud Spanner'}, - {val: 'cloud_datastore', dispName: 'Cloud Datastore'}, - {val: 'persistent_disk', dispName: 'Persistent Disk'}, - {val: 'cloud_memorystore', dispName: 'Cloud Memorystore'}, - {val: 'cloud_filestore', dispName: 'Cloud Filestore'}, - {val: 'stackdriver', dispName: 'Stackdriver'}, - {val: 'cloud_deployment_manager', dispName: 'Monitoring'}, - {val: 'cloud_deployment_manager', dispName: 'Deployment Manager'}, - {val: 'logging', dispName: 'Logging'}, - {val: 'placeholder', dispName: 'Cloud Console'}, - {val: 'error_reporting', dispName: 'Error Reporting'}, - {val: 'placeholder', dispName: 'Cloud Shell'}, - {val: 'trace', dispName: 'Trace'}, - {val: 'placeholder', dispName: 'Cloud Mobile App'}, - {val: 'profiler', dispName: 'Profiler'}, - {val: 'placeholder', dispName: 'Billing API'}, - {val: 'cloud_apis', dispName: 'Cloud APIs'}, - {val: 'virtual_private_cloud', dispName: 'Virtual Private Cloud'}, - {val: 'dedicated_interconnect', dispName: 'Dedicated Interconnect'}, - {val: 'cloud_load_balancing', dispName: 'Cloud Load Balancing'}, - {val: 'cloud_dns', dispName: 'Cloud DNS'}, - {val: 'cloud_cdn', dispName: 'Cloud CDN'}, - {val: 'cloud_network', dispName: 'Cloud Network'}, - {val: 'cloud_external_ip_addresses', dispName: 'Cloud External IP Addresses'}, - {val: 'cloud_routes', dispName: 'Cloud Routes'}, - {val: 'cloud_firewall_rules', dispName: 'Cloud Firewall Rules'}, - {val: 'cloud_vpn', dispName: 'Cloud VPN'}, - {val: 'cloud_router', dispName: 'Cloud Router'}, - {val: 'cloud_armor', dispName: 'Cloud Armor'}, - {val: 'standard_network_tier', dispName: 'Standard Network Tier'}, - {val: 'premium_network_tier', dispName: 'Premium Network Tier'}, - {val: 'partner_interconnect', dispName: 'Partner Interconnect'}, - {val: 'placeholder', dispName: 'Cloud SDK'}, - {val: 'container_builder', dispName: 'Cloud Build'}, - {val: 'cloud_tools_for_powershell', dispName: 'Cloud Tools for Visual Studio'}, - {val: 'placeholder', dispName: 'Cloud Source Repositories'}, - {val: 'placeholder', dispName: 'Maven App Engine Plugin'}, - {val: 'placeholder', dispName: 'Cloud Tools for Eclipse'}, - {val: 'placeholder', dispName: 'Cloud Tools for IntelliJ'}, - {val: 'placeholder', dispName: 'Cloud Test Lab'}, - {val: 'cloud_tools_for_powershell', dispName: 'Cloud Tools for PowerShell'}, - {val: 'cloud_tools_for_powershell', dispName: 'IDE Plugins'}, - {val: 'container_registry', dispName: 'Container Registry'}, - {val: 'cloud_iot_edge', dispName: 'Cloud IoT Edge'}, - {val: 'cloud_firestore', dispName: 'Cloud Firestore'}, - {val: 'cloud_run', dispName: 'Cloud Run'}, - {val: 'gke_on_prem', dispName: 'GKE-on-Prem'}, - {val: 'cloud_data_catalog', dispName: 'Cloud Data Catalog'}, - {val: 'cloud_data_fusion', dispName: 'Cloud Data Fusion'}, - {val: 'ai_hub', dispName: 'AI Hub'}, - {val: 'automl_video_intelligence', dispName: 'AutoML Video Intelligence'}, - {val: 'automl_natural_language', dispName: 'AutoML Natural Language'}, - {val: 'automl_tables', dispName: 'AutoML Tables'}, - {val: 'automl_translation', dispName: 'AutoML Translation'}, - {val: 'automl_vision', dispName: 'AutoML Vision'}, - {val: 'recommendations_ai', dispName: 'Recommendations AI'}, - {val: 'cloud_inference_api', dispName: 'Cloud Inference API'}, - {val: 'cloud_service_mesh', dispName: 'Cloud Service Mesh'}, - {val: 'cloud_nat', dispName: 'Cloud NAT'}, - {val: 'traffic_director', dispName: 'Traffic Director'}, - {val: 'cloud_test_lab', dispName: 'Cloud Test Lab'}, - {val: 'cloud_code', dispName: 'Cloud Code'}, - {val: 'cloud_tasks', dispName: 'Cloud Tasks'}, - {val: 'placeholder', dispName: 'Gradle App Engine Plugin'}]} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGCP2HexIcon.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var prIcon = mxUtils.getValue(this.state.style, 'prIcon', 'compute_engine'); - var prType = mxUtils.getValue(this.state.style, 'prType', ''); - var instNum = parseInt(mxUtils.getValue(this.state.style, 'instNum', 0)); - var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff'); - var opacity = mxUtils.getValue(this.state.style, 'opacity', '100'); - var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', 'none'); - var strokeWidth = mxUtils.getValue(this.state.style, 'strokeWidth', 1); - var iconSize = Math.min(w, h); - - switch(prType) - { - case 'dynamic': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_2'); - c.setAlpha(opacity * 0.5 / 100); - c.setStrokeColor('none'); - bgSt1.drawShape(c, this, w * 0.21, h * 0.12, w * 0.58, h * 0.76); - break; - case 'multiple': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_2'); - c.setAlpha(opacity * 0.5 / 100); - c.setStrokeColor('none'); - bgSt1.drawShape(c, this, w * 0.21, h * 0.12, w * 0.58, h * 0.76); - var bgSt2 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_3'); - c.setAlpha(opacity * 0.7 / 100); - c.setStrokeColor('none'); - bgSt2.drawShape(c, this, w * 0.17, h * 0.13, w * 0.66, h * 0.74); - break; - case 'shared': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_1'); - this.style[mxConstants.STYLE_STROKEWIDTH] = iconSize * 0.038; - c.setAlpha(opacity * 0.4 / 100); - c.setStrokeColor(fillColor); - c.setFillColor('none'); - bgSt1.drawShape(c, this, w * 0.02, h * 0, w * 0.96, h); - var bgSt2 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_2'); - c.setAlpha(opacity * 0.7 / 100); - bgSt2.drawShape(c, this, w * 0.14, h * 0.01, w * 0.72, h * 0.98); - c.setAlpha(opacity / 100); - c.setFillColor('#ffffff'); - bgSt1.drawShape(c, this, w * 0.13, h * 0.12, w * 0.74, h * 0.76); - this.style[mxConstants.STYLE_STROKEWIDTH] = strokeWidth; - break; - case 'replica': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_1'); - this.style[mxConstants.STYLE_STROKEWIDTH] = iconSize * 0.038; - c.setAlpha(opacity * 0.4 / 100); - c.setStrokeColor(fillColor); - c.setFillColor('none'); - bgSt1.drawShape(c, this, w * 0.02, h * 0, w * 0.96, h); - c.setAlpha(opacity * 0.7 / 100); - bgSt1.drawShape(c, this, w * 0.075, h * 0.06, w * 0.85, h * 0.88); - c.setAlpha(opacity / 100); - c.setFillColor('#ffffff'); - bgSt1.drawShape(c, this, w * 0.13, h * 0.12, w * 0.74, h * 0.76); - this.style[mxConstants.STYLE_STROKEWIDTH] = strokeWidth; - break; - case 'dynamic2': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_2'); - c.setAlpha(opacity * 0.5 / 100); - c.setStrokeColor('none'); - bgSt1.drawShape(c, this, w * 0.14, h * 0.01, w * 0.72, h * 0.98); - var bgSt2 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_1'); - this.style[mxConstants.STYLE_STROKEWIDTH] = iconSize * 0.01; - c.setStrokeColor(fillColor); - c.setAlpha(opacity / 100); - c.setFillColor('#ffffff'); - bgSt2.drawShape(c, this, w * 0.13, h * 0.12, w * 0.74, h * 0.76); - this.style[mxConstants.STYLE_STROKEWIDTH] = strokeWidth; - break; - case 'dynamic3': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_2'); - c.setStrokeColor('none'); - bgSt1.drawShape(c, this, w * 0.14, h * 0.01, w * 0.72, h * 0.98); - var bgSt2 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_1'); - this.style[mxConstants.STYLE_STROKEWIDTH] = iconSize * 0.01; - c.setStrokeColor(fillColor); - c.setAlpha(opacity / 100); - c.setFillColor('#ffffff'); - bgSt2.drawShape(c, this, w * 0.13, h * 0.12, w * 0.74, h * 0.76); - this.style[mxConstants.STYLE_STROKEWIDTH] = strokeWidth; - break; - case 'highmem': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_highmem'); - c.setAlpha(opacity * 0.5 / 100); - c.setStrokeColor('none'); - bgSt1.drawShape(c, this, 0, h * 0.56, w, h * 0.28); - break; - case 'highcomp': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_highcomp'); - c.setAlpha(opacity * 0.5 / 100); - c.setStrokeColor('none'); - bgSt1.drawShape(c, this, 0, h * 0.16, w, h * 0.28); - break; - case 'backend': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_1'); - c.setFillColor('#FCC64D'); - bgSt1.drawShape(c, this, w * 0.12, h * 0.11, w * 0.76, h * 0.78); - break; - case 'input': - var bgSt1 = mxStencilRegistry.getStencil('mxgraph.gcp2.outline_blank_1'); - c.setFillColor('#A5DA40'); - bgSt1.drawShape(c, this, w * 0.12, h * 0.11, w * 0.76, h * 0.78); - break; - case 'standard': - default: - break; - } - - c.setAlpha(opacity / 100); - var stencil = mxStencilRegistry.getStencil('mxgraph.gcp2.' + prIcon); - - if (stencil != null) - { - c.setFillColor(fillColor); - c.setStrokeColor('none'); - stencil.drawShape(c, this, w * 0.17, h * 0.16, w * 0.66, h * 0.68); - } - - if (instNum > 0) - { - c.setFillColor('#ffffff'); - c.setStrokeColor('#ffffff'); - c.setStrokeWidth(iconSize * 0.038); - c.ellipse(w * 0.2, 0, w * 0.18, h * 0.22); - c.fillAndStroke(); - - c.setAlpha(opacity * 0.5 / 100); - c.setStrokeColor(fillColor); - c.ellipse(w * 0.2, 0, w * 0.18, h * 0.22); - c.stroke(); - - c.setAlpha(opacity / 100); - c.setFontColor('#4E6B89'); - c.setFontStyle(1); - c.setFontSize(Math.min(w, h) * 0.1); - - c.text(w * 0.29, h * 0.11 + 1, 0, 0, instNum.toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } -}; - -mxCellRenderer.registerShape(mxShapeGCP2HexIcon.prototype.cst.HEX_ICON, mxShapeGCP2HexIcon); - -mxShapeGCP2HexIcon.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.825, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.175, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.16), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.84), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.66, 0.17), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.66, 0.83), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.34, 0.17), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.34, 0.83), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.33), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.67), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.33), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.67), false)); - - return (constr); -}; - diff --git a/dist/libs/drawio/shapes/mxGmdl.js b/dist/libs/drawio/shapes/mxGmdl.js deleted file mode 100644 index 0231090e..00000000 --- a/dist/libs/drawio/shapes/mxGmdl.js +++ /dev/null @@ -1,967 +0,0 @@ -/** - * $Id: mxGmdl.js,v 1.0 2015/09/09 17:05:39 mate Exp $ - * Copyright (c) 2006-2015, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//player -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlPlayer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlPlayer, mxShape); - -mxShapeGmdlPlayer.prototype.cst = { - SHAPE_PLAYER : 'mxgraph.gmdl.player' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlPlayer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.begin(); - c.rect(0, 0, w, h); - c.fill(); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeGmdlPlayer.prototype.foreground = function(c, x, y, w, h) -{ - - if ( h >= 4) - { - c.setFillColor('#FFED00'); - c.begin(); - c.rect(0, 0, w * 0.8, 4); - c.fill(); - } - - if ( h >= 14 && w >= 33) - { - c.setFillColor('#717171'); - c.begin(); - c.rect(w - 33, h * 0.5 - 7, 4, 14); - c.fill(); - c.begin(); - c.rect(w - 25, h * 0.5 - 7, 4, 14); - c.fill(); - } - -}; - -mxCellRenderer.registerShape(mxShapeGmdlPlayer.prototype.cst.SHAPE_PLAYER, mxShapeGmdlPlayer); - -//********************************************************************************************************************************************************** -//switch -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSwitch(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSwitch, mxShape); - -mxShapeGmdlSwitch.prototype.cst = { - SHAPE_SWITCH : 'mxgraph.gmdl.switch', - STATE : 'switchState', - STATE_ON : 'on', - STATE_OFF : 'off' -}; - -mxShapeGmdlSwitch.prototype.customProperties = [ - {name:'switchState', dispName:'State', type:'enum', defVal:'on', - enumList:[{val:'on', dispName: 'On'}, {val:'off', dispName: 'Off'}]} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSwitch.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - var state = mxUtils.getValue(this.style, mxShapeGmdlSwitch.prototype.cst.STATE, mxShapeGmdlSwitch.prototype.cst.STATE_ON); - this.background(c, x, y, w, h, state); - c.setShadow(true); - this.foreground(c, x, y, w, h, state); -}; - -mxShapeGmdlSwitch.prototype.background = function(c, x, y, w, h, state) -{ - c.begin(); - - if (state === mxShapeGmdlSwitch.prototype.cst.STATE_ON) - { - c.save(); - c.setAlpha('0.5'); - c.moveTo(w * 0.135, h * 0.8); - c.arcTo(w * 0.135, h * 0.3, 0, 0, 1, w * 0.135, h * 0.2); - c.lineTo(w * 0.675, h * 0.2); - c.arcTo(w * 0.135, h * 0.3, 0, 0, 1, w * 0.675, h * 0.8); - c.close(); - c.fillAndStroke(); - c.restore(); - } - else - { - c.setFillColor('#BCBBBB'); - c.moveTo(w * 0.225, h * 0.8); - c.arcTo(w * 0.135, h * 0.3, 0, 0, 1, w * 0.225, h * 0.2); - c.lineTo(w * 0.865, h * 0.2); - c.arcTo(w * 0.135, h * 0.3, 0, 0, 1, w * 0.865, h * 0.8); - c.close(); - c.fillAndStroke(); - } - -}; - -mxShapeGmdlSwitch.prototype.foreground = function(c, x, y, w, h, state) -{ - c.begin(); - - if (state === mxShapeGmdlSwitch.prototype.cst.STATE_ON) - { - c.ellipse(w * 0.36, 0, w * 0.64, h); - } - else - { - c.setFillColor('#F1F1F1'); - c.ellipse(0, 0, w * 0.64, h); - } - - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeGmdlSwitch.prototype.cst.SHAPE_SWITCH, mxShapeGmdlSwitch); - -//********************************************************************************************************************************************************** -//rect with margins -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlMarginRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlMarginRect, mxShape); - -mxShapeGmdlMarginRect.prototype.cst = { - SHAPE_MARGIN_RECT : 'mxgraph.gmdl.marginRect', - MARGIN : 'rectMargin', - MARGIN_TOP : 'rectMarginTop', - MARGIN_LEFT : 'rectMarginLeft', - MARGIN_BOTTOM : 'rectMarginBottom', - MARGIN_RIGHT : 'rectMarginRight' -}; - -mxShapeGmdlMarginRect.prototype.customProperties = [ - {name:'rectMargin', dispName:'Margin', type:'float', min:0, defVal:0}, - {name:'rectMarginTop', dispName:'Margin Top', type:'float', defVal:0}, - {name:'rectMarginLeft', dispName:'Margin Left', type:'float', defVal:0}, - {name:'rectMarginBottom', dispName:'Margin Bottom', type:'float', defVal:0}, - {name:'rectMarginRight', dispName:'Margin Right', type:'float', defVal:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlMarginRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeGmdlMarginRect.prototype.background = function(c, x, y, w, h, state) -{ - var margin = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlMarginRect.prototype.cst.MARGIN, '0')); - var marginTop = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlMarginRect.prototype.cst.MARGIN_TOP, '0')); - var marginLeft = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlMarginRect.prototype.cst.MARGIN_LEFT, '0')); - var marginBottom = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlMarginRect.prototype.cst.MARGIN_BOTTOM, '0')); - var marginRight = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlMarginRect.prototype.cst.MARGIN_RIGHT, '0')); - - var x1 = margin + marginLeft; - var y1 = margin + marginTop; - var w1 = w - marginRight - x1 - margin; - var h1 = h - marginBottom - y1 - margin; - - if (w1 >0 && h1 > 0) - { - c.begin(); - c.rect(x1, y1, w1, h1); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeGmdlMarginRect.prototype.cst.SHAPE_MARGIN_RECT, mxShapeGmdlMarginRect); - -//********************************************************************************************************************************************************** -//slider normal -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSliderNormal(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSliderNormal, mxShape); - -mxShapeGmdlSliderNormal.prototype.cst = { - SHAPE_SLIDER_NORMAL : 'mxgraph.gmdl.sliderNormal', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeGmdlSliderNormal.prototype.customProperties = [ - {name:'handleSize', dispName:'Handle Size', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSliderNormal.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeGmdlSliderNormal.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderNormal.prototype.cst.HANDLE_SIZE, '10')); - - c.ellipse(0, h * 0.5 - hSize * 0.5, hSize, hSize); - c.stroke(); - - c.begin(); - c.moveTo(hSize, h * 0.5); - c.lineTo(w, h * 0.5); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeGmdlSliderNormal.prototype.cst.SHAPE_SLIDER_NORMAL, mxShapeGmdlSliderNormal); - -//********************************************************************************************************************************************************** -//slider normal v2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSlider2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSlider2, mxShape); - -mxShapeGmdlSlider2.prototype.cst = { - SHAPE_SLIDER : 'mxgraph.gmdl.slider2', - BAR_POS : 'barPos', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeGmdlSlider2.prototype.customProperties = [ - {name:'barPos', dispName:'Handle Position', type:'float', min:0, defVal:40}, - {name:'handleSize', dispName:'Handle Size', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSlider2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeGmdlSlider2.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSlider2.prototype.cst.HANDLE_SIZE, '10')); - var barPos = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSlider2.prototype.cst.BAR_POS, '40')) / 100; - - barPos = Math.max(0, Math.min(1, barPos)); - - c.save(); - c.setStrokeColor('#bbbbbb'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.fillAndStroke(); - - c.restore(); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(barPos * w, h * 0.5); - c.fillAndStroke(); - - c.begin(); - c.ellipse(barPos * w - hSize * 0.5, h * 0.5 - hSize * 0.5, hSize, hSize); - c.fillAndStroke(); - -}; - -mxCellRenderer.registerShape(mxShapeGmdlSlider2.prototype.cst.SHAPE_SLIDER, mxShapeGmdlSlider2); - -mxShapeGmdlSlider2.prototype.constraints = null; - -Graph.handleFactory[mxShapeGmdlSlider2.prototype.cst.SHAPE_SLIDER] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//slider focused v2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSliderFocused(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSliderFocused, mxShape); - -mxShapeGmdlSliderFocused.prototype.cst = { - SHAPE_SLIDER_FOCUSED : 'mxgraph.gmdl.sliderFocused', - BAR_POS : 'barPos', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeGmdlSliderFocused.prototype.customProperties = [ - {name:'barPos', dispName:'Handle Position', type:'float', min:0, defVal:40}, - {name:'handleSize', dispName:'Handle Size', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSliderFocused.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeGmdlSliderFocused.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderFocused.prototype.cst.HANDLE_SIZE, '10')); - var barPos = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderFocused.prototype.cst.BAR_POS, '40')) / 100; - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#ffffff'); - - barPos = Math.max(0, Math.min(1, barPos)); - - c.save(); - c.setStrokeColor('#bbbbbb'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.fillAndStroke(); - - c.restore(); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(barPos * w, h * 0.5); - c.fillAndStroke(); - - c.begin(); - c.ellipse(barPos * w - hSize * 0.167, h * 0.5 - hSize * 0.167, hSize * 0.33, hSize * 0.33); - c.fillAndStroke(); - - c.setFillColor(strokeColor); - c.setAlpha(0.15); - c.begin(); - c.ellipse(barPos * w - hSize * 0.5, h * 0.5 - hSize * 0.5, hSize, hSize); - c.fill(); - -}; - -mxCellRenderer.registerShape(mxShapeGmdlSliderFocused.prototype.cst.SHAPE_SLIDER_FOCUSED, mxShapeGmdlSliderFocused); - -mxShapeGmdlSliderFocused.prototype.constraints = null; - -Graph.handleFactory[mxShapeGmdlSliderFocused.prototype.cst.SHAPE_SLIDER_FOCUSED] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; - -}; - -//********************************************************************************************************************************************************** -//slider disabled -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSliderDisabled(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSliderDisabled, mxShape); - -mxShapeGmdlSliderDisabled.prototype.cst = { - SHAPE_SLIDER_DISABLED : 'mxgraph.gmdl.sliderDisabled', - HANDLE_POSITION : 'hPos', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeGmdlSliderDisabled.prototype.customProperties = [ - {name:'hPos', dispName:'Handle Position', type:'float', min:0, defVal:40}, - {name:'handleSize', dispName:'Handle Size', type:'float', min:0, defVal:10} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSliderDisabled.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeGmdlSliderDisabled.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDisabled.prototype.cst.HANDLE_SIZE, '10')); - var hPos = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDisabled.prototype.cst.HANDLE_POSITION, '50')) / 100; - - hPos = Math.max(hPos, 0); - hPos = Math.min(hPos, 1); - - c.ellipse(w * hPos - hSize * 0.5, (h - hSize) * 0.5, hSize, hSize); - c.fillAndStroke(); - - var endL = w * hPos - 7; - var startR = w * hPos + 7; - - if (endL > 0) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(endL, h * 0.5); - c.stroke(); - } - - if (startR < w) - { - c.begin(); - c.moveTo(startR, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeGmdlSliderDisabled.prototype.cst.SHAPE_SLIDER_DISABLED, mxShapeGmdlSliderDisabled); - -//********************************************************************************************************************************************************** -//slider disabled v2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSliderDisabled2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSliderDisabled2, mxShape); - -mxShapeGmdlSliderDisabled2.prototype.cst = { - SHAPE_SLIDER_DISABLED : 'mxgraph.gmdl.sliderDisabled2', - HANDLE_POSITION : 'hPos', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeGmdlSliderDisabled2.prototype.customProperties = [ - {name:'hPos', dispName:'Handle Position', type:'float', min:0, defVal:'40'}, - {name:'handleSize', dispName:'Handle Size', type:'float', min:0, defVal:'10'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSliderDisabled2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeGmdlSliderDisabled2.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDisabled2.prototype.cst.HANDLE_SIZE, '10')); - var hPos = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDisabled2.prototype.cst.HANDLE_POSITION, '50')) / 100; - - hPos = Math.min(Math.max(hPos, 0), 1); - - c.ellipse(w * hPos - hSize * 0.5, (h - hSize) * 0.5, hSize, hSize); - c.fillAndStroke(); - - var endL = w * hPos - 7; - var startR = w * hPos + 7; - - if (endL > 0) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(endL, h * 0.5); - c.stroke(); - } - - if (startR < w) - { - c.begin(); - c.moveTo(startR, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeGmdlSliderDisabled2.prototype.cst.SHAPE_SLIDER_DISABLED, mxShapeGmdlSliderDisabled2); - -mxShapeGmdlSlider2.prototype.constraints = null; - -Graph.handleFactory[mxShapeGmdlSliderDisabled2.prototype.cst.SHAPE_SLIDER_DISABLED] = function(state) -{ - var handles = [Graph.createHandle(state, ['hPos'], function(bounds) - { - var hPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'hPos', 0.4)))); - - return new mxPoint(bounds.x + hPos * bounds.width / 100, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['hPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//slider discrete -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSliderDiscrete(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSliderDiscrete, mxShape); - -mxShapeGmdlSliderDiscrete.prototype.cst = { - SHAPE_DISCRETE : 'mxgraph.gmdl.sliderDiscrete', - BAR_POS : 'barPos', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeGmdlSliderDiscrete.prototype.customProperties = [ - {name:'barPos', dispName:'Handle Position', type:'int', min:0, defVal:'40'}, - {name:'handleSize', dispName:'Handle Size', type:'float', min:0, defVal:'10'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSliderDiscrete.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeGmdlSliderDiscrete.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDiscrete.prototype.cst.HANDLE_SIZE, '10')); - var barPos = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDiscrete.prototype.cst.BAR_POS, '40')) / 100; - var fontSize = parseFloat(mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '12')); - var fontColor = mxUtils.getValue(this.style, mxConstants.STYLE_FONTCOLOR, '#000000'); - - barPos = Math.max(0, Math.min(1, barPos)); - - c.save(); - c.setStrokeColor('#bbbbbb'); - c.begin(); - c.moveTo(0, h * 0.5 + 22.5); - c.lineTo(w, h * 0.5 + 22.5); - c.fillAndStroke(); - - c.restore(); - c.begin(); - c.moveTo(0, h * 0.5 + 22.5); - c.lineTo(barPos * w, h * 0.5 + 22.5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(barPos * w, h * 0.5 + 15.5); - c.lineTo(barPos * w - 10.5, h * 0.5 + 2.5); - c.arcTo(15, 15, 0, 0, 1, barPos * w, h * 0.5 - 22.5); - c.arcTo(15, 15, 0, 0, 1, barPos * w + 10.5, h * 0.5 + 2.5); - c.close(); - c.fillAndStroke(); - - c.setFontSize(fontSize); - c.setFontColor(fontColor); - var p = Math.round(barPos * 100); - c.text(barPos * w, h * 0.5 - 9, 0, 0, p.toString() , mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeGmdlSliderDiscrete.prototype.cst.SHAPE_DISCRETE, mxShapeGmdlSliderDiscrete); - -mxShapeGmdlSliderDiscrete.prototype.constraints = null; - -Graph.handleFactory[mxShapeGmdlSliderDiscrete.prototype.cst.SHAPE_DISCRETE] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2 + 22.5); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(100 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 100; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//slider discrete with dots -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlSliderDiscreteDots(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlSliderDiscreteDots, mxShape); - -mxShapeGmdlSliderDiscreteDots.prototype.cst = { - SHAPE_DISCRETE_DOTS : 'mxgraph.gmdl.sliderDiscreteDots', - BAR_POS : 'barPos', - HANDLE_SIZE : 'handleSize' -}; - -mxShapeGmdlSliderDiscreteDots.prototype.customProperties = [ - {name:'barPos', dispName:'Handle Position', type:'int', min:0, defVal:'40'}, - {name:'handleSize', dispName:'Handle Size', type:'float', min:0, defVal:'10'} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlSliderDiscreteDots.prototype.paintVertexShape = function(c, x, y, w, h) -{ - - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(true); -}; - -mxShapeGmdlSliderDiscreteDots.prototype.background = function(c, x, y, w, h) -{ - var hSize = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDiscreteDots.prototype.cst.HANDLE_SIZE, '10')); - var barPos = parseFloat(mxUtils.getValue(this.style, mxShapeGmdlSliderDiscreteDots.prototype.cst.BAR_POS, '40')) / 100; - var fontSize = parseFloat(mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '12')); - var fontColor = mxUtils.getValue(this.style, mxConstants.STYLE_FONTCOLOR, '#000000'); - var bright = mxUtils.getValue(this.style, 'bright', '1'); - - barPos = Math.max(0, Math.min(1, barPos)); - - c.save(); - c.setStrokeColor('#bebebe'); - c.begin(); - c.moveTo(0, h * 0.5 + 22.5); - c.lineTo(w, h * 0.5 + 22.5); - c.fillAndStroke(); - - c.restore(); - - if (barPos <= 0.1) - { - c.setFillColor('#bebebe'); - } - - c.begin(); - c.moveTo(0, h * 0.5 + 22.5); - c.lineTo(barPos * w, h * 0.5 + 22.5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(barPos * w, h * 0.5 + 15.5); - c.lineTo(barPos * w - 10.5, h * 0.5 + 2.5); - c.arcTo(15, 15, 0, 0, 1, barPos * w, h * 0.5 - 22.5); - c.arcTo(15, 15, 0, 0, 1, barPos * w + 10.5, h * 0.5 + 2.5); - c.close(); - c.fill(); - - if (bright == '1') - { - c.setFillColor('#000000'); - } - else - { - c.setFillColor('#ffffff'); - } - - c.ellipse(-1.5, h * 0.5 + 21, 3, 3); - c.fill(); - - c.ellipse(w * 0.2 - 1.5, h * 0.5 + 21, 3, 3); - c.fill(); - - c.ellipse(w * 0.4 - 1.5, h * 0.5 + 21, 3, 3); - c.fill(); - - c.ellipse(w * 0.6 - 1.5, h * 0.5 + 21, 3, 3); - c.fill(); - - c.ellipse(w * 0.8 - 1.5, h * 0.5 + 21, 3, 3); - c.fill(); - - c.ellipse(w - 1.5, h * 0.5 + 21, 3, 3); - c.fill(); - - c.setFontSize(fontSize); - c.setFontColor(fontColor); - var p = Math.round(barPos * 100); - c.text(barPos * w, h * 0.5 - 9, 0, 0, p.toString() , mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape(mxShapeGmdlSliderDiscreteDots.prototype.cst.SHAPE_DISCRETE_DOTS, mxShapeGmdlSliderDiscreteDots); - -mxShapeGmdlSliderDiscreteDots.prototype.constraints = null; - -Graph.handleFactory[mxShapeGmdlSliderDiscreteDots.prototype.cst.SHAPE_DISCRETE_DOTS] = function(state) -{ - var handles = [Graph.createHandle(state, ['barPos'], function(bounds) - { - var barPos = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'barPos', 0.4)))); - - return new mxPoint(bounds.x + barPos * bounds.width / 100, bounds.y + bounds.height / 2 + 22.5); - }, function(bounds, pt) - { - this.state.style['barPos'] = Math.round(0.05 * Math.max(0, Math.min(100, (pt.x - bounds.x) * 100 / bounds.width))) / 0.05; - })]; - - return handles; -}; - -//********************************************************************************************************************************************************** -//Progress Bar -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeGmdlProgressBar(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx1 = 0.8; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeGmdlProgressBar, mxShape); - -mxShapeGmdlProgressBar.prototype.cst = { - PROGRESS_BAR : 'mxgraph.gmdl.progressBar' -}; - -mxShapeGmdlProgressBar.prototype.customProperties = [ - {name:'dx1', dispName:'Handle Position', type:'int', min:0, defVal:0.8} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeGmdlProgressBar.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var dx1 = w * Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); - - c.translate(x, y); - - c.save(); - c.setStrokeColor('#aaaaaa'); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w , h * 0.5); - c.stroke(); - - c.restore(); - c.setShadow(false); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(dx1, h * 0.5); - c.stroke(); - -}; - -mxCellRenderer.registerShape(mxShapeGmdlProgressBar.prototype.cst.PROGRESS_BAR, mxShapeGmdlProgressBar); - -mxShapeGmdlProgressBar.prototype.constraints = null; - -Graph.handleFactory[mxShapeGmdlProgressBar.prototype.cst.PROGRESS_BAR] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx1'], function(bounds) - { - var dx1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); - - return new mxPoint(bounds.x + dx1 * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx2 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx1)))); - - return new mxPoint(bounds.x + dx2 * bounds.width, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(1, (pt.x - bounds.x) / bounds.width))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - diff --git a/dist/libs/drawio/shapes/mxInfographic.js b/dist/libs/drawio/shapes/mxInfographic.js deleted file mode 100644 index 122fb2a3..00000000 --- a/dist/libs/drawio/shapes/mxInfographic.js +++ /dev/null @@ -1,2668 +0,0 @@ -/** - * $Id: mxInfographic.js,v 1.5 2016/04/1 12:32:06 mate Exp $ - * Copyright (c) 2006-2018, JGraph Ltd - */ -//********************************************************************************************************************************************************** -//Numbered entry (vertical) -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicNumEntryVert(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicNumEntryVert, mxActor); - -mxShapeInfographicNumEntryVert.prototype.cst = {NUM_ENTRY_VERT : 'mxgraph.infographic.numberedEntryVert'}; - -mxShapeInfographicNumEntryVert.prototype.customProperties = [ - {name:'dy', dispName:'Circle Size', min:0, defVal: 25} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicNumEntryVert.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - var inset = 5; - - var d = Math.min(dy, w - 2 * inset, h - inset); - - c.ellipse(w * 0.5 - d * 0.5, 0, d, d); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, d * 0.5); - c.lineTo(w * 0.5 - d * 0.5 - inset, d * 0.5); - c.arcTo(d * 0.5 + inset, d * 0.5 + inset, 0, 0, 0, w * 0.5 + d * 0.5 + inset, d * 0.5); - c.lineTo(w, d * 0.5); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicNumEntryVert.prototype.cst.NUM_ENTRY_VERT, mxShapeInfographicNumEntryVert); - -Graph.handleFactory[mxShapeInfographicNumEntryVert.prototype.cst.NUM_ENTRY_VERT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.width, bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width / 2, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height, bounds.width, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicNumEntryVert.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var inset = 5; - var d = Math.min(dy, w - 2 * inset, h - inset); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, d * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, d * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 0, d * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, 0, d * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Bending Arch -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicBendingArch(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.startAngle = 0.25; - this.endAngle = 0.75; - this.arcWidth = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicBendingArch, mxActor); - -mxShapeInfographicBendingArch.prototype.cst = {BENDING_ARCH : 'mxgraph.infographic.bendingArch'}; - -mxShapeInfographicBendingArch.prototype.customProperties = [ - {name:'startAngle', dispName:'Start Angle', min:0, max:1, defVal: 0.75}, - {name:'endAngle', dispName:'End Angle', min:0, max:1, defVal: 0.25}, - {name:'arcWidth', dispName:'Arc Width', min:0, max:1, defVal: 0.25} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicBendingArch.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'startAngle', this.startAngle)))); - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'endAngle', this.endAngle)))); - var arcWidth = 1 - Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'arcWidth', this.arcWidth)))); - var rx = w * 0.5; - var ry = h * 0.5; - var rx2 = rx * arcWidth; - var ry2 = ry * arcWidth; - - var startX = rx + Math.sin(startAngle) * rx; - var startY = ry - Math.cos(startAngle) * ry; - var innerStartX = rx + Math.sin(startAngle) * rx2; - var innerStartY = ry - Math.cos(startAngle) * ry2; - var endX = rx + Math.sin(endAngle) * rx; - var endY = ry - Math.cos(endAngle) * ry; - var innerEndX = rx + Math.sin(endAngle) * rx2; - var innerEndY = ry - Math.cos(endAngle) * ry2; - - var angDiff = endAngle - startAngle; - - if (angDiff < 0) - { - angDiff = angDiff + Math.PI * 2; - } - - var bigArc = 0; - - if (angDiff > Math.PI) - { - bigArc = 1; - } - - var rx3 = rx2 - 5; - var ry3 = ry2 - 5; - - c.ellipse(w * 0.5 - rx3, h * 0.5 - ry3, 2 * rx3, 2 * ry3); - c.fillAndStroke(); - - c.begin(); - c.moveTo(startX, startY); - c.arcTo(rx, ry, 0, bigArc, 1, endX, endY); - c.lineTo(innerEndX, innerEndY); - c.arcTo(rx2, ry2, 0, bigArc, 0, innerStartX, innerStartY); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicBendingArch.prototype.cst.BENDING_ARCH, mxShapeInfographicBendingArch); - -mxShapeInfographicBendingArch.prototype.constraints = null; - -Graph.handleFactory[mxShapeInfographicBendingArch.prototype.cst.BENDING_ARCH] = function(state) -{ - var handles = [Graph.createHandle(state, ['startAngle'], function(bounds) - { - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'startAngle', this.startAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(startAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(startAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['startAngle'] = res; - - })]; - - var handle2 = Graph.createHandle(state, ['endAngle'], function(bounds) - { - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'endAngle', this.endAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(endAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(endAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['endAngle'] = res; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arcWidth'], function(bounds) - { - var arcWidth = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'arcWidth', this.arcWidth)))); - - return new mxPoint(bounds.x + bounds.width / 2, bounds.y + arcWidth * bounds.height * 0.5); - }, function(bounds, pt) - { - this.state.style['arcWidth'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, (pt.y - bounds.y) / (bounds.height * 0.5)))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -//********************************************************************************************************************************************************** -//Parallelogram -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicParallelogram(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 10; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicParallelogram, mxActor); - -mxShapeInfographicParallelogram.prototype.cst = {PARALLELOGRAM : 'mxgraph.infographic.parallelogram'}; - -mxShapeInfographicParallelogram.prototype.customProperties = [ - {name:'dx', dispName:'Angle', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicParallelogram.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w * 0.5, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - - c.begin(); - c.moveTo(0, h); - c.lineTo(2 * dx, 0); - c.lineTo(w, 0); - c.lineTo(w - 2 * dx, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicParallelogram.prototype.cst.PARALLELOGRAM, mxShapeInfographicParallelogram); - -Graph.handleFactory[mxShapeInfographicParallelogram.prototype.cst.PARALLELOGRAM] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height / 2); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2, pt.x - bounds.x))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicParallelogram.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w * 0.5, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var w2 = w - 2 * dx; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2 * dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2 * dx + w2 * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 2 * dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 * 0.5, h)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Ribbon Rolled -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicRibbonRolled(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 185; - this.dy = 15; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicRibbonRolled, mxActor); - -mxShapeInfographicRibbonRolled.prototype.cst = {RIBBON_ROLLED : 'mxgraph.infographic.ribbonRolled'}; - -mxShapeInfographicRibbonRolled.prototype.customProperties = [ - {name:'dx', dispName:'Roll Length', min:0, defVal: 185}, - {name:'dy', dispName:'Ribbon Width', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicRibbonRolled.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w, h - dy); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(0, h - dy); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.close(); - c.moveTo(w, h - dy); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w, h - dy); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(0, h - dy); - c.close(); - c.stroke(); - -}; - -mxCellRenderer.registerShape(mxShapeInfographicRibbonRolled.prototype.cst.RIBBON_ROLLED, mxShapeInfographicRibbonRolled); - -Graph.handleFactory[mxShapeInfographicRibbonRolled.prototype.cst.RIBBON_ROLLED] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicRibbonRolled.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var h2 = h - dy; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h2)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, h2)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, h2)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, h2)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, 0, -dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Ribbon Double Folded -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicRibbonDoubleFolded(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 25; - this.dy = 15; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicRibbonDoubleFolded, mxActor); - -mxShapeInfographicRibbonDoubleFolded.prototype.cst = {RIBBON_DOUBLE_FOLDED : 'mxgraph.infographic.ribbonDoubleFolded'}; - -mxShapeInfographicRibbonDoubleFolded.prototype.customProperties = [ - {name:'dx', dispName:'Fold Length', min:0, defVal: 25}, - {name:'dy', dispName:'Ribbon Width', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicRibbonDoubleFolded.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w, h - dy); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(0, h - dy); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, h - 2 * dy); - c.lineTo(0, h - dy); - c.close(); - c.moveTo(w, h - dy); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w, h - dy); - c.lineTo(w - dx, h); - c.lineTo(w - dx, h - dy); - c.lineTo(0, h - dy); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicRibbonDoubleFolded.prototype.cst.RIBBON_DOUBLE_FOLDED, mxShapeInfographicRibbonDoubleFolded); - -Graph.handleFactory[mxShapeInfographicRibbonDoubleFolded.prototype.cst.RIBBON_DOUBLE_FOLDED] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicRibbonDoubleFolded.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Ribbon Front Folded -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicRibbonFrontFolded(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dy = 0.5; - this.notch = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicRibbonFrontFolded, mxActor); - -mxShapeInfographicRibbonFrontFolded.prototype.cst = {RIBBON_FRONT_FOLDED : 'mxgraph.infographic.ribbonFrontFolded'}; - -mxShapeInfographicRibbonFrontFolded.prototype.customProperties = [ - {name:'dx', dispName:'Fold Length', min:0, defVal: 25}, - {name:'dy', dispName:'Ribbon Width', min:0, defVal: 15}, - {name:'notch', dispName:'Notch', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicRibbonFrontFolded.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w - dx, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w - notch, (h - dy) / 2 + dy); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, h - dy); - c.lineTo(0, h); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w - notch, (h - dy) / 2 + dy); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicRibbonFrontFolded.prototype.cst.RIBBON_FRONT_FOLDED, mxShapeInfographicRibbonFrontFolded); - -Graph.handleFactory[mxShapeInfographicRibbonFrontFolded.prototype.cst.RIBBON_FRONT_FOLDED] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + bounds.width - notch, bounds.y + dy + (bounds.height - dy) * 0.5); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width, (bounds.width + bounds.x - pt.x)))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeInfographicRibbonFrontFolded.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w - dx, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - notch, (h + dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h + dy) * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Ribbon Back Folded -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicRibbonBackFolded(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dy = 0.5; - this.notch = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicRibbonBackFolded, mxActor); - -mxShapeInfographicRibbonBackFolded.prototype.cst = {RIBBON_BACK_FOLDED : 'mxgraph.infographic.ribbonBackFolded'}; - -mxShapeInfographicRibbonBackFolded.prototype.customProperties = [ - {name:'dx', dispName:'Fold Length', min:0, defVal: 25}, - {name:'dy', dispName:'Ribbon Width', min:0, defVal: 15}, - {name:'notch', dispName:'Notch', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicRibbonBackFolded.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w - dx, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w - notch, (h - dy) / 2 + dy); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, 0); - c.lineTo(dx, dy); - c.lineTo(w, dy); - c.lineTo(w - notch, (h - dy) / 2 + dy); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicRibbonBackFolded.prototype.cst.RIBBON_BACK_FOLDED, mxShapeInfographicRibbonBackFolded); - -Graph.handleFactory[mxShapeInfographicRibbonBackFolded.prototype.cst.RIBBON_BACK_FOLDED] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + bounds.width - notch, bounds.y + dy + (bounds.height - dy) * 0.5); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width, (bounds.width + bounds.x - pt.x)))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeInfographicRibbonBackFolded.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w - dx, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - notch, (h + dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h + dy) * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Banner -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicBanner(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dy = 0.5; - this.notch = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicBanner, mxActor); - -mxShapeInfographicBanner.prototype.cst = {BANNER : 'mxgraph.infographic.banner'}; - -mxShapeInfographicBanner.prototype.customProperties = [ - {name:'dx', dispName:'Fold Length', min:0, defVal: 25}, - {name:'dy', dispName:'Ribbon Width', min:0, defVal: 15}, - {name:'notch', dispName:'Notch', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicBanner.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w / 2, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - dx = Math.min(w / 2 - 2 * dy, dx); - - notch = Math.min(dx, notch); - - c.begin(); - c.moveTo(0, dy); - c.lineTo(dx, dy); - c.lineTo(dx, 0); - c.lineTo(w - dx, 0); - c.lineTo(w - dx, dy); - c.lineTo(w, dy); - c.lineTo(w - notch, (h - dy) * 0.5 + dy); - c.lineTo(w, h); - c.lineTo(w - dx - 2 * dy, h); - c.lineTo(w - dx - 2 * dy, h - dy); - c.lineTo(dx + 2 * dy, h - dy); - c.lineTo(dx + 2 * dy, h); - c.lineTo(0, h); - c.lineTo(notch, (h - dy) * 0.5 + dy); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - c.begin(); - c.moveTo(0,dy); - c.lineTo(dx, dy); - c.lineTo(dx, h - dy); - c.lineTo(dx + 2 * dy, h); - c.lineTo(0, h); - c.lineTo(notch, (h - dy) * 0.5 + dy); - c.close(); - c.moveTo(w,dy); - c.lineTo(w - dx, dy); - c.lineTo(w - dx, h - dy); - c.lineTo(w - dx - 2 * dy, h); - c.lineTo(w, h); - c.lineTo(w - notch, (h - dy) * 0.5 + dy); - c.close(); - c.fill(); - - c.setFillAlpha('0.4'); - c.begin(); - c.moveTo(dx, h - dy); - c.lineTo(dx + 2 * dy, h - dy); - c.lineTo(dx + 2 * dy, h); - c.close(); - c.moveTo(w - dx, h - dy); - c.lineTo(w - dx - 2 * dy, h - dy); - c.lineTo(w - dx - 2 * dy, h); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicBanner.prototype.cst.BANNER, mxShapeInfographicBanner); - -Graph.handleFactory[mxShapeInfographicBanner.prototype.cst.BANNER] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2, bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(dx, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + bounds.width - notch, bounds.y + dy + (bounds.height - dy) * 0.5); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width, (bounds.width + bounds.x - pt.x)))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeInfographicBanner.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w / 2, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - dx = Math.min(w / 2 - 2 * dy, dx); - notch = Math.min(dx, notch); - var w2 = w - 2 * dx; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2 * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2 * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2 * 0.75, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2 * 0.75, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2 * 0.5, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + w2 * 0.25, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, (h + dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - notch, (h + dy) * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Circular Callout -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicCircularCallout(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicCircularCallout, mxActor); - -mxShapeInfographicCircularCallout.prototype.cst = {CIRCULAR_CALLOUT : 'mxgraph.infographic.circularCallout'}; - -mxShapeInfographicCircularCallout.prototype.customProperties = [ - {name:'dy', dispName:'Ribbon Width', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicCircularCallout.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - var rx = Math.max(0, Math.min(w * 0.5, w * 0.5 - dy)); - var ry = Math.max(0, Math.min(h * 0.5, h * 0.5 - dy)); - - c.begin(); - c.moveTo(w, h * 0.5); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, w * 0.5, h); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, 0, h * 0.5); - c.arcTo(w * 0.5, h * 0.5, 0, 0, 1, w * 0.5, 0); - c.lineTo(w, 0); - c.close(); - c.moveTo(w * 0.5, dy); - c.arcTo(rx, ry, 0, 0, 0, w * 0.5 - rx, h * 0.5); - c.arcTo(rx, ry, 0, 0, 0, w * 0.5, h * 0.5 + ry); - c.arcTo(rx, ry, 0, 0, 0, w * 0.5 + rx, h * 0.5); - c.arcTo(rx, ry, 0, 0, 0, w * 0.5, h * 0.5 - ry); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicCircularCallout.prototype.cst.CIRCULAR_CALLOUT, mxShapeInfographicCircularCallout); - -Graph.handleFactory[mxShapeInfographicCircularCallout.prototype.cst.CIRCULAR_CALLOUT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width * 0.5, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicCircularCallout.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var rx = Math.max(0, Math.min(w * 0.5, w * 0.5 - dy)); - var ry = Math.max(0, Math.min(h * 0.5, h * 0.5 - dy)); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.145), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Shaded triangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicShadedTriangle(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicShadedTriangle, mxActor); - -mxShapeInfographicShadedTriangle.prototype.cst = {SHADED_TRIANGLE : 'mxgraph.infographic.shadedTriangle'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicShadedTriangle.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.setFillColor('#ffffff'); - c.setFillAlpha('0.2'); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.5, h * 0.67); - c.close(); - c.fill(); - - c.setFillColor('#000000'); - - c.begin(); - c.moveTo(w, h); - c.lineTo(w * 0.5, h * 0.67); - c.lineTo(w * 0.5, 0); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicShadedTriangle.prototype.cst.SHADED_TRIANGLE, mxShapeInfographicShadedTriangle); - -mxShapeInfographicShadedTriangle.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Shaded pyramid -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicShadedPyramid(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicShadedPyramid, mxActor); - -mxShapeInfographicShadedPyramid.prototype.cst = {SHADED_PYRAMID : 'mxgraph.infographic.shadedPyramid'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicShadedPyramid.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var h1 = Math.max(h - w * 0.3, 0); - c.begin(); - c.moveTo(0, h1); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h1); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.setFillColor('#ffffff'); - c.setFillAlpha('0.2'); - - c.begin(); - c.moveTo(0, h1); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.setFillColor('#000000'); - - c.begin(); - c.moveTo(w, h1); - c.lineTo(w * 0.5, h); - c.lineTo(w * 0.5, 0); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, h1); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h1); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicShadedPyramid.prototype.cst.SHADED_PYRAMID, mxShapeInfographicShadedPyramid); - -mxShapeInfographicShadedPyramid.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var h1 = Math.max(h - w * 0.3, 0); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, h1 * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, (h + h1) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, (h + h1) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, h1 * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Pyramid step -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicPyramidStep(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicPyramidStep, mxActor); - -mxShapeInfographicPyramidStep.prototype.cst = {PYRAMID_STEP : 'mxgraph.infographic.pyramidStep'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicPyramidStep.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var h1 = Math.max(w * 0.1, 0); - c.begin(); - c.moveTo(0, h1); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h1); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - - c.setFillColor('#ffffff'); - c.setFillAlpha('0.2'); - - c.begin(); - c.moveTo(0, h1); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.lineTo(0, h); - c.close(); - c.fill(); - - c.setFillColor('#000000'); - - c.begin(); - c.moveTo(w, h1); - c.lineTo(w, h); - c.lineTo(w * 0.5, h); - c.lineTo(w * 0.5, 0); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, h1); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h1); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicPyramidStep.prototype.cst.PYRAMID_STEP, mxShapeInfographicPyramidStep); - -mxShapeInfographicPyramidStep.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var h1 = Math.max(w * 0.1, 0); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, h1 * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h1)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h1 + (h - h1) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h1 + (h - h1) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h1 + (h - h1) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h1 + (h - h1) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h1 + (h - h1) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h1 + (h - h1) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, h1 * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h1)); - return (constr); -}; - -//********************************************************************************************************************************************************** -//Cylinder -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicCylinder(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicCylinder, mxActor); - -mxShapeInfographicCylinder.prototype.cst = {CYLINDER : 'mxgraph.infographic.cylinder'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicCylinder.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = 20; - var rx = w * 0.5; - var ry = dy * 0.5; - - c.begin(); - c.moveTo(0, dy * 0.5); - c.arcTo(rx, ry, 0, 0, 1, w, ry); - c.lineTo(w, h - ry); - c.arcTo(rx, ry, 0, 0, 1, 0, h - ry); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setGradient('#000000', '#ffffff', 0, 0, w, h, mxConstants.DIRECTION_EAST, 0.4, 0.4); - - c.begin(); - c.moveTo(0, dy * 0.5); - c.arcTo(rx, ry, 0, 0, 0, w, ry); - c.lineTo(w, h - ry); - c.arcTo(rx, ry, 0, 0, 1, 0, h - ry); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(0, dy * 0.5); - c.arcTo(rx, ry, 0, 0, 1, w, ry); - c.lineTo(w, h - ry); - c.arcTo(rx, ry, 0, 0, 1, 0, h - ry); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicCylinder.prototype.cst.CYLINDER, mxShapeInfographicCylinder); - -mxShapeInfographicCylinder.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = 20; - var rx = w * 0.5; - var ry = dy * 0.5; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy * 0.5 + (h - dy) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy * 0.5 + (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy * 0.5 + (h - dy) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy * 0.5 + (h - dy) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy * 0.5 + (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy * 0.5 + (h - dy) * 0.25)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Circular Callout 2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicCircularCallout2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicCircularCallout2, mxActor); - -mxShapeInfographicCircularCallout2.prototype.cst = {CIRCULAR_CALLOUT_2 : 'mxgraph.infographic.circularCallout2'}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicCircularCallout2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, 'none'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, 'none'); - c.setFillColor(strokeColor); - - var rx = Math.max(0, Math.min(w * 0.5, h * 0.4, h * 0.5 - 7)); - - c.begin(); - c.moveTo(w * 0.5 - 2, 2.15 * rx); - c.arcTo(rx * 0.23, rx * 0.23, 0, 0, 0, w * 0.5 - rx * 0.2, rx * 1.97); - c.arcTo(rx, rx, 0, 0, 1, w * 0.5 - rx, rx); - c.arcTo(rx, rx, 0, 0, 1, w * 0.5, 0); - c.arcTo(rx, rx, 0, 0, 1, w * 0.5 + rx, rx); - c.arcTo(rx, rx, 0, 0, 1, w * 0.5 + rx * 0.2, rx * 1.97); - c.arcTo(rx * 0.23, rx * 0.23, 0, 0, 0, w * 0.5 + 2, 2.15 * rx); - - var rxMin = Math.max(rx * 0.1, 6); - - if (rx * 0.04 > 4) - { - c.lineTo(w * 0.5 + 2, h - rx * 0.22); - c.arcTo(rx * 0.05, rx * 0.05, 0, 0, 0, w * 0.5 + rx * 0.04, h - rx * 0.19); - } - else - { - c.lineTo(w * 0.5 + 2, h - 2 * rxMin); - } - - c.arcTo(rxMin, rxMin, 0, 0, 1, w * 0.5 + rxMin, h - rxMin); - c.arcTo(rxMin, rxMin, 0, 0, 1, w * 0.5, h); - c.arcTo(rxMin, rxMin, 0, 0, 1, w * 0.5 - rxMin, h - rxMin); - - if (rx * 0.04 > 4) - { - c.arcTo(rxMin, rxMin, 0, 0, 1, w * 0.5 - rx * 0.04, h - rx * 0.19); - c.arcTo(rxMin * 0.5, rxMin * 0.5, 0, 0, 0, w * 0.5 - 2, h - rx * 0.22); - } - else - { - c.arcTo(rxMin, rxMin, 0, 0, 1, w * 0.5 - 2, h - 2 * rxMin); - } - - c.close(); - c.moveTo(w * 0.5, rx * 0.2); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5 - rx * 0.8, rx * 0.8); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5, rx * 1.8); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5 + rx * 0.8, rx * 0.8); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5, rx * 0.2); - c.close(); - c.moveTo(w * 0.5, h - rxMin * 1.75); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5 - rxMin * 0.75, h - rxMin ); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5, h - rxMin * 0.25); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5 + rxMin * 0.75, h - rxMin); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5, h - rxMin * 1.75); - c.close(); - c.fill(); - - c.setFillColor(fillColor); - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.5, rx * 0.2); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5 - rx * 0.8, rx * 0.8); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5, rx * 1.8); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5 + rx * 0.8, rx * 0.8); - c.arcTo(rx * 0.8, rx * 0.8, 0, 0, 0, w * 0.5, rx * 0.2); - c.close(); - c.moveTo(w * 0.5, h - rxMin * 1.75); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5 - rxMin * 0.75, h - rxMin ); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5, h - rxMin * 0.25); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5 + rxMin * 0.75, h - rxMin); - c.arcTo(rxMin * 0.75, rxMin * 0.75, 0, 0, 0, w * 0.5, h - rxMin * 1.75); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicCircularCallout2.prototype.cst.CIRCULAR_CALLOUT_2, mxShapeInfographicCircularCallout2); - -mxShapeInfographicCircularCallout2.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var rx = Math.max(0, Math.min(w * 0.5, h * 0.4, h * 0.5 - 7)); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - rx, rx)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + rx, rx)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Banner Single Fold -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicBannerSingleFold(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dy = 0.5; - this.dx2 = 0.5; - this.notch = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicBannerSingleFold, mxActor); - -mxShapeInfographicBannerSingleFold.prototype.cst = {BANNER_SINGLE_FOLD : 'mxgraph.infographic.bannerSingleFold'}; - -mxShapeInfographicBannerSingleFold.prototype.customProperties = [ - {name:'dx', dispName: 'Fold Length', type:'float', defVal:32, min:0}, - {name:'dy', dispName: 'Banner Width', type:'float', defVal:17, min:0}, - {name:'notch', dispName: 'Notch', type:'float', defVal:15, min:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicBannerSingleFold.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - dx = Math.min(w - 2 * dy, dx); - - var dx2 = Math.max(0, Math.min(w - dx - 2 * dy, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - - notch = Math.min(dx, notch); - - c.begin(); - c.moveTo(dx2, 0); - c.lineTo(w - dx, 0); - c.lineTo(w - dx, dy); - c.lineTo(w, dy); - c.lineTo(w - notch, (h - dy) * 0.5 + dy); - c.lineTo(w, h); - c.lineTo(w - dx - 2 * dy, h); - c.lineTo(w - dx - 2 * dy, h - dy); - c.lineTo(dx2, h - dy); - c.lineTo(0, (h - dy) * 0.5); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.05'); - c.setFillColor('#000000'); - c.begin(); - c.moveTo(w,dy); - c.lineTo(w - dx, dy); - c.lineTo(w - dx, h - dy); - c.lineTo(w - dx - 2 * dy, h); - c.lineTo(w, h); - c.lineTo(w - notch, (h - dy) * 0.5 + dy); - c.close(); - c.fill(); - - c.setFillAlpha('0.4'); - c.begin(); - c.moveTo(w - dx, h - dy); - c.lineTo(w - dx - 2 * dy, h - dy); - c.lineTo(w - dx - 2 * dy, h); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(dx2, 0); - c.lineTo(w - dx, 0); - c.lineTo(w - dx, dy); - c.lineTo(w, dy); - c.lineTo(w - notch, (h - dy) * 0.5 + dy); - c.lineTo(w, h); - c.lineTo(w - dx - 2 * dy, h); - c.lineTo(w - dx - 2 * dy, h - dy); - c.lineTo(dx2, h - dy); - c.lineTo(0, (h - dy) * 0.5); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicBannerSingleFold.prototype.cst.BANNER_SINGLE_FOLD, mxShapeInfographicBannerSingleFold); - -Graph.handleFactory[mxShapeInfographicBannerSingleFold.prototype.cst.BANNER_SINGLE_FOLD] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(dx, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + bounds.width - notch, bounds.y + dy + (bounds.height - dy) * 0.5); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width, (bounds.width + bounds.x - pt.x)))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - var dx2 = Math.max(0, Math.min(bounds.width - dx, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - - return new mxPoint(bounds.x + dx2, bounds.y + (bounds.height - dy) * 0.5); - }, function(bounds, pt) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - dx - 2 * dy, pt.x - bounds.x))) / 100; - }); - - handles.push(handle3); - - - return handles; -}; - -mxShapeInfographicBannerSingleFold.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - dx = Math.min(w - 2 * dy, dx); - var dx2 = Math.max(0, Math.min(w - dx - 2 * dy, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - notch = Math.min(dx, notch); - var w2 = w - dx - dx2; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.75, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx * 0.25, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx * 0.5, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx * 0.75, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - notch, (h + dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx - 2 * dy, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - (dx + 2 * dy) * 0.75, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - (dx + 2 * dy) * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - (dx + 2 * dy) * 0.25, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.25, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.5, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.75, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2, h - dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Shaded Cube -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicShadedCube(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.isoAngle = 15; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicShadedCube, mxActor); - -mxShapeInfographicShadedCube.prototype.cst = {SHADED_CUBE : 'mxgraph.infographic.shadedCube'}; - -mxShapeInfographicShadedCube.prototype.customProperties = [ - {name:'isoAngle', dispName: 'Perspective', type:'float', defVal:15, min:0} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicShadedCube.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var isoAngle = Math.max(0.01, Math.min(94, parseFloat(mxUtils.getValue(this.style, 'isoAngle', this.isoAngle)))) * Math.PI / 200 ; - var isoH = Math.min(w * Math.tan(isoAngle), h * 0.5); - - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w, isoH); - c.lineTo(w, h - isoH); - c.lineTo(w * 0.5, h); - c.lineTo(0, h - isoH); - c.lineTo(0, isoH); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - - c.begin(); - c.moveTo(w * 0.5, 2 * isoH); - c.lineTo(w, isoH); - c.lineTo(w, h - isoH); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); - - c.setFillColor('#ffffff'); - c.begin(); - c.moveTo(w * 0.5, 2 * isoH); - c.lineTo(0, isoH); - c.lineTo(0, h - isoH); - c.lineTo(w * 0.5, h); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicShadedCube.prototype.cst.SHADED_CUBE, mxShapeInfographicShadedCube); - -Graph.handleFactory[mxShapeInfographicShadedCube.prototype.cst.SHADED_CUBE] = function(state) -{ - var handles = [Graph.createHandle(state, ['isoAngle'], function(bounds) - { - var isoAngle = Math.max(0.01, Math.min(94, parseFloat(mxUtils.getValue(this.state.style, 'isoAngle', this.isoAngle)))) * Math.PI / 200 ; - var isoH = Math.min(bounds.width * Math.tan(isoAngle), bounds.height * 0.5); - - return new mxPoint(bounds.x, bounds.y + isoH); - }, function(bounds, pt) - { - this.state.style['isoAngle'] = Math.round(100 * Math.max(0, Math.min(100, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicShadedCube.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var isoAngle = Math.max(0.01, Math.min(94, parseFloat(mxUtils.getValue(this.style, 'isoAngle', this.isoAngle)))) * Math.PI / 200 ; - var isoH = Math.min(w * Math.tan(isoAngle), h * 0.5); - - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, isoH * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, isoH + (h - 2 * isoH) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, isoH + (h - 2 * isoH) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, isoH + (h - 2 * isoH) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, h - isoH * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, h - isoH * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, isoH + (h - 2 * isoH) * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, isoH + (h - 2 * isoH) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, isoH + (h - 2 * isoH) * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, isoH)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, isoH * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Partial Concentric Ellipse -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicPartConcEllipse(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.startAngle = 0.25; - this.endAngle = 0.75; - this.arcWidth = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicPartConcEllipse, mxActor); - -mxShapeInfographicPartConcEllipse.prototype.cst = {PART_CONC_ELLIPSE : 'mxgraph.infographic.partConcEllipse'}; - -mxShapeInfographicPartConcEllipse.prototype.customProperties = [ - {name:'startAngle', dispName:'Start Angle', min:0, max:1, defVal: 0.25}, - {name:'endAngle', dispName:'End Angle', min:0, max:1, defVal: 0.1}, - {name:'arcWidth', dispName:'Arc Width', min:0, max:1, defVal: 0.5} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicPartConcEllipse.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'startAngle', this.startAngle)))); - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'endAngle', this.endAngle)))); - var arcWidth = 1 - Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'arcWidth', this.arcWidth)))); - var rx = w * 0.5; - var ry = h * 0.5; - var rx2 = rx * arcWidth; - var ry2 = ry * arcWidth; - - var angDiff = endAngle - startAngle; - - if (angDiff < 0) - { - angDiff = angDiff + Math.PI * 2; - } - else if (angDiff == Math.PI) - { - endAngle = endAngle + 0.00001; - } - - var startX = rx + Math.sin(startAngle) * rx; - var startY = ry - Math.cos(startAngle) * ry; - var innerStartX = rx + Math.sin(startAngle) * rx2; - var innerStartY = ry - Math.cos(startAngle) * ry2; - var endX = rx + Math.sin(endAngle) * rx; - var endY = ry - Math.cos(endAngle) * ry; - var innerEndX = rx + Math.sin(endAngle) * rx2; - var innerEndY = ry - Math.cos(endAngle) * ry2; - - var bigArc = 0; - - if (angDiff <= Math.PI) - { - bigArc = 1; - } - - c.begin(); - c.moveTo(rx, 0); - c.arcTo(rx, ry, 0, 0, 1, w, ry); - c.arcTo(rx, ry, 0, 0, 1, rx, h); - c.arcTo(rx, ry, 0, 0, 1, 0, ry); - c.arcTo(rx, ry, 0, 0, 1, rx, 0); - c.close(); - c.moveTo(rx, h * 0.5 - ry2); - c.arcTo(rx2, ry2, 0, 0, 0, w * 0.5 - rx2, ry); - c.arcTo(rx2, ry2, 0, 0, 0, rx, h * 0.5 + ry2); - c.arcTo(rx2, ry2, 0, 0, 0, w * 0.5 + rx2, ry); - c.arcTo(rx2, ry2, 0, 0, 0, rx, h * 0.5 - ry2); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#ffffff'); - - c.begin(); - c.moveTo(startX, startY); - c.arcTo(rx, ry, 0, bigArc, 0, endX, endY); - c.lineTo(innerEndX, innerEndY); - c.arcTo(rx2, ry2, 0, bigArc, 1, innerStartX, innerStartY); - c.close(); - c.fill(); - - var rx = w * 0.5; - var ry = h * 0.5; - var rx2 = rx * arcWidth; - var ry2 = ry * arcWidth; - - var rx3 = rx2 + (rx - rx2) * 0.25; - var ry3 = ry2 + (ry - ry2) * 0.25; - - c.setFillColor('#000000'); - - c.begin(); - c.moveTo(rx, h * 0.5 - ry2); - c.arcTo(rx2, ry2, 0, 0, 1, w * 0.5 + rx2, ry); - c.arcTo(rx2, ry2, 0, 0, 1, rx, h * 0.5 + ry2); - c.arcTo(rx2, ry2, 0, 0, 1, w * 0.5 - rx2, ry); - c.arcTo(rx2, ry2, 0, 0, 1, rx, h * 0.5 - ry2); - c.close(); - c.moveTo(rx, h * 0.5 - ry3); - c.arcTo(rx3, ry3, 0, 0, 0, w * 0.5 - rx3, ry); - c.arcTo(rx3, ry3, 0, 0, 0, rx, h * 0.5 + ry3); - c.arcTo(rx3, ry3, 0, 0, 0, w * 0.5 + rx3, ry); - c.arcTo(rx3, ry3, 0, 0, 0, rx, h * 0.5 - ry3); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE, mxShapeInfographicPartConcEllipse); - -Graph.handleFactory[mxShapeInfographicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE] = function(state) -{ - var handles = [Graph.createHandle(state, ['startAngle'], function(bounds) - { - var startAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'startAngle', this.startAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(startAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(startAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['startAngle'] = res; - - })]; - - var handle2 = Graph.createHandle(state, ['endAngle'], function(bounds) - { - var endAngle = 2 * Math.PI * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'endAngle', this.endAngle)))); - - return new mxPoint(bounds.x + bounds.width * 0.5 + Math.sin(endAngle) * bounds.width * 0.5, bounds.y + bounds.height * 0.5 - Math.cos(endAngle) * bounds.height * 0.5); - }, function(bounds, pt) - { - var handleX = Math.round(100 * Math.max(-1, Math.min(1, (pt.x - bounds.x - bounds.width * 0.5) / (bounds.width * 0.5)))) / 100; - var handleY = -Math.round(100 * Math.max(-1, Math.min(1, (pt.y - bounds.y - bounds.height * 0.5) / (bounds.height * 0.5)))) / 100; - - var res = 0.5 * Math.atan2(handleX, handleY) / Math.PI; - - if (res < 0) - { - res = 1 + res; - } - - this.state.style['endAngle'] = res; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['arcWidth'], function(bounds) - { - var arcWidth = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'arcWidth', this.arcWidth)))); - - return new mxPoint(bounds.x + bounds.width / 2, bounds.y + arcWidth * bounds.height * 0.5); - }, function(bounds, pt) - { - this.state.style['arcWidth'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, (pt.y - bounds.y) / (bounds.height * 0.5)))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeInfographicPartConcEllipse.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Banner Half Fold -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicBannerHalfFold(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dx2 = 0.5; - this.notch = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicBannerHalfFold, mxActor); - -mxShapeInfographicBannerHalfFold.prototype.cst = {BANNER_HALF_FOLD : 'mxgraph.infographic.bannerHalfFold'}; - -mxShapeInfographicBannerHalfFold.prototype.customProperties = [ - {name:'dx', dispName:'Banner Width', min:0, defVal: 40}, - {name:'dx2', dispName:'Spike Size', min:0, defVal: 20}, - {name:'notch', dispName:'Notch Size', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicBannerHalfFold.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dx2 = Math.max(0, Math.min(w - dx, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(h - dx, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - - c.begin(); - c.moveTo(dx2, 0); - c.lineTo(w - dx, 0); - c.lineTo(w, dx); - c.lineTo(w, h); - c.lineTo(w - dx * 0.5, h - notch); - c.lineTo(w - dx, h); - c.lineTo(w - dx, dx); - c.lineTo(dx2, dx); - c.lineTo(0, dx * 0.5); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - c.begin(); - c.moveTo(w - dx, dx); - c.lineTo(w, dx); - c.lineTo(w, h); - c.lineTo(w - dx * 0.5, h - notch); - c.lineTo(w - dx, h); - c.lineTo(w - dx, dx); - c.lineTo(0, dx); - c.close(); - c.fill(); - - c.begin(); - c.moveTo(dx2, 0); - c.lineTo(w - dx, 0); - c.lineTo(w, dx); - c.lineTo(w, h); - c.lineTo(w - dx * 0.5, h - notch); - c.lineTo(w - dx, h); - c.lineTo(w - dx, dx); - c.lineTo(dx2, dx); - c.lineTo(0, dx * 0.5); - c.close(); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicBannerHalfFold.prototype.cst.BANNER_HALF_FOLD, mxShapeInfographicBannerHalfFold); - -Graph.handleFactory[mxShapeInfographicBannerHalfFold.prototype.cst.BANNER_HALF_FOLD] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dx); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var notch = Math.max(0, Math.min(bounds.height - dx, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); - - return new mxPoint(bounds.x + bounds.width - dx * 0.5, bounds.y + bounds.height - notch); - }, function(bounds, pt) - { - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.height, (bounds.height + bounds.y - pt.y)))) / 100; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['dx2'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dx2 = Math.max(0, Math.min(bounds.width - dx, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); - - return new mxPoint(bounds.x + dx2, bounds.y + dx); - }, function(bounds, pt) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - dx, pt.x - bounds.x))) / 100; - }); - - handles.push(handle3); - - return handles; -}; - -mxShapeInfographicBannerHalfFold.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dx2 = Math.max(0, Math.min(w - dx, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2)))); - var notch = Math.max(0, Math.min(h - dx, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); - var w2 = w - dx - dx2; - var h2 = h - dx; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dx * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.75, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx * 0.5, dx * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dx + h2 * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dx + h2 * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, dx + h2 * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx * 0.5, h - notch)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dx + h2 * 0.75)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dx + h2 * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dx + h2 * 0.25)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.25, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.5, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 + w2 * 0.75, dx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2, dx)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Circular Dial -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicCircularDial(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicCircularDial, mxActor); - -mxShapeInfographicCircularDial.prototype.cst = {CIRCULAR_DIAL : 'mxgraph.infographic.circularDial'}; - -mxShapeInfographicCircularDial.prototype.customProperties = [ - {name:'dy', dispName:'Hole Size', min:0, defVal: 15} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicCircularDial.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy = Math.max(0, Math.min(h * 0.5 - 10, w * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - var rx = Math.max(0, Math.min(w * 0.5, h * 0.5 - 10)); - var rx2 = rx - dy; - - c.begin(); - c.moveTo(w * 0.5 - rx, h); - c.lineTo(w * 0.5 - rx, rx); - c.arcTo(rx, rx, 0, 0, 1, w * 0.5, 0); - c.arcTo(rx, rx, 0, 0, 1, w * 0.5 + rx, rx); - c.lineTo(w * 0.5 + rx, h); - c.close(); - c.moveTo(w * 0.5, dy); - c.arcTo(rx2, rx2, 0, 0, 0, w * 0.5 - rx2, rx); - c.arcTo(rx2, rx2, 0, 0, 0, w * 0.5, rx + rx2); - c.arcTo(rx2, rx2, 0, 0, 0, w * 0.5 + rx2, rx); - c.arcTo(rx2, rx2, 0, 0, 0, w * 0.5, dy); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#000000'); - - c.begin(); - c.moveTo(w * 0.5 - rx, 2 * rx); - c.lineTo(w * 0.5 + rx, 2 * rx); - c.lineTo(w * 0.5 + rx, h); - c.lineTo(w * 0.5 - rx, h); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicCircularDial.prototype.cst.CIRCULAR_DIAL, mxShapeInfographicCircularDial); - -Graph.handleFactory[mxShapeInfographicCircularDial.prototype.cst.CIRCULAR_DIAL] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy'], function(bounds) - { - var dy = Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + bounds.width * 0.5, bounds.y + dy); - }, function(bounds, pt) - { - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2, bounds.width / 2, pt.y - bounds.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicCircularDial.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dy = Math.max(0, Math.min(h * 0.5 - 10, w * 0.5, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var rx = Math.max(0, Math.min(w * 0.5, h * 0.5 - 10)); - var rx2 = rx - dy; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - rx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - rx, (rx + h) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - rx, rx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - rx * 0.71, rx * 0.29)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + rx * 0.71, rx * 0.29)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + rx, rx)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + rx, (rx + h) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + rx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + rx * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - rx * 0.5, h)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Simple ribbon -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicRibbonSimple(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.notch1 = 0.5; - this.notch2 = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicRibbonSimple, mxActor); - -mxShapeInfographicRibbonSimple.prototype.cst = {RIBBON_SIMPLE : 'mxgraph.infographic.ribbonSimple'}; - -mxShapeInfographicRibbonSimple.prototype.customProperties = [ - {name:'notch1', dispName:'Notch Size', min:0, defVal: 20}, - {name:'notch2', dispName:'Spike Size', min:0, defVal: 20} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicRibbonSimple.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var notch1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch1', this.notch2)))); - var notch2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch2', this.notch2)))); - - c.begin(); - c.moveTo(0, h); - c.lineTo(notch1, h * 0.5); - c.lineTo(0, 0); - c.lineTo(w - notch2, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w - notch2, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicRibbonSimple.prototype.cst.RIBBON_SIMPLE, mxShapeInfographicRibbonSimple); - -Graph.handleFactory[mxShapeInfographicRibbonSimple.prototype.cst.RIBBON_SIMPLE] = function(state) -{ - var handles = [Graph.createHandle(state, ['notch1'], function(bounds) - { - var notch1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch1', this.notch1)))); - - return new mxPoint(bounds.x + notch1, bounds.y + bounds.height * 0.5); - }, function(bounds, pt) - { - this.state.style['notch1'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - })]; - - var handle2 = Graph.createHandle(state, ['notch2'], function(bounds) - { - var notch2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch2', this.notch2)))); - - return new mxPoint(bounds.x + bounds.width - notch2, bounds.y); - }, function(bounds, pt) - { - this.state.style['notch2'] = Math.round(100 * Math.max(0, Math.min(bounds.width, (bounds.width + bounds.x - pt.x)))) / 100; - }); - - handles.push(handle2); - - return handles; -}; - -mxShapeInfographicRibbonSimple.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var notch1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch1', this.notch2)))); - var notch2 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch2', this.notch2)))); - var w2 = w - notch2; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 * 0.25, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 * 0.5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 * 0.75, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 * 0.75, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w2 * 0.25, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch1, h * 0.5)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Bar with callout -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicBarCallout(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicBarCallout, mxActor); - -mxShapeInfographicBarCallout.prototype.cst = {BAR_CALLOUT : 'mxgraph.infographic.barCallout'}; - -mxShapeInfographicBarCallout.prototype.customProperties = [ - {name:'dx', dispName:'Callout Position', min:0, defVal: 100}, - {name:'dy', dispName:'Callout Size', min:0, defVal: 30} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicBarCallout.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - var x1 = Math.max(dx - dy * 0.35, 0); - var x2 = Math.min(dx + dy * 0.35, w); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h - dy); - c.lineTo(x2, h - dy); - c.lineTo(dx, h); - c.lineTo(x1, h - dy); - c.lineTo(0, h - dy); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicBarCallout.prototype.cst.BAR_CALLOUT, mxShapeInfographicBarCallout); - -mxShapeInfographicBarCallout.prototype.constraints = null; - -Graph.handleFactory[mxShapeInfographicBarCallout.prototype.cst.BAR_CALLOUT] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height, bounds.y + bounds.height - pt.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicBarCallout.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - var x1 = Math.max(dx - dy * 0.35, 0); - var x2 = Math.min(dx + dy * 0.35, w); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Flag -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeInfographicFlag(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; - this.dx = 0.5; - this.dy = 0.5; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeInfographicFlag, mxActor); - -mxShapeInfographicFlag.prototype.cst = {FLAG : 'mxgraph.infographic.flag'}; - -mxShapeInfographicFlag.prototype.customProperties = [ - {name:'dx', dispName:'Pole Width', min:0, defVal: 30}, - {name:'dy', dispName:'Spike Size', min:0, defVal: 20} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeInfographicFlag.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h - dy); - c.lineTo(dx, h - dy); - c.lineTo(dx * 0.5, h); - c.lineTo(0, h - dy); - c.close(); - c.fillAndStroke(); - - c.setShadow(false); - c.setFillAlpha('0.2'); - c.setFillColor('#ffffff'); - c.begin(); - c.moveTo(0, 0); - c.lineTo(dx, 0); - c.lineTo(dx, h - dy); - c.lineTo(dx * 0.5, h); - c.lineTo(0, h - dy); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape(mxShapeInfographicFlag.prototype.cst.FLAG, mxShapeInfographicFlag); - -Graph.handleFactory[mxShapeInfographicFlag.prototype.cst.FLAG] = function(state) -{ - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) - { - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); - - return new mxPoint(bounds.x + dx, bounds.y + bounds.height - dy); - }, function(bounds, pt) - { - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height, bounds.y + bounds.height - pt.y))) / 100; - })]; - - return handles; -}; - -mxShapeInfographicFlag.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); - var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - dy) * 0.5)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.75, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25, h - dy)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx * 0.5, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx * 0.5, 0)); - - return (constr); -}; - diff --git a/dist/libs/drawio/shapes/mxLeanMap.js b/dist/libs/drawio/shapes/mxLeanMap.js deleted file mode 100644 index 15a899d5..00000000 --- a/dist/libs/drawio/shapes/mxLeanMap.js +++ /dev/null @@ -1,2229 +0,0 @@ -/** - * $Id: mxLeanMap.js,v 1.3 2013/05/30 14:19:14 mate Exp $ - * Copyright (c) 2006-2013, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Boat Shipment -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxLeanBoatShipment(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxLeanBoatShipment, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxLeanBoatShipment.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.begin(); - c.moveTo(w * 0.15, h * 0.77); - c.lineTo(w * 0.5, 0); - c.lineTo(w * 0.85, h * 0.77); - c.close(); - c.moveTo(w * 0.2, h); - c.lineTo(0, h * 0.8); - c.lineTo(w, h * 0.8); - c.lineTo(w * 0.8, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.boat_shipment', mxLeanBoatShipment); - -mxLeanBoatShipment.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), false), - new mxConnectionConstraint(new mxPoint(0.5, 1), false), - new mxConnectionConstraint(new mxPoint(0, 0.8), false), - new mxConnectionConstraint(new mxPoint(1, 0.8), false), - new mxConnectionConstraint(new mxPoint(0.2, 1), false), - new mxConnectionConstraint(new mxPoint(0.8, 1), false), - new mxConnectionConstraint(new mxPoint(0.26, 0.5), false), - new mxConnectionConstraint(new mxPoint(0.74, 0.5), false) - ]; - -//********************************************************************************************************************************************************** -//Safety Stock -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxLeanSafetyStock(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxLeanSafetyStock, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxLeanSafetyStock.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxLeanSafetyStock.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxLeanSafetyStock.prototype.foreground = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.34); - c.lineTo(w, h * 0.34); - c.moveTo(0, h * 0.66); - c.lineTo(w, h * 0.66); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.buffer_or_safety_stock', mxLeanSafetyStock); - -mxLeanSafetyStock.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Data Box -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxLeanDataBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxLeanDataBox, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxLeanDataBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxLeanDataBox.prototype.background = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.fillAndStroke(); -}; - -mxLeanDataBox.prototype.foreground = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.2); - c.lineTo(w, h * 0.2); - c.moveTo(0, h * 0.4); - c.lineTo(w, h * 0.4); - c.moveTo(0, h * 0.6); - c.lineTo(w, h * 0.6); - c.moveTo(0, h * 0.8); - c.lineTo(w, h * 0.8); - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.data_box', mxLeanDataBox); - -mxLeanDataBox.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Customer / Supplier -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxLeanCustomerSupplier(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxLeanCustomerSupplier, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxLeanCustomerSupplier.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); -}; - -mxLeanCustomerSupplier.prototype.background = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h); - c.lineTo(0, h * 0.3); - c.lineTo(w * 0.33, h * 0.02); - c.lineTo(w * 0.33, h * 0.3); - c.lineTo(w * 0.67, h * 0.02); - c.lineTo(w * 0.67, h * 0.3); - c.lineTo(w, h * 0.02); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.outside_sources', mxLeanCustomerSupplier); - -mxLeanCustomerSupplier.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.33, 0), true), - new mxConnectionConstraint(new mxPoint(0.67, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.3), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Dedicated Process -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxLeanDedicatedProcess(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxLeanDedicatedProcess, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxLeanDedicatedProcess.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var fontSize = parseFloat(mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8')); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h, fontSize); -}; - -mxLeanDedicatedProcess.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxLeanDedicatedProcess.prototype.foreground = function(c, w, h, fontSize) -{ - var lineH = Math.min(fontSize * 1.5, h); - c.begin(); - c.moveTo(0, lineH); - c.lineTo(w, lineH); - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.manufacturing_process', mxLeanDedicatedProcess); - -mxLeanDedicatedProcess.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Shared Process -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxLeanSharedProcess(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxLeanSharedProcess, mxShape); - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxLeanSharedProcess.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var fontSize = parseFloat(mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8')); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h, fontSize); -}; - -mxLeanSharedProcess.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxLeanSharedProcess.prototype.foreground = function(c, w, h, fontSize) -{ - var lineH = Math.min(fontSize * 1.5, h); - c.begin(); - c.moveTo(0, lineH); - c.lineTo(w, lineH); - c.stroke(); - - var start = 0; - var i = 0; - var s = 10; - var offset = 0; - c.begin(); - var strokeWidth = parseFloat(mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '2')); - c.setStrokeWidth(strokeWidth * 0.5); - - while (start < h + w) - { - start = start + s; - if (start > lineH) - { - var startX = Math.max(0, start - h); - var startY = Math.min(start, h); - - var endX = Math.min(start - lineH, w); - - var endY = lineH; - var endY = Math.max(start - w, lineH); - - if (startX < w) - { - c.moveTo(startX, startY); - c.lineTo(endX, endY); - } - } - }; - - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.manufacturing_process_shared', mxLeanSharedProcess); - -mxLeanSharedProcess.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -// Workcell -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanWorkcell(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanWorkcell, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanWorkcell.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(w * 0.65, h); - c.lineTo(w * 0.65, h * 0.4); - c.lineTo(w * 0.35, h * 0.4); - c.lineTo(w * 0.35, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.work_cell', mxLeanWorkcell); - -mxLeanWorkcell.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Inventory Box -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanInventoryBox(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanInventoryBox, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanInventoryBox.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h); - c.close(); - c.fillAndStroke(); - c.setShadow(false); - c.begin(); - c.moveTo(w * 0.4, h * 0.45); - c.lineTo(w * 0.6, h * 0.45); - c.moveTo(w * 0.5, h * 0.45); - c.lineTo(w * 0.5, h * 0.85); - c.moveTo(w * 0.4, h * 0.85); - c.lineTo(w * 0.6, h * 0.85); - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.inventory_box', mxLeanInventoryBox); - -mxLeanInventoryBox.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.375, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.25, 0.5), false), - new mxConnectionConstraint(new mxPoint(0.125, 0.75), false), - new mxConnectionConstraint(new mxPoint(0.625, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.75, 0.5), false), - new mxConnectionConstraint(new mxPoint(0.875, 0.75), false), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Push Arrow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanPushArrow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanPushArrow, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanPushArrow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxLeanPushArrow.prototype.background = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.17); - c.lineTo(w * 0.75, h * 0.17); - c.lineTo(w * 0.75, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.75, h); - c.lineTo(w * 0.75, h * 0.83); - c.lineTo(0, h * 0.83); - c.close(); - c.fillAndStroke(); -}; - -mxLeanPushArrow.prototype.foreground = function(c, w, h, fontSize) -{ - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.rect(0, h * 0.17, w * 0.12, h * 0.66); - c.fill(); - c.rect(w * 0.24, h * 0.17, w * 0.12, h * 0.66); - c.fill(); - c.rect(w * 0.48, h * 0.17, w * 0.12, h * 0.66); - c.fill(); - - c.begin(); - c.moveTo(w * 0.72, h * 0.17); - c.lineTo(w * 0.75, h * 0.17); - c.lineTo(w * 0.75, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.75, h); - c.lineTo(w * 0.75, h * 0.83); - c.lineTo(w * 0.72, h * 0.83); - c.close(); - c.fill(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.push_arrow', mxLeanPushArrow); - -mxLeanPushArrow.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.25, 0.17), false), - new mxConnectionConstraint(new mxPoint(0.5, 0.17), false), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.17), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.83), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.25, 0.83), false), - new mxConnectionConstraint(new mxPoint(0.5, 0.83), false), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Supermarket -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanSupermarket(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanSupermarket, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanSupermarket.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.moveTo(0, h * 0.33); - c.lineTo(w, h * 0.33); - c.moveTo(0, h * 0.67); - c.lineTo(w, h * 0.67); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.supermarket', mxLeanSupermarket); - -mxLeanSupermarket.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Material Pull -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanMaterialPull(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanMaterialPull, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanMaterialPull.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(w * 0.732, h * 0.0736); - c.arcTo(w * 0.4827, h * 0.4959, 0, 1, 0, w * 0.9553, h * 0.6191); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.9071, h * 0.6191); - c.lineTo(w * 0.9794, h * 0.4951); - c.lineTo(w, h * 0.6438); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.physical_pull', mxLeanMaterialPull); - -mxLeanMaterialPull.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.98, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.144, 0.144), false), - new mxConnectionConstraint(new mxPoint(0.144, 0.845), false), - new mxConnectionConstraint(new mxPoint(0.845, 0.845), false) - ]; - -//********************************************************************************************************************************************************** -//FIFO Lane -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanFifoLane(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanFifoLane, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanFifoLane.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - var fontSize = parseFloat(mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '8')); - - this.background(c, w, h, fontSize); - c.setShadow(false); -}; - -mxLeanFifoLane.prototype.background = function(c, w, h, fontSize) -{ - var lineH = Math.min(fontSize * 1.5, h); - c.begin(); - c.moveTo(0, lineH); - c.lineTo(w, lineH); - c.moveTo(0, h); - c.lineTo(w, h); - c.stroke(); - - c.rect(w * 0.02, lineH + 4, w * 0.26, h - lineH - 8); - c.fillAndStroke(); - - c.ellipse(w * 0.35, lineH + 4, w * 0.26, h - lineH - 8); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.69, lineH + 4); - c.lineTo(w * 0.98, lineH + 4); - c.lineTo(w * 0.835, h - 4); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.fifo_lane', mxLeanFifoLane); - -mxLeanFifoLane.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Truck Shipment -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanTruckShipment(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanTruckShipment, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanTruckShipment.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); -}; - -mxLeanTruckShipment.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w * 0.6, h * 0.8); - c.fillAndStroke(); - - c.rect(w * 0.6, h * 0.35, w * 0.4, h * 0.45); - c.fillAndStroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.ellipse(w * 0.15, h * 0.8, w * 0.2, h * 0.2); - c.fillAndStroke(); - - c.ellipse(w * 0.65, h * 0.8, w * 0.2, h * 0.2); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.truck_shipment', mxLeanTruckShipment); - -mxLeanTruckShipment.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.6, 0.35), false), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 0.8), false), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Production Control -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanProductionControl(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanProductionControl, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanProductionControl.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.schedule', mxLeanProductionControl); - -mxLeanProductionControl.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - - -//********************************************************************************************************************************************************** -//FIFO Sequence -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanFifoSequence(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanFifoSequence, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanFifoSequence.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.moveTo(0, h); - c.lineTo(w, h); - c.moveTo(w * 0.05, h * 0.5); - c.lineTo(w * 0.15, h * 0.5); - c.moveTo(w * 0.75, h * 0.5); - c.lineTo(w * 0.88, h * 0.5); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.88, h * 0.39); - c.lineTo(w * 0.98, h * 0.5); - c.lineTo(w * 0.88, h * 0.61); - c.fillAndStroke(); - -// c.setFontSize(Math.min(h * 0.5, w * 0.2)); -// c.setFontColor(strokeColor); -// c.text(w * 0.5, h * 0.5, 0, 0, 'FIFO', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.fifo_sequence_flow', mxLeanFifoSequence); - -mxLeanFifoSequence.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Production Kanban -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanProductionKanban(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanProductionKanban, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanProductionKanban.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setDashed(true); - c.begin(); - c.moveTo(4, h - 10); - c.lineTo(4, 25); - c.lineTo(w, 25); - c.stroke(); - - c.setDashed(false); - c.begin(); - c.moveTo(w - 75, 0); - c.lineTo(w - 30, 0); - c.lineTo(w - 15, 15); - c.lineTo(w - 15, 50); - c.lineTo(w - 75, 50); - c.close(); - c.fillAndStroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(0, h - 10); - c.lineTo(4, h); - c.lineTo(8, h - 10); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.production_kanban', mxLeanProductionKanban); - -mxLeanProductionKanban.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 4, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, 25)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Withdrawal Kanban -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanWithdrawalKanban(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanWithdrawalKanban, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanWithdrawalKanban.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setDashed(true); - c.begin(); - c.moveTo(4, h - 10); - c.lineTo(4, 25); - c.lineTo(w, 25); - c.stroke(); - - c.setDashed(false); - c.begin(); - c.moveTo(w - 75, 0); - c.lineTo(w - 30, 0); - c.lineTo(w - 15, 15); - c.lineTo(w - 15, 50); - c.lineTo(w - 75, 50); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w - 75, 45); - c.lineTo(w - 70, 50); - c.moveTo(w - 75, 35); - c.lineTo(w - 60, 50); - c.moveTo(w - 75, 25); - c.lineTo(w - 50, 50); - c.moveTo(w - 75, 15); - c.lineTo(w - 40, 50); - c.moveTo(w - 75, 5); - c.lineTo(w - 30, 50); - c.moveTo(w - 70, 0); - c.lineTo(w - 20, 50); - c.moveTo(w - 60, 0); - c.lineTo(w - 15, 45); - c.moveTo(w - 50, 0); - c.lineTo(w - 15, 35); - c.moveTo(w - 40, 0); - c.lineTo(w - 15, 25); - c.stroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(0, h - 10); - c.lineTo(4, h); - c.lineTo(8, h - 10); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.withdrawal_kanban', mxLeanWithdrawalKanban); - -mxLeanWithdrawalKanban.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 4, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, 25)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Signal Kanban -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanSignalKanban(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanSignalKanban, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanSignalKanban.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.setDashed(true); - c.begin(); - c.moveTo(4, h - 10); - c.lineTo(4, 15); - c.lineTo(w, 15); - c.stroke(); - - c.setDashed(false); - c.begin(); - c.moveTo(w - 65, 0); - c.lineTo(w - 25, 0); - c.lineTo(w - 45, 45); - c.close(); - c.fillAndStroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(0, h - 10); - c.lineTo(4, h); - c.lineTo(8, h - 10); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.signal_kanban', mxLeanSignalKanban); - -mxLeanSignalKanban.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 4, h)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, 15)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Sequenced Pull Ball -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanSequencedPullBall(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanSequencedPullBall, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanSequencedPullBall.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.setShadow(false); - - c.ellipse(w * 0.15, h * 0.15, w * 0.7, h * 0.7); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.sequenced_pull_ball', mxLeanSequencedPullBall); - -mxLeanSequencedPullBall.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.144, 0.144), false), - new mxConnectionConstraint(new mxPoint(0.856, 0.144), false), - new mxConnectionConstraint(new mxPoint(0.856, 0.856), false), - new mxConnectionConstraint(new mxPoint(0.144, 0.856), false), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Rail Shipment -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanRailShipment(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanRailShipment, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanRailShipment.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(w * 0.1, 0, w * 0.35, h * 0.8); - c.fillAndStroke(); - c.rect(w * 0.55, 0, w * 0.35, h * 0.8); - c.fillAndStroke(); - - c.begin(); - c.moveTo(0, h); - c.lineTo(w, h); - c.moveTo(w * 0.45, h * 0.7); - c.lineTo(w * 0.55, h * 0.7); - c.stroke(); - - c.ellipse(w * 0.15, h * 0.8, w * 0.06, h * 0.2); - c.fillAndStroke(); - c.ellipse(w * 0.34, h * 0.8, w * 0.06, h * 0.2); - c.fillAndStroke(); - c.ellipse(w * 0.6, h * 0.8, w * 0.06, h * 0.2); - c.fillAndStroke(); - c.ellipse(w * 0.79, h * 0.8, w * 0.06, h * 0.2); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.rail_shipment', mxLeanRailShipment); - -mxLeanRailShipment.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0.1, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.1, 0.5), false), - new mxConnectionConstraint(new mxPoint(0.1, 0.75), false), - new mxConnectionConstraint(new mxPoint(0.9, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.9, 0.5), false), - new mxConnectionConstraint(new mxPoint(0.9, 0.75), false), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Warehouse -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanWarehouse(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanWarehouse, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanWarehouse.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, 0, w, h); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(0, h * 0.4); - c.lineTo(w, h * 0.4); - c.moveTo(w * 0.15, h); - c.lineTo(w * 0.15, h * 0.55); - c.lineTo(w * 0.3, h * 0.55); - c.lineTo(w * 0.3, h); - c.stroke(); - - c.ellipse(w * 0.27, h * 0.75, w * 0.02, w * 0.02); - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.warehouse', mxLeanWarehouse); - -mxLeanWarehouse.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Timeline -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanTimeline(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanTimeline, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanTimeline.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var shapeInfo = mxUtils.getValue(this.style, 'mainText', '20,Time 1,50,Time 2,30,Time 3,40,Time 4,30,Time 5,50,Time 6,20,Time 7').toString().split(','); - var fontSize = mxUtils.getValue(this.style, mxConstants.STYLE_FONTSIZE, '12'); - var times = new Array(); - var totalTime = 0; - - for (var i = 0; i < shapeInfo.length; i = i + 2) - { - var currTime = parseFloat(shapeInfo[i]); - times.push(currTime); - totalTime = totalTime + currTime; - }; - - var scaleX = w / totalTime; - var names = new Array(); - - for (var i = 1; i < shapeInfo.length; i = i + 2) - { - names.push(shapeInfo[i]); - }; - - c.begin(); - var currX = 0; - c.moveTo(0, h); - - for (var i = 0; i < names.length; i++) - { - var currTime = times[i] * scaleX; - currX = currX + currTime; - - if (i % 2 === 0) - { - c.lineTo(currX, h); - c.lineTo(currX, fontSize * 1.5); - c.text(currX - currTime * 0.5, h - fontSize * 0.75, 0, 0, names[i], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - else - { - c.lineTo(currX, fontSize * 1.5); - c.lineTo(currX, h); - c.text(currX - currTime * 0.5, fontSize * 0.75, 0, 0, names[i], mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - }; - - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.timeline', mxLeanTimeline); - -//********************************************************************************************************************************************************** -//Cross Dock -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanCrossDock(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanCrossDock, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanCrossDock.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, 0, w, h); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(0, h * 0.25); - c.lineTo(w, h * 0.25); - - c.moveTo(w * 0.1, h * 0.4); - c.lineTo(w * 0.35, h * 0.4); - c.arcTo(w * 0.15, h * 0.15, 0, 0, 1, w * 0.5, h * 0.5); - c.arcTo(w * 0.15, h * 0.15, 0, 0, 0, w * 0.65, h * 0.6); - c.lineTo(w * 0.9, h * 0.6); - c.stroke(); - - c.moveTo(w * 0.1, h * 0.4); - c.lineTo(w * 0.35, h * 0.4); - c.arcTo(w * 0.15, h * 0.25, 0, 0, 1, w * 0.5, h * 0.55); - c.arcTo(w * 0.15, h * 0.25, 0, 0, 0, w * 0.65, h * 0.7); - c.lineTo(w * 0.9, h * 0.7); - c.stroke(); - - c.moveTo(w * 0.1, h * 0.4); - c.lineTo(w * 0.35, h * 0.4); - c.arcTo(w * 0.15, h * 0.3, 0, 0, 1, w * 0.5, h * 0.6); - c.arcTo(w * 0.15, h * 0.3, 0, 0, 0, w * 0.65, h * 0.8); - c.lineTo(w * 0.9, h * 0.8); - c.stroke(); - - c.moveTo(w * 0.1, h * 0.8); - c.lineTo(w * 0.35, h * 0.8); - c.arcTo(w * 0.15, h * 0.3, 0, 0, 0, w * 0.5, h * 0.6); - c.arcTo(w * 0.15, h * 0.3, 0, 0, 1, w * 0.65, h * 0.4); - c.lineTo(w * 0.9, h * 0.4); - c.stroke(); - - c.moveTo(w * 0.1, h * 0.8); - c.lineTo(w * 0.35, h * 0.8); - c.arcTo(w * 0.15, h * 0.1, 0, 0, 0, w * 0.5, h * 0.75); - c.arcTo(w * 0.15, h * 0.1, 0, 0, 1, w * 0.65, h * 0.7); - c.lineTo(w * 0.9, h * 0.7); - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.crossDock', mxLeanCrossDock); - -mxLeanCrossDock.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Orders -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanOrders(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanOrders, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanOrders.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, h * 0.56, w, h * 0.44); - c.fillAndStroke(); - - var strokeWidth = parseFloat(mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '2')); - c.setStrokeWidth(strokeWidth * 0.5); - - c.begin(); - c.moveTo(w * 0.04, h * 0.5418); - c.lineTo(w * 0.94, h * 0.5418); - c.moveTo(w * 0.0522, h * 0.5088); - c.lineTo(w * 0.9522, h * 0.5088); - c.moveTo(w * 0.05, h * 0.4738); - c.lineTo(w * 0.95, h * 0.4738); - c.moveTo(w * 0.0456, h * 0.4427); - c.lineTo(w * 0.9456, h * 0.4427); - c.moveTo(w * 0.0422, h * 0.4135); - c.lineTo(w * 0.9422, h * 0.4135); - c.moveTo(w * 0.0533, h * 0.3804); - c.lineTo(w * 0.9533, h * 0.3804); - c.moveTo(w * 0.0556, h * 0.3454); - c.lineTo(w * 0.9556, h * 0.3454); - c.moveTo(w * 0.05, h * 0.3143); - c.lineTo(w * 0.95, h * 0.3143); - c.moveTo(w * 0.0489, h * 0.2832); - c.lineTo(w * 0.0489, h * 0.2832); - c.moveTo(w * 0.0544, h * 0.254); - c.lineTo(w * 0.9544, h * 0.254); - c.moveTo(w * 0.0489, h * 0.221); - c.lineTo(w * 0.9489, h * 0.221); - c.moveTo(w * 0.0556, h * 0.1918); - c.lineTo(w * 0.9556, h * 0.1918); - c.moveTo(w * 0.0522, h * 0.1587); - c.lineTo(w * 0.9522, h * 0.1587); - c.moveTo(w * 0.0544, h * 0.1276); - c.lineTo(w * 0.9544, h * 0.1276); - c.moveTo(w * 0.0544, h * 0.0965); - c.lineTo(w * 0.9544, h * 0.0965); - c.moveTo(w * 0.0556, h * 0.0654); - c.lineTo(w * 0.9556, h * 0.0654); - c.moveTo(w * 0.0533, h * 0.0304); - c.lineTo(w * 0.9533, h * 0.0304); - c.moveTo(w * 0.0556, 0); - c.lineTo(w * 0.9556, 0); - c.stroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.orders', mxLeanOrders); - -mxLeanOrders.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.05, 0), true), - new mxConnectionConstraint(new mxPoint(0.95, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.75, 0), true), - new mxConnectionConstraint(new mxPoint(0.05, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.05, 0.5), false), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.95, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.95, 0.5), false), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Batched Kanban -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanBatchedKanban(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanBatchedKanban, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanBatchedKanban.prototype.paintVertexShape = function(c, x, y, w, h) -{ - w = Math.max(110, w); - - c.translate(x, y); - - c.begin(); - c.moveTo(4, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - - c.begin(); - c.moveTo(w * 0.5 - 20, h * 0.5 - 35); - c.lineTo(w * 0.5 + 25, h * 0.5 - 35); - c.lineTo(w * 0.5 + 40, h * 0.5 - 20); - c.lineTo(w * 0.5 + 40, h * 0.5 + 15); - c.lineTo(w * 0.5 - 20, h * 0.5 + 15); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5 - 30, h * 0.5 - 25); - c.lineTo(w * 0.5 + 15, h * 0.5 - 25); - c.lineTo(w * 0.5 + 30, h * 0.5 - 10); - c.lineTo(w * 0.5 + 30, h * 0.5 + 25); - c.lineTo(w * 0.5 - 30, h * 0.5 + 25); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5 - 40, h * 0.5 - 15); - c.lineTo(w * 0.5 + 5, h * 0.5 - 15); - c.lineTo(w * 0.5 + 20, h * 0.5); - c.lineTo(w * 0.5 + 20, h * 0.5 + 35); - c.lineTo(w * 0.5 - 40, h * 0.5 + 35); - c.close(); - c.fillAndStroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w - 10, h * 0.5 - 4); - c.lineTo(w, h * 0.5); - c.lineTo(w - 10, h * 0.5 + 4); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.batched_kanban', mxLeanBatchedKanban); - -mxLeanBatchedKanban.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true) - ]; - -//********************************************************************************************************************************************************** -//Control Center -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxLeanControlCenter(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxLeanControlCenter, mxShape); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxLeanControlCenter.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - c.rect(w * 0.15, 0, w * 0.7, h * 0.8); - c.fillAndStroke(); - c.rect(0, h * 0.8, w, h * 0.2); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape('mxgraph.lean_mapping.control_center', mxLeanControlCenter); - -mxLeanControlCenter.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.15, 0), true), - new mxConnectionConstraint(new mxPoint(0.85, 0), true), - new mxConnectionConstraint(new mxPoint(0, 1), true), - new mxConnectionConstraint(new mxPoint(1, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.15, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.15, 0.5), false), - new mxConnectionConstraint(new mxPoint(0, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.85, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.85, 0.5), false), - new mxConnectionConstraint(new mxPoint(1, 0.75), true), - new mxConnectionConstraint(new mxPoint(0.25, 1), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0.75, 1), true) - ]; - -//********************************************************************************************************************************************************** -//Electronical Info -//********************************************************************************************************************************************************** -function mxLeanElectronicInfoShape() -{ - mxArrow.call(this); -}; - -mxUtils.extend(mxLeanElectronicInfoShape, mxArrow); - -mxLeanElectronicInfoShape.prototype.paintEdgeShape = function(c, pts) -{ - // Base vector (between end points) - var p0 = pts[0]; - var pe = pts[pts.length - 1]; - - var dx = pe.x - p0.x; - var dy = pe.y - p0.y; - - p0.x = p0.x + dx * 0.05; - p0.y = p0.y + dy * 0.05; - pe.x = pe.x - dx * 0.05; - pe.y = pe.y - dy * 0.05; - dx = pe.x - p0.x; - dy = pe.y - p0.y; - - var dist = Math.sqrt(dx * dx + dy * dy); - var nx = dx / dist; - var ny = dy / dist; - var midX = p0.x + dx * 0.5; - var midY = p0.y + dy * 0.5; - - var p1x = midX - nx * dist * 0.1 - ny / 3 * dist * 0.1; - var p1y = midY - ny * dist * 0.1 + nx / 3 * dist * 0.1; - var p4x = midX + nx * dist * 0.1 + ny / 3 * dist * 0.1; - var p4y = midY + ny * dist * 0.1 - nx / 3 * dist * 0.1; - - c.begin(); - c.moveTo(p0.x, p0.y); - c.lineTo(p4x, p4y); - c.lineTo(p1x, p1y); - c.lineTo(pe.x, pe.y); - c.stroke(); - - var dx = pe.x - p1x; - var dy = pe.y - p1y; - var dist = Math.sqrt(dx * dx + dy * dy); - var nx = dx / dist; - var ny = dy / dist; - - c.setFillColor(mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000')); - c.begin(); - c.moveTo(pe.x - nx * 10 - ny * 5, pe.y - ny * 10 + nx * 5); - c.lineTo(pe.x, pe.y); - c.lineTo(pe.x - nx * 10 + ny * 5, pe.y - ny * 10 - nx * 5); - c.fillAndStroke(); -}; - -// Registers the electronic info shape -mxCellRenderer.registerShape('mxgraph.lean_mapping.electronic_info_flow_edge', mxLeanElectronicInfoShape); - -//********************************************************************************************************************************************************** -//Manual Info -//********************************************************************************************************************************************************** -function mxLeanManualInfoShape() -{ - mxArrow.call(this); -}; - -mxUtils.extend(mxLeanManualInfoShape, mxArrow); - -mxLeanManualInfoShape.prototype.paintEdgeShape = function(c, pts) -{ - // Base vector (between end points) - var p0 = pts[0]; - var pe = pts[pts.length - 1]; - - var dx = pe.x - p0.x; - var dy = pe.y - p0.y; - - p0.x = p0.x + dx * 0.05; - p0.y = p0.y + dy * 0.05; - pe.x = pe.x - dx * 0.05; - pe.y = pe.y - dy * 0.05; - dx = pe.x - p0.x; - dy = pe.y - p0.y; - - var dist = Math.sqrt(dx * dx + dy * dy); - var nx = dx / dist; - var ny = dy / dist; - - c.begin(); - c.moveTo(p0.x, p0.y); - c.lineTo(pe.x, pe.y); - c.stroke(); - - c.setFillColor(mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000')); - c.begin(); - c.moveTo(pe.x - nx * 10 - ny * 5, pe.y - ny * 10 + nx * 5); - c.lineTo(pe.x, pe.y); - c.lineTo(pe.x - nx * 10 + ny * 5, pe.y - ny * 10 - nx * 5); - c.fillAndStroke(); -}; - -//Registers the electronic info shape -mxCellRenderer.registerShape('mxgraph.lean_mapping.manual_info_flow_edge', mxLeanManualInfoShape); - -//********************************************************************************************************************************************************** -//Timeline -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeLeanTimeline(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeLeanTimeline, mxShape); - -mxShapeLeanTimeline.prototype.cst = { - SHAPE_TIMELINE : 'mxgraph.lean_mapping.timeline2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeLeanTimeline.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var dy1 = mxUtils.getValue(this.style, 'dy1', '0'); - var dx2 = mxUtils.getValue(this.style, 'dx2', '0'); - var dy2 = mxUtils.getValue(this.style, 'dy2', '0'); - var dx3 = mxUtils.getValue(this.style, 'dx3', '0'); - var dy3 = mxUtils.getValue(this.style, 'dy3', '0'); - var dx4 = mxUtils.getValue(this.style, 'dx4', '0'); - var dy4 = mxUtils.getValue(this.style, 'dy4', '0'); - var dx5 = mxUtils.getValue(this.style, 'dx5', '0'); - var dy5 = mxUtils.getValue(this.style, 'dy5', '0'); - var dy6 = mxUtils.getValue(this.style, 'dy6', '0'); - - var lastUp = true; - - c.begin(); - - if (dy1 <= 0.5) - { - c.moveTo(0, 0); - lastUp = true; - } - else - { - c.moveTo(0, h); - lastUp = false; - } - - //2 - if (dy2 <= 0.5 && lastUp) - { - c.lineTo(dx2, 0); - lastUp = true; - } - else if (dy2 > 0.5 && !lastUp) - { - c.lineTo(dx2, h); - lastUp = false; - } - else if (dy2 <= 0.5 && !lastUp) - { - c.lineTo(dx2, h); - c.lineTo(dx2, 0); - lastUp = true; - } - else - { - c.lineTo(dx2, 0); - c.lineTo(dx2, h); - lastUp = false; - } - - //3 - if (dy3 <= 0.5 && lastUp) - { - c.lineTo(dx3, 0); - lastUp = true; - } - else if (dy3 > 0.5 && !lastUp) - { - c.lineTo(dx3, h); - lastUp = false; - } - else if (dy3 <= 0.5 && !lastUp) - { - c.lineTo(dx3, h); - c.lineTo(dx3, 0); - lastUp = true; - } - else - { - c.lineTo(dx3, 0); - c.lineTo(dx3, h); - lastUp = false; - } - - //4 - if (dy4 <= 0.5 && lastUp) - { - c.lineTo(dx4, 0); - lastUp = true; - } - else if (dy4 > 0.5 && !lastUp) - { - c.lineTo(dx4, h); - lastUp = false; - } - else if (dy4 <= 0.5 && !lastUp) - { - c.lineTo(dx4, h); - c.lineTo(dx4, 0); - lastUp = true; - } - else - { - c.lineTo(dx4, 0); - c.lineTo(dx4, h); - lastUp = false; - } - - //5 - if (dy5 <= 0.5 && lastUp) - { - c.lineTo(dx5, 0); - lastUp = true; - } - else if (dy5 > 0.5 && !lastUp) - { - c.lineTo(dx5, h); - lastUp = false; - } - else if (dy5 <= 0.5 && !lastUp) - { - c.lineTo(dx5, h); - c.lineTo(dx5, 0); - lastUp = true; - } - else - { - c.lineTo(dx5, 0); - c.lineTo(dx5, h); - lastUp = false; - } - - //6 - if (dy6 <= 0.5 && lastUp) - { - c.lineTo(w, 0); - lastUp = true; - } - else if (dy6 > 0.5 && !lastUp) - { - c.lineTo(w, h); - lastUp = false; - } - else if (dy6 <= 0.5 && !lastUp) - { - c.lineTo(w, h); - c.lineTo(w, 0); - lastUp = true; - } - else - { - c.lineTo(w, 0); - c.lineTo(w, h); - lastUp = false; - } - - //end - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE, mxShapeLeanTimeline); - -Graph.handleFactory[mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE] = function(state) -{ - var handles = [Graph.createHandle(state, ['dy1'], function(bounds) - { - var dy1 = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'dy1', 0)))); - - return new mxPoint(bounds.x, bounds.y + dy1 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dy1'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - })]; - - var handle2 = Graph.createHandle(state, ['dx2', 'dy2'], function(bounds) - { - - var dx2 = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dx3', 0)), parseFloat(mxUtils.getValue(this.state.style, 'dx2', 0)))); - var dy2 = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'dy2', 0)))); - - return new mxPoint(bounds.x + dx2, bounds.y + dy2 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dx2'] = Math.round(1000 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dx3', 0)), (pt.x - bounds.x)))) / 1000; - this.state.style['dy2'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - }); - - handles.push(handle2); - - var handle3 = Graph.createHandle(state, ['dx3', 'dy3'], function(bounds) - { - var dx3 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx2', 0)), Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dx4', 0)), parseFloat(mxUtils.getValue(this.state.style, 'dx3', 0)))); - var dy3 = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'dy3', 0)))); - - return new mxPoint(bounds.x + dx3, bounds.y + dy3 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dx3'] = Math.round(1000 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx2', 0)), Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dx4', 0)), (pt.x - bounds.x)))) / 1000; - this.state.style['dy3'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - }); - - handles.push(handle3); - - var handle4 = Graph.createHandle(state, ['dx4', 'dy4'], function(bounds) - { - var dx4 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx3', 0)), Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dx5', 0)), parseFloat(mxUtils.getValue(this.state.style, 'dx4', 0)))); - var dy4 = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'dy4', 0)))); - - return new mxPoint(bounds.x + dx4, bounds.y + dy4 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dx4'] = Math.round(1000 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx3', 0)), Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dx5', 0)), (pt.x - bounds.x)))) / 1000; - this.state.style['dy4'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - }); - - handles.push(handle4); - - var handle5 = Graph.createHandle(state, ['dx5', 'dy5'], function(bounds) - { - var dx5 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx4', 0)), Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx5', 0)))); - var dy5 = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'dy5', 0)))); - - return new mxPoint(bounds.x + dx5, bounds.y + dy5 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dx5'] = Math.round(1000 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx4', 0)), Math.min(bounds.width, (pt.x - bounds.x)))) / 1000; - this.state.style['dy5'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - }); - - handles.push(handle5); - - var handle6 = Graph.createHandle(state, ['dy6'], function(bounds) - { - var dy6 = Math.max(0, Math.min(100, parseFloat(mxUtils.getValue(this.state.style, 'dy6', 0)))); - - return new mxPoint(bounds.x + bounds.width, bounds.y + dy6 * bounds.height); - }, function(bounds, pt) - { - this.state.style['dy6'] = Math.round(1000 * Math.max(0, Math.min(1, (pt.y - bounds.y) / bounds.height))) / 1000; - }); - - handles.push(handle6); - - return handles; -}; diff --git a/dist/libs/drawio/shapes/mxNetworks.js b/dist/libs/drawio/shapes/mxNetworks.js deleted file mode 100644 index 1ea600fa..00000000 --- a/dist/libs/drawio/shapes/mxNetworks.js +++ /dev/null @@ -1,120 +0,0 @@ -/** - * $Id: mxNetworks.js,v 1.0 2015/06/15 17:05:39 mate Exp $ - * Copyright (c) 2006-2015, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Bus -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeNetworksBus(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeNetworksBus, mxShape); - -mxShapeNetworksBus.prototype.cst = { - SHAPE_BUS : 'mxgraph.networks.bus' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeNetworksBus.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeNetworksBus.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, 8, h * 0.5 - 10); - c.lineTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.close(); - c.fillAndStroke(); -}; - -mxShapeNetworksBus.prototype.foreground = function(c, x, y, w, h) -{ - c.setFillColor('#ffffff'); - c.begin(); - c.moveTo(w - 8, h * 0.5 - 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 + 10); - c.arcTo(12, 12, 0, 0, 1, w - 8, h * 0.5 - 10); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeNetworksBus.prototype.cst.SHAPE_BUS, mxShapeNetworksBus); - -//********************************************************************************************************************************************************** -//Comm Link -//********************************************************************************************************************************************************** -function mxShapeNetworksCommLinkEdge() -{ - mxArrow.call(this); -}; - -mxUtils.extend(mxShapeNetworksCommLinkEdge, mxArrow); - -mxShapeNetworksCommLinkEdge.prototype.paintEdgeShape = function(c, pts) -{ - // Base vector (between end points) - var p0 = pts[0]; - var pe = pts[pts.length - 1]; - - var dx = pe.x - p0.x; - var dy = pe.y - p0.y; - - p0.x = p0.x + dx * 0.05; - p0.y = p0.y + dy * 0.05; - pe.x = pe.x - dx * 0.05; - pe.y = pe.y - dy * 0.05; - dx = pe.x - p0.x; - dy = pe.y - p0.y; - - var dist = Math.sqrt(dx * dx + dy * dy); - var nx = dx / dist; - var ny = dy / dist; - var midX = p0.x + dx * 0.5; - var midY = p0.y + dy * 0.5; - - var p1x = midX + nx * dist / 3 * 0.1 - ny / 3 * dist * 0.1; - var p1y = midY + ny * dist / 3 * 0.1 + nx / 3 * dist * 0.1; - var p2x = midX + nx * dist * 0.1 + ny * dist * 0.1; - var p2y = midY + ny * dist * 0.1 - nx * dist * 0.1; - - var p3x = midX - nx * dist / 3 * 0.1 + ny / 3 * dist * 0.1; - var p3y = midY - ny * dist / 3 * 0.1 - nx / 3 * dist * 0.1; - var p4x = midX - nx * dist * 0.1 - ny * dist * 0.1; - var p4y = midY - ny * dist * 0.1 + nx * dist * 0.1; - - c.begin(); - c.moveTo(p0.x, p0.y); - c.lineTo(p2x, p2y); - c.lineTo(p1x, p1y); - c.lineTo(pe.x, pe.y); - c.lineTo(p4x, p4y); - c.lineTo(p3x, p3y); - c.close(); - c.fillAndStroke(); -}; - -//Registers the comm link edge -mxCellRenderer.registerShape('mxgraph.networks.comm_link_edge', mxShapeNetworksCommLinkEdge); diff --git a/dist/libs/drawio/shapes/mxSysML.js b/dist/libs/drawio/shapes/mxSysML.js deleted file mode 100644 index 54e0d790..00000000 --- a/dist/libs/drawio/shapes/mxSysML.js +++ /dev/null @@ -1,3144 +0,0 @@ -/** - * $Id: mxSysML.js,v 1.0 2014/07/23 07:05:39 mate Exp $ - * Copyright (c) 2006-2014, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Composite -//********************************************************************************************************************************************************** -function mxShapeSysMLComposite() -{ - mxCylinder.call(this); -}; - -mxUtils.extend(mxShapeSysMLComposite, mxShape); - -mxShapeSysMLComposite.prototype.isHtmlAllowed = function() -{ - return false; -}; - -mxShapeSysMLComposite.prototype.paintForeground = function(c, x, y, w, h) -{ - if (this.style != null) - { - var shape = mxCellRenderer.defaultShapes[this.style['symbol0']]; - - c.save(); - - var tmp = new shape(); - tmp.style = this.style; - shape.prototype.paintVertexShape.call(tmp, c, x, y, w, h); - c.restore(); - - c.setDashed(false); - - // Draws the symbols defined in the style. The symbols are - // numbered from 1...n. Possible postfixes are align, - // verticalAlign, spacing, arcSpacing, width, height - var counter = 1; - - do - { - shape = mxCellRenderer.defaultShapes[this.style['symbol' + counter]]; - - if (shape != null) - { - var align = this.style['symbol' + counter + 'Align']; - var valign = this.style['symbol' + counter + 'VerticalAlign']; - var width = this.style['symbol' + counter + 'Width']; - var height = this.style['symbol' + counter + 'Height']; - var spacing = this.style['symbol' + counter + 'Spacing'] || 0; - var vspacing = this.style['symbol' + counter + 'VSpacing'] || 0; - var arcspacing = this.style['symbol' + counter + 'ArcSpacing']; - var direction = this.style['symbol' + counter + 'Direction']; - - if (arcspacing != null) - { - spacing += this.getArcSize(w + this.strokewidth, h + this.strokewidth) * arcspacing; - vspacing += this.getArcSize(w + this.strokewidth, h + this.strokewidth) * arcspacing; - } - - var x2 = x; - var y2 = y; - - if (align == mxConstants.ALIGN_CENTER) - { - x2 += (w - width) / 2; - } - else if (align == mxConstants.ALIGN_RIGHT) - { - x2 += w - width - spacing; - } - else - { - x2 += spacing; - } - - if (valign == mxConstants.ALIGN_MIDDLE) - { - y2 += (h - height) / 2; - } - else if (valign == mxConstants.ALIGN_BOTTOM) - { - y2 += h - height - vspacing; - } - else - { - y2 += vspacing; - } - - c.save(); - - var tmp = new shape(); - - tmp.style = mxUtils.clone(this.style); - tmp.direction = direction; - tmp.updateTransform(c, x2, y2, width, height); - shape.prototype.paintVertexShape.call(tmp, c, x2, y2, width, height); - c.restore(); - } - - counter++; - } - while (shape != null); - } -}; - -mxCellRenderer.registerShape('mxgraph.sysml.composite', mxShapeSysMLComposite); - -//********************************************************************************************************************************************************** -//Package -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLPackage(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLPackage, mxShape); - -mxShapeSysMLPackage.prototype.cst = { - PACKAGE : 'mxgraph.sysml.package', - LABEL_X : 'labelX' -}; - -mxShapeSysMLPackage.prototype.customProperties = [ - {name: 'labelX', dispName: 'Header Width', type: 'float', min:0, defVal:90} -]; - -mxShapeSysMLPackage.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLPackage.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeSysMLPackage.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeSysMLPackage.prototype.foreground = function(c, x, y, w, h) -{ - var xSize = parseInt(mxUtils.getValue(this.style, mxShapeSysMLPackage.prototype.cst.LABEL_X, '90')); - var ySize = 20; - - xSize = Math.min(xSize, w); - - if (xSize > ySize) - { - c.begin(); - c.moveTo(0, ySize); - c.lineTo(xSize - ySize * 0.5, ySize); - c.lineTo(xSize, ySize * 0.5); - c.lineTo(xSize, 0); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLPackage.prototype.cst.PACKAGE, mxShapeSysMLPackage); - -Graph.handleFactory[mxShapeSysMLPackage.prototype.cst.PACKAGE] = function(state) -{ - var handles = [Graph.createHandle(state, ['labelX'], function(bounds) - { - var labelX = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'labelX', 90)))); - - return new mxPoint(bounds.x + labelX, bounds.y + 10); - }, function(bounds, pt) - { - this.state.style['labelX'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - })]; - - return handles; - -} - -//********************************************************************************************************************************************************** -//Package2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLPackage2(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLPackage2, mxShape); - -mxShapeSysMLPackage2.prototype.cst = { - PACKAGE2 : 'mxgraph.sysml.package2', - LABEL_X : 'labelX' -}; - -mxShapeSysMLPackage2.prototype.customProperties = [ - {name: 'labelX', dispName: 'Header Width', type: 'float', min:0, defVal:90} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLPackage2.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeSysMLPackage2.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.stroke(); -}; - -mxShapeSysMLPackage2.prototype.foreground = function(c, x, y, w, h) -{ - var xSize = parseInt(mxUtils.getValue(this.style, mxShapeSysMLPackage2.prototype.cst.LABEL_X, '90')); - var ySize = 20; - - xSize = Math.min(xSize, w); - - if (xSize > ySize) - { - c.begin(); - c.moveTo(0, ySize); - c.lineTo(xSize - ySize * 0.5, ySize); - c.lineTo(xSize, ySize * 0.5); - c.lineTo(xSize, 0); - c.lineTo(0, 0); - c.close(); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLPackage2.prototype.cst.PACKAGE2, mxShapeSysMLPackage2); - -Graph.handleFactory[mxShapeSysMLPackage2.prototype.cst.PACKAGE2] = function(state) -{ - var handles = [Graph.createHandle(state, ['labelX'], function(bounds) - { - var labelX = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'labelX', 90)))); - - return new mxPoint(bounds.x + labelX, bounds.y + 10); - }, function(bounds, pt) - { - this.state.style['labelX'] = Math.round(100 * Math.max(0, Math.min(bounds.width, pt.x - bounds.x))) / 100; - })]; - - return handles; - -} - -//********************************************************************************************************************************************************** -//None -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLNone(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLNone, mxShape); - -mxShapeSysMLNone.prototype.cst = { - NONE : 'mxgraph.sysml.none' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLNone.prototype.paintVertexShape = function(c, x, y, w, h) -{ -}; - -mxCellRenderer.registerShape(mxShapeSysMLNone.prototype.cst.NONE, mxShapeSysMLNone); - -//********************************************************************************************************************************************************** -//Rectangle -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLRect(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLRect, mxShape); - -mxShapeSysMLRect.prototype.cst = { - RECT : 'mxgraph.sysml.rect' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLRect.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x, y, w, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLRect.prototype.cst.RECT, mxShapeSysMLRect); - -//********************************************************************************************************************************************************** -//Port -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLPortOne(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLPortOne, mxShape); - -mxShapeSysMLPortOne.prototype.cst = { - PORT1 : 'mxgraph.sysml.port1' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLPortOne.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x + w * 0.05, y, w - w * 0.1, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLPortOne.prototype.cst.PORT1, mxShapeSysMLPortOne); - -mxShapeSysMLPortOne.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Port2 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLPortTwo(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLPortTwo, mxShape); - -mxShapeSysMLPortTwo.prototype.cst = { - PORT2 : 'mxgraph.sysml.port2' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLPortTwo.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x + w * 0.05, y, w * 0.8, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLPortTwo.prototype.cst.PORT2, mxShapeSysMLPortTwo); - -mxShapeSysMLPortTwo.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.95, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.05, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Port3 -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLPortThree(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLPortThree, mxShape); - -mxShapeSysMLPortThree.prototype.cst = { - PORT3 : 'mxgraph.sysml.port3' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLPortThree.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x + w * 0.07, y, w * 0.86, h); - c.fillAndStroke(); - c.rect(x, y + h * 0.125, w * 0.14, h * 0.25); - c.fillAndStroke(); - c.rect(x, y + h * 0.625, w * 0.14, h * 0.25); - c.fillAndStroke(); - c.rect(x + w * 0.86, y + h * 0.375, w * 0.14, h * 0.25); - c.fillAndStroke(); - this.drawIn(c, x + w * 0.01, y + h * 0.2, w * 0.11, h * 0.10); - this.drawOut(c, x + w * 0.02, y + h * 0.7, w * 0.11, h * 0.10); - this.drawInOut(c, x + w * 0.88, y + h * 0.45, w * 0.1, h * 0.10); -}; - -mxShapeSysMLPortThree.prototype.drawIn = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x, y + h * 0.5); - c.lineTo(x + w, y + h * 0.5); - c.moveTo(x + w * 0.75, y); - c.lineTo(x + w, y + h * 0.5); - c.lineTo(x + w * 0.75, y + h); - c.stroke(); -} - -mxShapeSysMLPortThree.prototype.drawOut = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x, y + h * 0.5); - c.lineTo(x + w, y + h * 0.5); - c.moveTo(x + w * 0.25, y); - c.lineTo(x, y + h * 0.5); - c.lineTo(x + w * 0.25, y + h); - c.stroke(); -} - -mxShapeSysMLPortThree.prototype.drawInOut = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x + w * 0.75, y); - c.lineTo(x + w, y + h * 0.5); - c.lineTo(x + w * 0.75, y + h); - c.moveTo(x + w * 0.25, y); - c.lineTo(x, y + h * 0.5); - c.lineTo(x + w * 0.25, y + h); - c.stroke(); -} - -mxCellRenderer.registerShape(mxShapeSysMLPortThree.prototype.cst.PORT3, mxShapeSysMLPortThree); - -//********************************************************************************************************************************************************** -//Port -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLPortFour(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLPortFour, mxShape); - -mxShapeSysMLPortFour.prototype.cst = { - PORT4 : 'mxgraph.sysml.port4' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLPortFour.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x + w * 0.05, y, w - w * 0.05, h); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLPortFour.prototype.cst.PORT4, mxShapeSysMLPortFour); - -mxShapeSysMLPortFour.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true) - ]; - -//********************************************************************************************************************************************************** -//Item Flow -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLItemFlow(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLItemFlow, mxShape); - -mxShapeSysMLItemFlow.prototype.cst = { - ITEM_FLOW : 'mxgraph.sysml.itemFlow', - FLOW_DIR : 'flowDir', - FLOW_TYPE : 'flowType' -}; - -mxShapeSysMLItemFlow.prototype.customProperties = [ - {name: 'flowDir', dispName: 'Flow Direction', type: 'enum', - enumList:[ - {val:'n', dispName:'North'}, - {val:'s', dispName:'South'}, - {val:'e', dispName:'East'}, - {val:'w', dispName:'West'} - ]}, - {name: 'flowType', dispName: 'Flow Type', type: 'enum', - enumList:[ - {val:'in', dispName:'In'}, - {val:'out', dispName:'Out'} -]}]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLItemFlow.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var flowDir = mxUtils.getValue(this.style, mxShapeSysMLItemFlow.prototype.cst.FLOW_DIR, 'none').toLowerCase(); - var flowType = mxUtils.getValue(this.style, mxShapeSysMLItemFlow.prototype.cst.FLOW_TYPE, 'none'); - - if (flowDir === 'n') - { - c.rect(x, y + 10, w, h - 10); - c.fillAndStroke(); - - c.setShadow(false); - - c.rect(x + w * 0.5 - 10, y, 20, 20); - c.fillAndStroke(); - - if (flowType === 'in') - { - this.drawDown(c, x + w * 0.5 - 5, y + 2, 10, 16); - } - else if (flowType === 'out') - { - this.drawUp(c, x + w * 0.5 - 5, y + 2, 10, 16); - } - } - else if (flowDir === 's') - { - c.rect(x, y, w, h - 10); - c.fillAndStroke(); - - c.setShadow(false); - - c.rect(x + w * 0.5 - 10, y + h - 20, 20, 20); - c.fillAndStroke(); - - if (flowType === 'in') - { - this.drawUp(c, x + w * 0.5 - 5, y + h - 18, 10, 16); - } - else if (flowType === 'out') - { - this.drawDown(c, x + w * 0.5 - 5, y + h - 18, 10, 16); - } - } - else if (flowDir === 'w') - { - c.rect(x + 10, y, w - 10, h); - c.fillAndStroke(); - - c.setShadow(false); - - c.rect(x, y + h * 0.5 - 10, 20, 20); - c.fillAndStroke(); - - if (flowType === 'in') - { - this.drawRight(c, x + 2, y + h * 0.5 - 5, 16, 10); - } - else if (flowType === 'out') - { - this.drawLeft(c, x + 2, y + h * 0.5 - 5, 16, 10); - } - } - else if (flowDir === 'e') - { - c.rect(x, y, w - 10, h); - c.fillAndStroke(); - - c.setShadow(false); - - c.rect(x + w - 20, y + h * 0.5 - 10, 20, 20); - c.fillAndStroke(); - - if (flowType === 'in') - { - this.drawLeft(c, x + w - 18, y + h * 0.5 - 5, 16, 10); - } - else if (flowType === 'out') - { - this.drawRight(c, x + w - 18, y + h * 0.5 - 5, 16, 10); - } - } -}; - -mxShapeSysMLItemFlow.prototype.drawRight = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x, y + h * 0.5); - c.lineTo(x + w, y + h * 0.5); - c.moveTo(x + w * 0.75, y); - c.lineTo(x + w, y + h * 0.5); - c.lineTo(x + w * 0.75, y + h); - c.stroke(); -} - -mxShapeSysMLItemFlow.prototype.drawDown = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x + w * 0.5, y); - c.lineTo(x + w * 0.5, y + h); - c.moveTo(x, y + h * 0.75); - c.lineTo(x + w * 0.5, y + h); - c.lineTo(x + w, y + h * 0.75); - c.stroke(); -} - -mxShapeSysMLItemFlow.prototype.drawLeft = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x, y + h * 0.5); - c.lineTo(x + w, y + h * 0.5); - c.moveTo(x + w * 0.25, y); - c.lineTo(x, y + h * 0.5); - c.lineTo(x + w * 0.25, y + h); - c.stroke(); -} - -mxShapeSysMLItemFlow.prototype.drawUp = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x + w * 0.5, y + h); - c.lineTo(x + w * 0.5, y); - c.moveTo(x, y + h * 0.25); - c.lineTo(x + w * 0.5, y); - c.lineTo(x + w, y + h * 0.25); - c.stroke(); -} - -mxCellRenderer.registerShape(mxShapeSysMLItemFlow.prototype.cst.ITEM_FLOW, mxShapeSysMLItemFlow); - -mxShapeSysMLItemFlow.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true) - ]; - -//********************************************************************************************************************************************************** -//Item Flow Left -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLItemFlowLeft(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLItemFlowLeft, mxShape); - -mxShapeSysMLItemFlowLeft.prototype.cst = { - ITEM_FLOW_LEFT : 'mxgraph.sysml.itemFlowLeft' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLItemFlowLeft.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x + 10, y, w - 10, h); - c.fillAndStroke(); - c.rect(x, y + h * 0.25 - 10, 20, 20); - c.fillAndStroke(); - c.rect(x, y + h * 0.5 - 10, 20, 20); - c.fillAndStroke(); - c.rect(x, y + h * 0.75 - 10, 20, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLItemFlowLeft.prototype.cst.ITEM_FLOW_LEFT, mxShapeSysMLItemFlowLeft); - -mxShapeSysMLItemFlowLeft.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.25), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0.75), true) - ]; - -//********************************************************************************************************************************************************** -//Item Flow Right -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLItemFlowRight(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLItemFlowRight, mxShape); - -mxShapeSysMLItemFlowRight.prototype.cst = { - ITEM_FLOW_RIGHT : 'mxgraph.sysml.itemFlowRight' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLItemFlowRight.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x, y, w - 10, h); - c.fillAndStroke(); - c.rect(x + w - 20, y + h * 0.25 - 10, 20, 20); - c.fillAndStroke(); - c.rect(x + w - 20, y + h * 0.5 - 10, 20, 20); - c.fillAndStroke(); - c.rect(x + w - 20, y + h * 0.75 - 10, 20, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLItemFlowRight.prototype.cst.ITEM_FLOW_RIGHT, mxShapeSysMLItemFlowRight); - -mxShapeSysMLItemFlowRight.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(1, 0.25), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.75), true) - ]; - -//********************************************************************************************************************************************************** -//Nested Port -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLNestedPort(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLNestedPort, mxShape); - -mxShapeSysMLNestedPort.prototype.cst = { - NESTED_PORT : 'mxgraph.sysml.nestedPort' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLNestedPort.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x + w * 0.08, y, w * 0.92, h); - c.fillAndStroke(); - c.rect(x + w * 0.03, y + h * 0.1, w * 0.1, h * 0.8); - c.fillAndStroke(); - c.rect(x, y + h * 0.15, w * 0.06, h * 0.16); - c.fillAndStroke(); - c.rect(x, y + h * 0.42, w * 0.06, h * 0.16); - c.fillAndStroke(); - c.rect(x, y + h * 0.69, w * 0.06, h * 0.16); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLNestedPort.prototype.cst.NESTED_PORT, mxShapeSysMLNestedPort); - -//********************************************************************************************************************************************************** -//Package Containment -//********************************************************************************************************************************************************** -mxMarker.addMarker('sysMLPackCont', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - var a = size / 2; - - return function() - { - c.begin(); - c.moveTo(pe.x - nx / 2 - ny / 2, pe.y - ny / 2 + nx / 2); - c.lineTo(pe.x - nx / 2 + ny / 2, pe.y - ny / 2 - nx / 2); - c.stroke(); - c.ellipse(pe.x - 0.5 * nx - a, pe.y - 0.5 * ny - a, 2 * a, 2 * a); - c.stroke(); - }; -}); - -//********************************************************************************************************************************************************** -//Required Interface -//********************************************************************************************************************************************************** -mxMarker.addMarker('sysMLReqInt', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - var a = size / 2; - - return function() - { - var fillColor = mxUtils.getValue(shape.style, mxConstants.STYLE_FILLCOLOR, 'none'); - c.setFillColor(fillColor); - c.ellipse(pe.x - 0.5 * nx - a, pe.y - 0.5 * ny - a, 2 * a, 2 * a); - c.fillAndStroke(); - }; -}); - -//********************************************************************************************************************************************************** -//Provided Interface -//********************************************************************************************************************************************************** -mxMarker.addMarker('sysMLProvInt', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - var a = size / 2; - - return function() - { - var fillColor = mxUtils.getValue(shape.style, mxConstants.STYLE_FILLCOLOR, 'none'); - c.setFillColor(fillColor); - c.begin(); - c.moveTo(pe.x - ny / 2, pe.y + nx / 2); - c.arcTo(a, a, 0, 0, 1, pe.x + ny / 2, pe.y - nx / 2); - c.fillAndStroke(); - }; -}); - -//********************************************************************************************************************************************************** -//Parametric Diagram -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLParametricDiagram(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLParametricDiagram, mxShape); - -mxShapeSysMLParametricDiagram.prototype.cst = { - PARAM_DGM : 'mxgraph.sysml.paramDgm' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLParametricDiagram.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.roundrect(x, y, w, h, 10, 10); - c.fillAndStroke(); - - c.setShadow(false); - - if (h > 60) - { - c.rect(x, y + h * 0.25 - 10, 20, 20); - c.stroke(); - c.rect(x, y + h * 0.75 - 10, 20, 20); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLParametricDiagram.prototype.cst.PARAM_DGM, mxShapeSysMLParametricDiagram); - -//********************************************************************************************************************************************************** -//Constraint Property -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLConstraintProperty(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLConstraintProperty, mxShape); - -mxShapeSysMLConstraintProperty.prototype.cst = { - CONS_PROP : 'mxgraph.sysml.consProp' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLConstraintProperty.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.rect(x, y, w, h); - c.fillAndStroke(); - - c.setShadow(false); - - if (h > 60) - { - c.rect(x, y + 50, 20, 20); - c.stroke(); - c.rect(x, y + 80, 20, 20); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLConstraintProperty.prototype.cst.CONS_PROP, mxShapeSysMLConstraintProperty); - -//********************************************************************************************************************************************************** -//Call Behavior Action -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLCallBehaviorAction(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLCallBehaviorAction, mxShape); - -mxShapeSysMLCallBehaviorAction.prototype.cst = { - CALL_BEH_ACT : 'mxgraph.sysml.callBehAct' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLCallBehaviorAction.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.roundrect(x, y, w, h, 10, 10); - c.fillAndStroke(); - - if ((h > 30) && (w > 40)) - { - c.setShadow(false); - - this.drawSymb(c, x + w - 30, y + h - 30, 20, 20); - } -}; - -mxShapeSysMLCallBehaviorAction.prototype.drawSymb = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x + w * 0.5, y); - c.lineTo(x + w * 0.5, y + h); - c.moveTo(x, y + h); - c.lineTo(x, y + h * 0.5); - c.lineTo(x + w, y + h * 0.5); - c.lineTo(x + w, y + h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLCallBehaviorAction.prototype.cst.CALL_BEH_ACT, mxShapeSysMLCallBehaviorAction); - -mxShapeSysMLCallBehaviorAction.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -2.9, -2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false, null, 2.9, -2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Accept Event Action -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLAcceptEventAction(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLAcceptEventAction, mxShape); - -mxShapeSysMLAcceptEventAction.prototype.cst = { - ACC_EVENT : 'mxgraph.sysml.accEvent' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLAcceptEventAction.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x, y); - c.lineTo(x + w, y); - c.lineTo(x + w, y + h); - c.lineTo(x, y + h); - c.lineTo(x + h * 0.3, y + h * 0.5); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLAcceptEventAction.prototype.cst.ACC_EVENT, mxShapeSysMLAcceptEventAction); - -mxShapeSysMLAcceptEventAction.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, h * 0.3, 0)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Time Event -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLTimeEvent(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLTimeEvent, mxShape); - -mxShapeSysMLTimeEvent.prototype.cst = { - TIME_EVENT : 'mxgraph.sysml.timeEvent' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLTimeEvent.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x, y); - c.lineTo(x + w, y); - c.lineTo(x, y + h); - c.lineTo(x + w, y + h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLTimeEvent.prototype.cst.TIME_EVENT, mxShapeSysMLTimeEvent); - -mxShapeSysMLTimeEvent.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Send Signal Action -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLSendSignalAction(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLSendSignalAction, mxShape); - -mxShapeSysMLSendSignalAction.prototype.cst = { - SEND_SIG_ACT : 'mxgraph.sysml.sendSigAct' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLSendSignalAction.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(x, y); - c.lineTo(x + w - h * 0.3, y); - c.lineTo(x + w, y + h * 0.5); - c.lineTo(x + w - h * 0.3, y + h); - c.lineTo(x, y + h); - c.close(); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLSendSignalAction.prototype.cst.SEND_SIG_ACT, mxShapeSysMLSendSignalAction); - -mxShapeSysMLSendSignalAction.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, -h * 0.3, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false, null, -h * 0.3, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Activity Final -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLActivityFinal(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLActivityFinal, mxShape); - -mxShapeSysMLActivityFinal.prototype.cst = { - ACT_FINAL : 'mxgraph.sysml.actFinal' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLActivityFinal.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.ellipse(x, y, w, h); - c.fillAndStroke(); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - - c.ellipse(x + 5, y + 5, w - 10, h - 10); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLActivityFinal.prototype.cst.ACT_FINAL, mxShapeSysMLActivityFinal); - -mxShapeSysMLActivityFinal.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Activity Parameter Node -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLActivityParameterNode(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLActivityParameterNode, mxShape); - -mxShapeSysMLActivityParameterNode.prototype.cst = { - ACT_PARAM_NODE : 'mxgraph.sysml.actParamNode' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLActivityParameterNode.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - var minX = Math.max(w * 0.35, 70); - var maxX = Math.min(w * 0.65, w - 10); - c.begin(); - c.moveTo(minX, h); - c.lineTo(10, h); - c.lineTo(10, 0); - c.lineTo(minX, 0); - c.moveTo(maxX, h); - c.lineTo(w - 10, h); - c.lineTo(w - 10, 0); - c.lineTo(maxX, 0); - c.stroke(); - - var xSize = 50; - var ySize = 20; - - xSize = Math.min(xSize, w); - - if (xSize > ySize) - { - c.begin(); - c.moveTo(10, ySize); - c.lineTo(xSize - ySize * 0.5, ySize); - c.lineTo(xSize, ySize * 0.5); - c.lineTo(xSize, 0); - c.lineTo(10, 0); - c.close(); - c.fillAndStroke(); - } - - c.rect(0, h * 0.35 - 10, 20, 20); - c.fillAndStroke(); - c.rect(0, h * 0.65 - 10, 20, 20); - c.fillAndStroke(); - c.rect(w - 20, h * 0.5 - 10, 20, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLActivityParameterNode.prototype.cst.ACT_PARAM_NODE, mxShapeSysMLActivityParameterNode); - -mxShapeSysMLActivityParameterNode.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.35), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.65), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Control Operator -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLControlOperator(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLControlOperator, mxShape); - -mxShapeSysMLControlOperator.prototype.cst = { - CONT_OPER : 'mxgraph.sysml.contOper' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLControlOperator.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeSysMLControlOperator.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeSysMLControlOperator.prototype.foreground = function(c, x, y, w, h) -{ - var xSize = 130; - var ySize = 20; - - xSize = Math.min(xSize, w); - - if (xSize > ySize) - { - c.begin(); - c.moveTo(0, ySize); - c.lineTo(xSize - ySize * 0.5, ySize); - c.lineTo(xSize, ySize * 0.5); - c.lineTo(xSize, 0); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLControlOperator.prototype.cst.CONT_OPER, mxShapeSysMLControlOperator); - -//********************************************************************************************************************************************************** -//Flow Final -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLFlowFinal(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLFlowFinal, mxShape); - -mxShapeSysMLFlowFinal.prototype.cst = { - FLOW_FINAL : 'mxgraph.sysml.flowFinal' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLFlowFinal.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - c.setShadow(false); - - c.begin(); - c.moveTo(w * 0.145, h * 0.145); - c.lineTo(w * 0.855, h * 0.855); - c.moveTo(w * 0.855, h * 0.145); - c.lineTo(w * 0.145, h * 0.855); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLFlowFinal.prototype.cst.FLOW_FINAL, mxShapeSysMLFlowFinal); - -mxShapeSysMLFlowFinal.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Is Control -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLIsControl(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLIsControl, mxShape); - -mxShapeSysMLIsControl.prototype.cst = { - IS_CONTROL : 'mxgraph.sysml.isControl' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLIsControl.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, h * 0.5 - 10, 10, 20); - c.fillAndStroke(); - c.roundrect(10, 0, w - 20, h, 10, 10); - c.fillAndStroke(); - c.rect(w - 10, h * 0.5 - 10, 10, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLIsControl.prototype.cst.IS_CONTROL, mxShapeSysMLIsControl); - -mxShapeSysMLIsControl.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Is Stream -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLIsStream(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLIsStream, mxShape); - -mxShapeSysMLIsStream.prototype.cst = { - IS_STREAM : 'mxgraph.sysml.isStream' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLIsStream.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - - c.setFillColor(strokeColor); - c.rect(0, h * 0.5 - 10, 10, 20); - c.fillAndStroke(); - - c.setFillColor(fillColor); - c.roundrect(10, 0, w - 20, h, 10, 10); - c.fillAndStroke(); - - c.setFillColor(strokeColor); - c.rect(w - 10, h * 0.5 - 10, 10, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLIsStream.prototype.cst.IS_STREAM, mxShapeSysMLIsStream); - -mxShapeSysMLIsStream.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Is Activity Stream -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLIsActStream(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLIsActStream, mxShape); - -mxShapeSysMLIsActStream.prototype.cst = { - IS_ACT_STREAM : 'mxgraph.sysml.isActStream' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLIsActStream.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.rect(0, 0, w - 10, h); - c.fillAndStroke(); - - var xSize = 40; - var ySize = 20; - - xSize = Math.min(xSize, w); - - if (xSize > ySize) - { - c.begin(); - c.moveTo(0, ySize); - c.lineTo(xSize - ySize * 0.5, ySize); - c.lineTo(xSize, ySize * 0.5); - c.lineTo(xSize, 0); - c.lineTo(0, 0); - c.close(); - c.fillAndStroke(); - } - - c.rect(w - 20, h * 0.5 - 10, 20, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLIsActStream.prototype.cst.IS_ACT_STREAM, mxShapeSysMLIsActStream); - -mxShapeSysMLIsActStream.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Parameter Set -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLParameterSet(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLParameterSet, mxShape); - -mxShapeSysMLParameterSet.prototype.cst = { - PARAM_SET : 'mxgraph.sysml.paramSet' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLParameterSet.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, h * 0.5 - 28, 10, 56); - c.fillAndStroke(); - c.roundrect(10, 0, w - 20, h, 10, 10); - c.fillAndStroke(); - c.rect(w - 10, h * 0.5 - 28, 10, 56); - c.fillAndStroke(); - - c.setShadow(false); - - c.rect(4, h * 0.5 - 24, 6, 20); - c.fillAndStroke(); - c.rect(4, h * 0.5 + 4, 6, 20); - c.fillAndStroke(); - c.rect(w - 10, h * 0.5 - 24, 6, 20); - c.fillAndStroke(); - c.rect(w - 10, h * 0.5 + 4, 6, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLParameterSet.prototype.cst.PARAM_SET, mxShapeSysMLParameterSet); - -mxShapeSysMLParameterSet.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Is Parameter Activity Set -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLParameterActivitySet(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLParameterActivitySet, mxShape); - -mxShapeSysMLParameterActivitySet.prototype.cst = { - PARAM_ACT_SET : 'mxgraph.sysml.paramActSet' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLParameterActivitySet.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.rect(10, 0, w - 20, h); - c.fillAndStroke(); - - var xSize = 50; - var ySize = 20; - - xSize = Math.min(xSize, w); - - if (xSize > ySize) - { - c.begin(); - c.moveTo(10, ySize); - c.lineTo(xSize - ySize * 0.5, ySize); - c.lineTo(xSize, ySize * 0.5); - c.lineTo(xSize, 0); - c.lineTo(10, 0); - c.close(); - c.fillAndStroke(); - } - - c.setShadow(false); - - if (h > 70) - { - c.rect(0, h * 0.5 - 28, 15, 56); - c.fillAndStroke(); - c.rect(4, h * 0.5 - 24, 15, 20); - c.fillAndStroke(); - c.rect(4, h * 0.5 + 4, 15, 20); - c.fillAndStroke(); - - c.rect(w - 15, h * 0.5 - 28, 15, 56); - c.fillAndStroke(); - c.rect(w - 19, h * 0.5 - 24, 15, 20); - c.fillAndStroke(); - c.rect(w - 19, h * 0.5 + 4, 15, 20); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLParameterActivitySet.prototype.cst.PARAM_ACT_SET, mxShapeSysMLParameterActivitySet); - -mxShapeSysMLParameterActivitySet.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Probability -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLProbability(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLProbability, mxShape); - -mxShapeSysMLProbability.prototype.cst = { - PROBABILITY : 'mxgraph.sysml.probability' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLProbability.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.roundrect(0, 0, w - 10, h, 10, 10); - c.fillAndStroke(); - c.rect(w - 10, h * 0.25 - 28, 10, 56); - c.fillAndStroke(); - c.rect(w - 10, h * 0.75 - 28, 10, 56); - c.fillAndStroke(); - - c.setShadow(false); - - c.rect(w - 10, h * 0.25 - 24, 6, 20); - c.fillAndStroke(); - c.rect(w - 10, h * 0.25 + 4, 6, 20); - c.fillAndStroke(); - c.rect(w - 10, h * 0.75 - 24, 6, 20); - c.fillAndStroke(); - c.rect(w - 10, h * 0.75 + 4, 6, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLProbability.prototype.cst.PROBABILITY, mxShapeSysMLProbability); - -mxShapeSysMLProbability.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false, null, -5, 0)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Is Activity Stream -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLActivityProbability(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLActivityProbability, mxShape); - -mxShapeSysMLActivityProbability.prototype.cst = { - ACT_PROB : 'mxgraph.sysml.actProb' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLActivityProbability.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.rect(0, 0, w - 10, h); - c.fillAndStroke(); - - var xSize = 40; - var ySize = 20; - - xSize = Math.min(xSize, w); - - if (xSize > ySize) - { - c.begin(); - c.moveTo(0, ySize); - c.lineTo(xSize - ySize * 0.5, ySize); - c.lineTo(xSize, ySize * 0.5); - c.lineTo(xSize, 0); - c.lineTo(0, 0); - c.close(); - c.fillAndStroke(); - } - - c.setShadow(false); - - if (h > 70) - { - c.rect(w - 15, h * 0.25 - 28, 15, 56); - c.fillAndStroke(); - c.rect(w - 19, h * 0.25 - 24, 15, 20); - c.fillAndStroke(); - c.rect(w - 19, h * 0.25 + 4, 15, 20); - c.fillAndStroke(); - - c.rect(w - 15, h * 0.75 - 28, 15, 56); - c.fillAndStroke(); - c.rect(w - 19, h * 0.75 - 24, 15, 20); - c.fillAndStroke(); - c.rect(w - 19, h * 0.75 + 4, 15, 20); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLActivityProbability.prototype.cst.ACT_PROB, mxShapeSysMLActivityProbability); - -mxShapeSysMLActivityProbability.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false, null, 0, -14)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false, null, 0, 14)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false, null, -5, 0)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Object Flow Right -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLObjectFlowRight(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLObjectFlowRight, mxShape); - -mxShapeSysMLObjectFlowRight.prototype.cst = { - OBJ_FLOW_R : 'mxgraph.sysml.objFlowR' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLObjectFlowRight.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.roundrect(0, 0, w - 10, h, 10, 10); - c.fillAndStroke(); - c.rect(w - 10, h * 0.5 - 10, 10, 20); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLObjectFlowRight.prototype.cst.OBJ_FLOW_R, mxShapeSysMLObjectFlowRight); - -mxShapeSysMLObjectFlowRight.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, -5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false, null, -5, 0)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Object Flow Left -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLObjectFlowLeft(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLObjectFlowLeft, mxShape); - -mxShapeSysMLObjectFlowLeft.prototype.cst = { - OBJ_FLOW_L : 'mxgraph.sysml.objFlowL' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLObjectFlowLeft.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.rect(0, h * 0.5 - 10, 10, 20); - c.fillAndStroke(); - c.roundrect(10, 0, w - 10, h, 10, 10); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLObjectFlowLeft.prototype.cst.OBJ_FLOW_L, mxShapeSysMLObjectFlowLeft); - -mxShapeSysMLObjectFlowLeft.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 5, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false, null, 5, 0)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Activity Partition -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLActivityPartition(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLActivityPartition, mxShape); - -mxShapeSysMLActivityPartition.prototype.cst = { - ACT_PART : 'mxgraph.sysml.actPart' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLActivityPartition.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(0, h); - c.moveTo(w, 0); - c.lineTo(w, h); - c.stroke(); - -}; - -mxCellRenderer.registerShape(mxShapeSysMLActivityPartition.prototype.cst.ACT_PART, mxShapeSysMLActivityPartition); - -//********************************************************************************************************************************************************** -//Continuation -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLContinuation(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLContinuation, mxShape); - -mxShapeSysMLContinuation.prototype.cst = { - CONT : 'mxgraph.sysml.cont' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLContinuation.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - if (w > h) - { - var r = h * 0.5; - - c.begin(); - c.moveTo(w - r, 0); - c.arcTo(r, r, 0, 0, 1, w - r, h); - c.lineTo(r, h); - c.arcTo(r, r, 0, 0, 1, r, 0); - c.close(); - c.fillAndStroke(); - } - else - { - var r = w * 0.5; - - c.begin(); - c.moveTo(0, h - r); - c.arcTo(r, r, 0, 0, 0, w, h - r); - c.lineTo(w, r); - c.arcTo(r, r, 0, 0, 0, 0, r); - c.close(); - c.fillAndStroke(); - } -}; - -mxCellRenderer.registerShape(mxShapeSysMLContinuation.prototype.cst.CONT, mxShapeSysMLContinuation); - -mxShapeSysMLContinuation.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - - if (w > h) - { - var r = h * 0.5; - - if (w > 2 * h) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - } - } - else - { - var r = w * 0.5; - - if (h > 2 * w) - { - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - } - } - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.29, r * 0.29)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.29, r * 0.29)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, r * 0.29, h - r * 0.29)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - r * 0.29, h - r * 0.29)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Coregion -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLCoregion(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLCoregion, mxShape); - -mxShapeSysMLCoregion.prototype.cst = { - COREGION : 'mxgraph.sysml.coregion' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLCoregion.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - var brack = 10; - - brack = Math.min(brack, h); - - c.begin(); - c.moveTo(0, brack); - c.lineTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w, brack); - c.moveTo(0, h - brack); - c.lineTo(0, h); - c.lineTo(w, h); - c.lineTo(w, h - brack); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLCoregion.prototype.cst.COREGION, mxShapeSysMLCoregion); - -//********************************************************************************************************************************************************** -//X marker -//********************************************************************************************************************************************************** -mxMarker.addMarker('sysMLx', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - - return function() - { - c.begin(); - c.moveTo(pe.x - nx / 2 - ny / 2, pe.y - ny / 2 + nx / 2); - c.lineTo(pe.x + nx / 2 + ny / 2, pe.y + ny / 2 - nx / 2); - - c.moveTo(pe.x + nx / 2 - ny / 2, pe.y + ny / 2 + nx / 2); - c.lineTo(pe.x - nx / 2 + ny / 2, pe.y - ny / 2 - nx / 2); - c.stroke(); - }; -}); - -//********************************************************************************************************************************************************** -//Dimension -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLDimension(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLDimension, mxShape); - -mxShapeSysMLDimension.prototype.cst = { - DIMENSION : 'mxgraph.sysml.dimension' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLDimension.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeSysMLDimension.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 20); - c.lineTo(w, 20); - c.moveTo(10, 15); - c.lineTo(0, 20); - c.lineTo(10, 25); - c.moveTo(w - 10, 15); - c.lineTo(w, 20); - c.lineTo(w - 10, 25); - c.moveTo(0, 15); - c.lineTo(0, h); - c.moveTo(w, 15); - c.lineTo(w, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLDimension.prototype.cst.DIMENSION, mxShapeSysMLDimension); - -//********************************************************************************************************************************************************** -//Lost marker -//********************************************************************************************************************************************************** -mxMarker.addMarker('sysMLLost', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - var a = size / 2; - - return function() - { - c.begin(); - c.moveTo(pe.x - 1.5 * nx - ny / 2, pe.y - 1.5 * ny + nx / 2); - c.lineTo(pe.x - nx / 2, pe.y - ny / 2); - c.lineTo(pe.x - 1.5 * nx + ny / 2, pe.y - 1.5 * ny - nx / 2); - c.stroke(); - - c.ellipse(pe.x - 0.5 * nx - a, pe.y - 0.5 * ny - a, 2 * a, 2 * a); - - var strokeColor = mxUtils.getValue(shape.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.fillAndStroke(); - }; -}); - -//********************************************************************************************************************************************************** -//Found marker -//********************************************************************************************************************************************************** -mxMarker.addMarker('sysMLFound', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled) -{ - var nx = unitX * (size + sw + 1); - var ny = unitY * (size + sw + 1); - var a = size / 2; - - return function() - { - c.ellipse(pe.x - 0.5 * nx - a, pe.y - 0.5 * ny - a, 2 * a, 2 * a); - - var strokeColor = mxUtils.getValue(shape.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeColor); - c.fillAndStroke(); - }; -}); - -//********************************************************************************************************************************************************** -//Composite State -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLCompositeState(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLCompositeState, mxShape); - -mxShapeSysMLCompositeState.prototype.cst = { - COMP_STATE : 'mxgraph.sysml.compState' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLCompositeState.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); -}; - -mxShapeSysMLCompositeState.prototype.background = function(c, x, y, w, h) -{ - var tabH = 20; - var tabW = 110; - c.roundrect(0, tabH, w, h - tabH, 10, 10); - c.fillAndStroke(); - c.rect(15, 0, tabW, tabH); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLCompositeState.prototype.cst.COMP_STATE, mxShapeSysMLCompositeState); - -mxShapeSysMLCompositeState.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 22.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 2.9, 22.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - 20) * 0.25 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - 20) * 0.5 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - 20) * 0.75 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, (h - 20) * 0.25 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, (h - 20) * 0.5 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, (h - 20) * 0.75 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 15, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 70, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 125, 0)); - - if (w * 0.75 > 125) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, 20)); - - if (w * 0.5 > 125) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, 20)); - - if (w * 0.25 > 125) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, 20)); - } - } - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Region -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLRegion(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLRegion, mxShape); - -mxShapeSysMLRegion.prototype.cst = { - REGION : 'mxgraph.sysml.region' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLRegion.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var tabH = 20; - var tabW = 50; - - c.translate(x, y); - this.background(c, x, y, w, h, tabH, tabW); - c.setShadow(false); - this.foreground(c, x, y, w, h, tabH, tabW); -}; - -mxShapeSysMLRegion.prototype.background = function(c, x, y, w, h, tabH, tabW) -{ - var strokeW = parseInt(mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1')); - c.roundrect(0, tabH, w, h - tabH, 10, 10); - c.fillAndStroke(); - - c.setStrokeWidth(strokeW * 2); - c.rect(15, 0, tabW, tabH); - c.fillAndStroke(); - c.setStrokeWidth(strokeW); -}; - -mxShapeSysMLRegion.prototype.foreground = function(c, x, y, w, h, tabH, tabW) -{ - c.setDashed(true); - c.begin(); - c.moveTo(w * 0.5, tabH); - c.lineTo(w * 0.5, h); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLRegion.prototype.cst.REGION, mxShapeSysMLRegion); - -mxShapeSysMLRegion.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 22.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 2.9, 22.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - 20) * 0.25 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - 20) * 0.5 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - 20) * 0.75 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, (h - 20) * 0.25 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, (h - 20) * 0.5 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false, null, 0, (h - 20) * 0.75 + 20)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 15, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 40, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 65, 0)); - - if (w * 0.75 > 65) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false, null, 0, 20)); - - if (w * 0.5 > 65) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false, null, 0, 20)); - - if (w * 0.25 > 65) - { - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false, null, 0, 20)); - } - } - } - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Simple State -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLSimpleState(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLSimpleState, mxShape); - -mxShapeSysMLSimpleState.prototype.cst = { - SIMPLE_STATE : 'mxgraph.sysml.simpleState' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLSimpleState.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); -// this.foreground(c, x, y, w, h); -}; - -mxShapeSysMLSimpleState.prototype.background = function(c, x, y, w, h) -{ - var strokeW = parseInt(mxUtils.getValue(this.style, mxConstants.STYLE_STROKEWIDTH, '1')); - c.roundrect(0, 0, w, h, 10, 10); - c.fillAndStroke(); -}; - -mxShapeSysMLSimpleState.prototype.foreground = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, 20); - c.lineTo(w, 20); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLSimpleState.prototype.cst.SIMPLE_STATE, mxShapeSysMLSimpleState); - -mxShapeSysMLSimpleState.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//State Machine -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLStateMachine(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLStateMachine, mxShape); - -mxShapeSysMLStateMachine.prototype.cst = { - STATE_MACHINE : 'mxgraph.sysml.stateMachine' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLStateMachine.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeSysMLStateMachine.prototype.background = function(c, x, y, w, h) -{ - c.roundrect(0, 0, w - 10, h, 10, 10); - c.fillAndStroke(); -}; - -mxShapeSysMLStateMachine.prototype.foreground = function(c, x, y, w, h) -{ - var strokeC = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeC); - - c.ellipse(w - 20, h * 0.5 - 10, 20, 20); - c.stroke(); - - c.ellipse(w - 17, h * 0.5 - 7, 14, 14); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLStateMachine.prototype.cst.STATE_MACHINE, mxShapeSysMLStateMachine); - -mxShapeSysMLStateMachine.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 12.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 12.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false, null, -10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false, null, -10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -// X -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLX(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLX, mxShape); - -mxShapeSysMLX.prototype.cst = { - X : 'mxgraph.sysml.x' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLX.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, h); - c.moveTo(0, h); - c.lineTo(w, 0); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLX.prototype.cst.X, mxShapeSysMLX); - -mxShapeSysMLX.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Submachine State -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLSubmachineState(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLSubmachineState, mxShape); - -mxShapeSysMLSubmachineState.prototype.cst = { - SUBMACHINE_STATE : 'mxgraph.sysml.submState' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLSubmachineState.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeSysMLSubmachineState.prototype.background = function(c, x, y, w, h) -{ - c.roundrect(0, 0, w - 10, h, 10, 10); - c.fillAndStroke(); -}; - -mxShapeSysMLSubmachineState.prototype.foreground = function(c, x, y, w, h) -{ - var strokeC = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - c.setFillColor(strokeC); - - c.ellipse(w - 20, h * 0.5 - 10, 20, 20); - c.stroke(); - - c.ellipse(w - 17, h * 0.5 - 7, 14, 14); - c.fillAndStroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLSubmachineState.prototype.cst.SUBMACHINE_STATE, mxShapeSysMLSubmachineState); - -mxShapeSysMLSubmachineState.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 12.9, 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - 12.9, h - 2.9)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false, null, -10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false, null, -10, 0)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false)); - - return (constr); -}; - -//********************************************************************************************************************************************************** -//Use Case with Extension Points -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapeSysMLUseCaseExtensionPoints(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapeSysMLUseCaseExtensionPoints, mxShape); - -mxShapeSysMLUseCaseExtensionPoints.prototype.cst = { - USE_CASE_EXT_PT : 'mxgraph.sysml.useCaseExtPt' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapeSysMLUseCaseExtensionPoints.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapeSysMLUseCaseExtensionPoints.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapeSysMLUseCaseExtensionPoints.prototype.foreground = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(w * 0.02, h * 0.35); - c.lineTo(w * 0.98, h * 0.35); - c.stroke(); -}; - -mxCellRenderer.registerShape(mxShapeSysMLUseCaseExtensionPoints.prototype.cst.USE_CASE_EXT_PT, mxShapeSysMLUseCaseExtensionPoints); - -mxShapeSysMLUseCaseExtensionPoints.prototype.getConstraints = function(style, w, h) -{ - var constr = []; - - constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.145), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.145, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.855), false)); - constr.push(new mxConnectionConstraint(new mxPoint(0.855, 0.145), false)); - - return (constr); -}; diff --git a/dist/libs/drawio/shapes/pid2/mxPidInstruments.js b/dist/libs/drawio/shapes/pid2/mxPidInstruments.js deleted file mode 100644 index b4ab5029..00000000 --- a/dist/libs/drawio/shapes/pid2/mxPidInstruments.js +++ /dev/null @@ -1,685 +0,0 @@ -/** - * $Id: mxPidInstruments.js,v 1.4 2014/01/21 13:10:17 gaudenz Exp $ - * Copyright (c) 2006-2013, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Discrete Instrument -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapePidDiscInst(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapePidDiscInst, mxShape); - -mxShapePidDiscInst.prototype.cst = { - SHAPE_DISC_INST : 'mxgraph.pid2inst.discInst', - MOUNTING : 'mounting', - FIELD : 'field', - ROOM : 'room', - INACCESSIBLE : 'inaccessible', - LOCAL : 'local' -}; - -mxShapePidDiscInst.prototype.customProperties = [ - {name: 'mounting', dispName: 'Mounting', type: 'enum', defVal:'field', - enumList: [ - {val:'field', dispName:'Field'}, - {val:'room', dispName:'Room'}, - {val:'inaccessible', dispName:'Inaccessible'}, - {val:'local', dispName:'Local'} - ]} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapePidDiscInst.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidDiscInst.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapePidDiscInst.prototype.foreground = function(c, x, y, w, h) -{ - var mounting = mxUtils.getValue(this.style, mxShapePidDiscInst.prototype.cst.MOUNTING, 'field'); - - if (mounting === mxShapePidDiscInst.prototype.cst.ROOM) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidDiscInst.prototype.cst.INACCESSIBLE) - { - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidDiscInst.prototype.cst.LOCAL) - { - c.begin(); - c.moveTo(w * 0.005, h * 0.48); - c.lineTo(w * 0.995, h * 0.48); - c.moveTo(w * 0.005, h * 0.52); - c.lineTo(w * 0.995, h * 0.52); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidDiscInst.prototype.cst.SHAPE_DISC_INST, mxShapePidDiscInst); - -mxShapePidDiscInst.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.145, 0.145), false), - new mxConnectionConstraint(new mxPoint(0.145, 0.855), false), - new mxConnectionConstraint(new mxPoint(0.855, 0.145), false), - new mxConnectionConstraint(new mxPoint(0.855, 0.855), false) - ]; - -//********************************************************************************************************************************************************** -//Shared Control/Display -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapePidSharedCont(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapePidSharedCont, mxShape); - -mxShapePidSharedCont.prototype.cst = { - SHAPE_SHARED_CONT : 'mxgraph.pid2inst.sharedCont', - MOUNTING : 'mounting', - FIELD : 'field', - ROOM : 'room', - INACCESSIBLE : 'inaccessible', - LOCAL : 'local' -}; - -mxShapePidSharedCont.prototype.customProperties = [ - {name: 'mounting', dispName: 'Mounting', type: 'enum', defVal:'field', - enumList: [ - {val:'field', dispName:'Field'}, - {val:'room', dispName:'Room'}, - {val:'inaccessible', dispName:'Inaccessible'}, - {val:'local', dispName:'Local'} - ]} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapePidSharedCont.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidSharedCont.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapePidSharedCont.prototype.foreground = function(c, x, y, w, h) -{ - var mounting = mxUtils.getValue(this.style, mxShapePidSharedCont.prototype.cst.MOUNTING, 'field'); - - c.ellipse(0, 0, w, h); - c.fillAndStroke(); - - if (mounting === mxShapePidSharedCont.prototype.cst.ROOM) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidSharedCont.prototype.cst.INACCESSIBLE) - { - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidDiscInst.prototype.cst.LOCAL) - { - c.begin(); - c.moveTo(w * 0.005, h * 0.48); - c.lineTo(w * 0.995, h * 0.48); - c.moveTo(w * 0.005, h * 0.52); - c.lineTo(w * 0.995, h * 0.52); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidSharedCont.prototype.cst.SHAPE_SHARED_CONT, mxShapePidSharedCont); - -mxShapePidSharedCont.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0), false), - new mxConnectionConstraint(new mxPoint(0, 1), false), - new mxConnectionConstraint(new mxPoint(1, 0), false), - new mxConnectionConstraint(new mxPoint(1, 1), false) - ]; - -//********************************************************************************************************************************************************** -//Computer Function -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapePidCompFunc(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapePidCompFunc, mxShape); - -mxShapePidCompFunc.prototype.cst = { - SHAPE_COMP_FUNC : 'mxgraph.pid2inst.compFunc', - MOUNTING : 'mounting', - FIELD : 'field', - ROOM : 'room', - INACCESSIBLE : 'inaccessible', - LOCAL : 'local' -}; - -mxShapePidCompFunc.prototype.customProperties = [ - {name: 'mounting', dispName: 'Mounting', type: 'enum', defVal:'field', - enumList: [ - {val:'field', dispName:'Field'}, - {val:'room', dispName:'Room'}, - {val:'inaccessible', dispName:'Inaccessible'}, - {val:'local', dispName:'Local'} - ]} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapePidCompFunc.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidCompFunc.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.25, 0); - c.lineTo(w * 0.75, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.75, h); - c.lineTo(w * 0.25, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapePidCompFunc.prototype.foreground = function(c, x, y, w, h) -{ - var mounting = mxUtils.getValue(this.style, mxShapePidCompFunc.prototype.cst.MOUNTING, 'field'); - - if (mounting === mxShapePidCompFunc.prototype.cst.ROOM) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidCompFunc.prototype.cst.INACCESSIBLE) - { - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidDiscInst.prototype.cst.LOCAL) - { - c.begin(); - c.moveTo(w * 0.01, h * 0.48); - c.lineTo(w * 0.99, h * 0.48); - c.moveTo(w * 0.01, h * 0.52); - c.lineTo(w * 0.99, h * 0.52); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidCompFunc.prototype.cst.SHAPE_COMP_FUNC, mxShapePidCompFunc); - -mxShapePidCompFunc.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.25, 0), false), - new mxConnectionConstraint(new mxPoint(0.75, 0), false), - new mxConnectionConstraint(new mxPoint(0.25, 1), false), - new mxConnectionConstraint(new mxPoint(0.75, 1), false) - ]; - -//********************************************************************************************************************************************************** -//Computer Function -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapePidProgLogCont(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapePidProgLogCont, mxShape); - -mxShapePidProgLogCont.prototype.cst = { - SHAPE_PROG_LOG_CONT : 'mxgraph.pid2inst.progLogCont', - MOUNTING : 'mounting', - FIELD : 'field', - ROOM : 'room', - INACCESSIBLE : 'inaccessible', - LOCAL : 'local' -}; - -mxShapePidProgLogCont.prototype.customProperties = [ - {name: 'mounting', dispName: 'Mounting', type: 'enum', defVal:'field', - enumList: [ - {val:'field', dispName:'Field'}, - {val:'room', dispName:'Room'}, - {val:'inaccessible', dispName:'Inaccessible'}, - {val:'local', dispName:'Local'} - ]} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapePidProgLogCont.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidProgLogCont.prototype.background = function(c, x, y, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapePidProgLogCont.prototype.foreground = function(c, x, y, w, h) -{ - var mounting = mxUtils.getValue(this.style, mxShapePidProgLogCont.prototype.cst.MOUNTING, 'field'); - - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.stroke(); - - if (mounting === mxShapePidProgLogCont.prototype.cst.ROOM) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidProgLogCont.prototype.cst.INACCESSIBLE) - { - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidDiscInst.prototype.cst.LOCAL) - { - c.begin(); - c.moveTo(w * 0.02, h * 0.48); - c.lineTo(w * 0.98, h * 0.48); - c.moveTo(w * 0.02, h * 0.52); - c.lineTo(w * 0.98, h * 0.52); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidProgLogCont.prototype.cst.SHAPE_PROG_LOG_CONT, mxShapePidProgLogCont); - -mxShapePidProgLogCont.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0, 0), false), - new mxConnectionConstraint(new mxPoint(0, 1), false), - new mxConnectionConstraint(new mxPoint(1, 0), false), - new mxConnectionConstraint(new mxPoint(1, 1), false) - ]; - -//********************************************************************************************************************************************************** -//Indicator -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapePidIndicator(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapePidIndicator, mxShape); - -mxShapePidIndicator.prototype.cst = { - SHAPE_INDICATOR : 'mxgraph.pid2inst.indicator', - MOUNTING : 'mounting', - FIELD : 'field', - ROOM : 'room', - INACCESSIBLE : 'inaccessible', - LOCAL : 'local', - IND_TYPE : 'indType', - INSTRUMENT : 'inst', - CONTROL : 'ctrl', - FUNCTION : 'func', - PLC : 'plc' -}; - -mxShapePidIndicator.prototype.customProperties = [ - {name: 'mounting', dispName: 'Mounting', type: 'enum', defVal:'field', - enumList: [ - {val:'field', dispName:'Field'}, - {val:'room', dispName:'Room'}, - {val:'inaccessible', dispName:'Inaccessible'}, - {val:'local', dispName:'Local'} - ]}, - {name: 'indType', dispName: 'Type', type: 'enum', defVal:'inst', - enumList: [ - {val:'inst', dispName:'Instrument'}, - {val:'ctrl', dispName:'Control'}, - {val:'func', dispName:'Function'}, - {val:'plc', dispName:'PLC'} - ]} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapePidIndicator.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidIndicator.prototype.background = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxShapePidIndicator.prototype.cst.IND_TYPE, 'inst'); - - c.begin(); - c.moveTo(w * 0.5, w); - c.lineTo(w * 0.5, h); - c.stroke(); - - if (type === mxShapePidIndicator.prototype.cst.INSTRUMENT) - { - c.ellipse(0, 0, w, w); - c.fillAndStroke(); - } - else if (type === mxShapePidIndicator.prototype.cst.CONTROL) - { - c.rect(0, 0, w, w); - c.fillAndStroke(); - } - else if (type === mxShapePidIndicator.prototype.cst.FUNCTION) - { - c.begin(); - c.moveTo(0, w * 0.5); - c.lineTo(w * 0.25, 0); - c.lineTo(w * 0.75, 0); - c.lineTo(w, w * 0.5); - c.lineTo(w * 0.75, w); - c.lineTo(w * 0.25, w); - c.close(); - c.fillAndStroke(); - } - else if (type === mxShapePidIndicator.prototype.cst.PLC) - { - c.rect(0, 0, w, w); - c.fillAndStroke(); - } -}; - -mxShapePidIndicator.prototype.foreground = function(c, x, y, w, h) -{ - var mounting = mxUtils.getValue(this.style, mxShapePidIndicator.prototype.cst.MOUNTING, 'field'); - var type = mxUtils.getValue(this.style, mxShapePidIndicator.prototype.cst.IND_TYPE, 'inst'); - - if (type === mxShapePidIndicator.prototype.cst.CONTROL) - { - c.ellipse(0, 0, w, w); - c.stroke(); - } - else if (type === mxShapePidIndicator.prototype.cst.PLC) - { - c.begin(); - c.moveTo(0, w * 0.5); - c.lineTo(w * 0.5, 0); - c.lineTo(w, w * 0.5); - c.lineTo(w * 0.5, w); - c.close(); - c.stroke(); - } - - if (mounting === mxShapePidIndicator.prototype.cst.ROOM) - { - c.begin(); - c.moveTo(0, w * 0.5); - c.lineTo(w, w * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidIndicator.prototype.cst.INACCESSIBLE) - { - c.setDashed(true); - c.begin(); - c.moveTo(0, w * 0.5); - c.lineTo(w, w * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidIndicator.prototype.cst.LOCAL) - { - c.begin(); - c.moveTo(w * 0.005, w * 0.48); - c.lineTo(w * 0.995, w * 0.48); - c.moveTo(w * 0.005, w * 0.52); - c.lineTo(w * 0.995, w * 0.52); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidIndicator.prototype.cst.SHAPE_INDICATOR, mxShapePidIndicator); - -mxShapePidIndicator.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.5, 1), true)]; - -//********************************************************************************************************************************************************** -//Logic -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapePidLogic(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxShapePidLogic, mxShape); - -mxShapePidLogic.prototype.cst = { - SHAPE_LOGIC : 'mxgraph.pid2inst.logic', - MOUNTING : 'mounting', - FIELD : 'field', - ROOM : 'room', - INACCESSIBLE : 'inaccessible', - LOCAL : 'local' -}; - -mxShapePidLogic.prototype.customProperties = [ - {name: 'mounting', dispName: 'Mounting', type: 'enum', defVal:'field', - enumList: [ - {val:'field', dispName:'Field'}, - {val:'room', dispName:'Room'}, - {val:'inaccessible', dispName:'Inaccessible'}, - {val:'local', dispName:'Local'} - ]} -]; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapePidLogic.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidLogic.prototype.background = function(c, x, y, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); -}; - -mxShapePidLogic.prototype.foreground = function(c, x, y, w, h) -{ - var mounting = mxUtils.getValue(this.style, mxShapePidLogic.prototype.cst.MOUNTING, 'field'); - - if (mounting === mxShapePidLogic.prototype.cst.ROOM) - { - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidLogic.prototype.cst.INACCESSIBLE) - { - c.setDashed(true); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w, h * 0.5); - c.stroke(); - } - else if (mounting === mxShapePidLogic.prototype.cst.LOCAL) - { - c.begin(); - c.moveTo(w * 0.02, h * 0.48); - c.lineTo(w * 0.98, h * 0.48); - c.moveTo(w * 0.02, h * 0.52); - c.lineTo(w * 0.98, h * 0.52); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidLogic.prototype.cst.SHAPE_LOGIC, mxShapePidLogic); - -mxShapePidLogic.prototype.constraints = [ - new mxConnectionConstraint(new mxPoint(0.5, 0), true), - new mxConnectionConstraint(new mxPoint(0.5, 1), true), - new mxConnectionConstraint(new mxPoint(0, 0.5), true), - new mxConnectionConstraint(new mxPoint(1, 0.5), true), - new mxConnectionConstraint(new mxPoint(0.25, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.25, 0.75), false), - new mxConnectionConstraint(new mxPoint(0.75, 0.25), false), - new mxConnectionConstraint(new mxPoint(0.75, 0.75), false) - ]; diff --git a/dist/libs/drawio/shapes/pid2/mxPidMisc.js b/dist/libs/drawio/shapes/pid2/mxPidMisc.js deleted file mode 100644 index b02797ef..00000000 --- a/dist/libs/drawio/shapes/pid2/mxPidMisc.js +++ /dev/null @@ -1,500 +0,0 @@ -/** - * $Id: mxPidMisc.js,v 1.4 2013/11/22 10:46:56 mate Exp $ - * Copyright (c) 2006-2013, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Fan -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapePidFan(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapePidFan, mxShape); - -mxShapePidFan.prototype.cst = { - SHAPE_FAN : 'mxgraph.pid2misc.fan', - FAN_TYPE : 'fanType', - COMMON : 'common', - AXIAL : 'axial', - RADIAL : 'radial' -}; - -mxShapePidFan.prototype.customProperties = [ - {name: 'fanType', dispName: 'Type', type: 'enum', defVal:'field', - enumList: [ - {val:'common', dispName:'Common'}, - {val:'axial', dispName:'Axial'}, - {val:'radial', dispName:'Radial'} - ]} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapePidFan.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidFan.prototype.background = function(c, x, y, w, h) -{ - c.ellipse(0, 0, w, h); - c.fillAndStroke(); -}; - -mxShapePidFan.prototype.foreground = function(c, x, y, w, h) -{ - - c.begin(); - c.moveTo(w * 0.3, h * 0.045); - c.lineTo(w * 0.97, h * 0.33); - c.moveTo(w * 0.3, h * 0.955); - c.lineTo(w * 0.97, h * 0.67); - - c.moveTo(w * 0.4228, h * 0.3655); - c.arcTo(w * 0.15, h * 0.03, 50, 0, 1, w * 0.5, h * 0.5); - c.arcTo(w * 0,15, h * 0.03, 50, 0, 1, w * 0.3772, h * 0.4045); - c.arcTo(w * 0.15, h * 0.03, 50, 0, 1, w * 0.3025, h * 0.271); - c.arcTo(w * 0.15, h * 0.03, 50, 0, 1, w * 0.4228, h * 0.3655); - c.close(); - - c.moveTo(w * 0.377, h * 0.5973); - c.arcTo(w * 0.15, h * 0.03, -50, 0, 1, w * 0.4966, h * 0.5019); - c.arcTo(w * 0,15, h * 0.03, -50, 0, 1, w * 0.423, h * 0.636); - c.arcTo(w * 0.15, h * 0.03, -50, 0, 1, w * 0.3034, h * 0.7314); - c.arcTo(w * 0.15, h * 0.03, -50, 0, 1, w * 0.377, h * 0.5973); - c.close(); - c.stroke(); - - c.ellipse(w * 0.5, h * 0.47, w * 0.3, h * 0.06); - c.stroke(); - - var type = mxUtils.getValue(this.style, mxShapePidFan.prototype.cst.FAN_TYPE, 'common'); - - if (type === mxShapePidFan.prototype.cst.AXIAL) - { - c.begin(); - c.moveTo(w * 0.1, h * 0.5); - c.lineTo(w * 0.3, h * 0.5); - c.stroke(); - } - else if (type === mxShapePidFan.prototype.cst.RADIAL) - { - c.begin(); - c.moveTo(w * 0.2, h * 0.4); - c.lineTo(w * 0.2, h * 0.6); - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidFan.prototype.cst.SHAPE_FAN, mxShapePidFan); - -//********************************************************************************************************************************************************** -//Column -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapePidColumn(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapePidColumn, mxShape); - -mxShapePidColumn.prototype.cst = { - SHAPE_COLUMN : 'mxgraph.pid2misc.column', - COLUMN_TYPE : 'columnType', - COMMON : 'common', - FIXED : 'fixed', - FLUIDIZED : 'fluid', - BAFFLE : 'baffle', - VALVE : 'valve', - BUBBLE : 'bubble', - NOZZLE : 'nozzle', - TRAY : 'tray' -}; - -mxShapePidColumn.prototype.customProperties = [ - {name: 'columnType', dispName: 'Type', type: 'enum', defVal:'field', - enumList: [ - {val:'common', dispName:'Common'}, - {val:'fixed', dispName:'Fixed'}, - {val:'fluid', dispName:'Fluid'}, - {val:'baffle', dispName:'Baffle'}, - {val:'valve', dispName:'Valve'}, - {val:'bubble', dispName:'Bubble'}, - {val:'nozzle', dispName:'Nozzle'}, - {val:'tray', dispName:'Tray'} - ]} -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapePidColumn.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); - this.foreground(c, x, y, w, h); -}; - -mxShapePidColumn.prototype.background = function(c, x, y, w, h) -{ - h = Math.max(h, 30); - - c.begin(); - c.moveTo(0, 15); - c.arcTo(w * 0.5, 15, 0, 0, 1, w, 15); - c.lineTo(w, h - 15); - c.arcTo(w * 0.5, 15, 0, 0, 1, 0, h - 15); - c.close(); - c.fillAndStroke(); -}; - -mxShapePidColumn.prototype.foreground = function(c, x, y, w, h) -{ - var type = mxUtils.getValue(this.style, mxShapePidColumn.prototype.cst.COLUMN_TYPE, 'common'); - - if (type === mxShapePidColumn.prototype.cst.FIXED) - { - var step = w * 1.2; - var range = h - 50; - var rem = range % step; - var off = rem * 0.5 + 25; - - c.begin(); - - for (var i = 0; i <= range - step; i += step) - { - c.moveTo(0, i + off + step * 0.1); - c.lineTo(w, i + off + step * 0.1); - c.moveTo(0, i + off + step * 0.9); - c.lineTo(w, i + off + step * 0.9); - c.moveTo(0, i + off + step * 0.1); - c.lineTo(w, i + off + step * 0.9); - c.moveTo(0, i + off + step * 0.9); - c.lineTo(w, i + off + step * 0.1); - } - - c.stroke(); - } - else if (type === mxShapePidColumn.prototype.cst.TRAY) - { - var step = w * 0.2; - var range = h - 50; - var rem = range % step; - var off = rem * 0.5 + 25; - - c.setDashed(true); - c.begin(); - - for (var i = 0; i <= range; i += step) - { - c.moveTo(0, i + off); - c.lineTo(w, i + off); - } - - c.stroke(); - } - else if (type === mxShapePidColumn.prototype.cst.FLUIDIZED) - { - var stepY = w * 0.1; - var stepX = w * 0.1; - var range = h - 50; - var rem = range % stepY; - var off = 25; - var dot = Math.min(w, h) * 0.02; - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var dashed = mxUtils.getValue(this.style, mxConstants.STYLE_DASHED, '0'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - var odd = 0; - - c.setFillColor(strokeColor); - c.setDashed(true); - c.begin(); - c.moveTo(0, 25); - c.lineTo(w, 25); - c.moveTo(0, h - 25); - c.lineTo(w, h - 25); - c.stroke(); - - if (dashed === '0') - { - c.setDashed(false); - } - else - { - c.setDashed(true); - } - - var counter = 0; - - for (var i = off + stepY * 0.5; i < range + off - dot; i += stepY) - { - var startJ = stepX; - odd = counter % 2; - - if (odd === 0) - { - startJ = stepX * 0.5; - } - - for (var j = startJ; j < w; j += stepX ) - { - c.ellipse(j, i, dot, dot); - c.fillAndStroke(); - } - - counter++; - } - } - else if (type === mxShapePidColumn.prototype.cst.BAFFLE) - { - var stepY = w * 0.2; - var range = h - 50 - stepY; - var rem = range % stepY; - var off = 25 + stepY * 0.5; - var odd = 0; - - c.setDashed(true); - c.begin(); - c.moveTo(0, 25); - c.lineTo(w, 25); - c.moveTo(0, h - 25); - c.lineTo(w, h - 25); - c.stroke(); - - var counter = 0; - - c.begin(); - - for (var i = off + stepY * 0.5; i < range + off; i += stepY) - { - odd = counter % 2; - - if (odd === 0) - { - c.moveTo(0, i); - c.lineTo(w * 0.9, i); - c.lineTo(w * 0.9, i - stepY * 0.3); - } - else - { - c.moveTo(w * 0.1, i - stepY * 0.5); - c.lineTo(w * 0.1, i); - c.lineTo(w, i); - } - - - counter++; - } - - c.stroke(); - } - else if (type === mxShapePidColumn.prototype.cst.VALVE || type === mxShapePidColumn.prototype.cst.BUBBLE) - { - var stepY = w * 0.2; - var range = h - 50 - stepY; - var rem = range % stepY; - var off = 25 + stepY * 0.5; - var dashed = mxUtils.getValue(this.style, mxConstants.STYLE_DASHED, '0'); - var odd = 0; - - c.setFillColor(strokeColor); - c.setDashed(true); - c.begin(); - c.moveTo(0, 25); - c.lineTo(w, 25); - c.moveTo(0, h - 25); - c.lineTo(w, h - 25); - c.stroke(); - - if (dashed === '0') - { - c.setDashed(false); - } - else - { - c.setDashed(true); - } - - c.begin(); - - for (var i = off + stepY * 0.5; i < range + off; i += stepY) - { - c.moveTo(0, i); - c.lineTo(w * 0.4, i); - - if (type === mxShapePidColumn.prototype.cst.VALVE) - { - c.moveTo(w * 0.4, i - stepY * 0.2); - c.lineTo(w * 0.6, i - stepY * 0.2); - } - else if (type === mxShapePidColumn.prototype.cst.BUBBLE) - { - c.moveTo(w * 0.25, i - stepY * 0.2); - c.arcTo(stepY * 3, stepY * 3, 0, 0, 1, w * 0.75, i - stepY * 0.2); - } - - c.moveTo(w * 0.6, i); - c.lineTo(w, i); - } - - c.stroke(); - } - else if (type === mxShapePidColumn.prototype.cst.NOZZLE) - { - var step = w * 1.2; - var range = h - 50; - var rem = range % step; - var off = rem * 0.5 + 25; - var dashed = mxUtils.getValue(this.style, mxConstants.STYLE_DASHED, 0); - - - for (var i = 0; i <= range - step; i += step) - { - c.setDashed(true); - - c.begin(); - c.moveTo(0, i + off + step * 0.2); - c.lineTo(w, i + off + step * 0.2); - c.moveTo(0, i + off + step * 0.8); - c.lineTo(w, i + off + step * 0.8); - c.stroke(); - - if (dashed === 0) - { - c.setDashed(false); - } - else - { - c.setDashed(true); - } - - c.begin(); - c.moveTo(0, i + off + step * 0.2); - c.lineTo(w, i + off + step * 0.8); - c.moveTo(0, i + off + step * 0.8); - c.lineTo(w, i + off + step * 0.2); - - if (i !== 0) - { - c.moveTo(0, i + off); - c.lineTo(w * 0.5, i + off); - c.moveTo(w * 0.5 - step * 0.08, i + off + step * 0.08); - c.lineTo(w * 0.5, i + off); - c.lineTo(w * 0.5 + step * 0.08, i + off + step * 0.08); - c.moveTo(w * 0.5, i + off); - c.lineTo(w * 0.5, i + off + step * 0.08); - } - - c.stroke(); - } - - c.stroke(); - } -}; - -mxCellRenderer.registerShape(mxShapePidColumn.prototype.cst.SHAPE_COLUMN, mxShapePidColumn); - -//********************************************************************************************************************************************************** -//Conveyor -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapePidConveyor(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapePidConveyor, mxShape); - -mxShapePidConveyor.prototype.cst = { - SHAPE_CONVEYOR : 'mxgraph.pid2misc.conveyor' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapePidConveyor.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, x, y, w, h); - c.setShadow(false); -}; - -mxShapePidConveyor.prototype.background = function(c, x, y, w, h) -{ - var wheelSize = Math.min(h, w * 0.5); - - c.begin(); - c.moveTo(wheelSize * 0.5, 0); - c.lineTo(w - wheelSize * 0.5, 0); - c.stroke(); - - c.ellipse(0, 0, wheelSize, wheelSize); - c.fillAndStroke(); - c.ellipse(w - wheelSize, 0, wheelSize, wheelSize); - c.fillAndStroke(); - - c.begin(); - c.moveTo(wheelSize * 0.5, wheelSize); - c.lineTo(w - wheelSize * 0.5, wheelSize); - c.stroke(); - - //holders - - var dist = w - wheelSize * 1.8; - var startX = wheelSize * 0.9; - var step = wheelSize * 0.7; - - for (var i = 0; i < dist; i = i + step) - { - c.rect(startX + i, 0, wheelSize * 0.2, wheelSize * 0.1); - c.fillAndStroke(); - c.rect(startX + i, wheelSize * 0.9, wheelSize * 0.2, wheelSize * 0.1); - c.fillAndStroke(); - } - -}; - -mxCellRenderer.registerShape(mxShapePidConveyor.prototype.cst.SHAPE_CONVEYOR, mxShapePidConveyor); - diff --git a/dist/libs/drawio/shapes/pid2/mxPidValves.js b/dist/libs/drawio/shapes/pid2/mxPidValves.js deleted file mode 100644 index 97235c53..00000000 --- a/dist/libs/drawio/shapes/pid2/mxPidValves.js +++ /dev/null @@ -1,1149 +0,0 @@ -/** - * $Id: mxPidValves.js,v 1.5 2013/10/22 12:55:55 mate Exp $ - * Copyright (c) 2006-2013, JGraph Ltd - */ - -//********************************************************************************************************************************************************** -//Valve -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapePidValve(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapePidValve, mxShape); - -mxShapePidValve.prototype.cst = { - SHAPE_VALVE : 'mxgraph.pid2valves.valve', - //states - DEFAULT_STATE : 'defState', - CLOSED : 'closed', - OPEN : 'open', - //actuators - ACTUATOR : 'actuator', - MANUAL : 'man', - DIAPHRAGM : 'diaph', - BALANCED_DIAPHRAGM : 'balDiaph', - MOTOR : 'motor', - NONE : 'none', - SPRING : 'spring', - PILOT : 'pilot', - POWERED: 'powered', - SOLENOID : 'solenoid', - SOLENOID_MANUAL_RESET : 'solenoidManRes', - SINGLE_ACTING : 'singActing', - DOUBLE_ACTING : 'dblActing', - PILOT_CYLINDER : 'pilotCyl', - DIGITAL : 'digital', - WEIGHT : 'weight', - KEY : 'key', - ELECTRO_HYDRAULIC : 'elHyd', - //types - VALVE_TYPE : 'valveType', - BUTTERFLY : 'butterfly', - CHECK : 'check', - GATE : 'gate', - GLOBE : 'globe', - NEEDLE : 'needle', - PLUG : 'plug', - SELF_DRAINING : 'selfDrain', - ANGLE : 'angle', - ANGLE_GLOBE : 'angleGlobe', - THREE_WAY : 'threeWay', - ANGLE_BLOWDOWN : 'angBlow', - BALL : 'ball' -}; - -mxShapePidValve.prototype.customProperties = [ - {name: 'defState', dispName: 'Default State', type: 'enum', defVal:'open', - enumList: [ - {val:'closed', dispName:'Closed'}, - {val:'open', dispName:'Open'} - ]}, - {name: 'actuator', dispName: 'Actuator', type: 'enum', defVal:'man', - enumList: [ - {val:'man', dispName:'Manual'}, - {val:'diaph', dispName:'Diphragm'}, - {val:'balDiaph', dispName:'Balanced Diaphragm'}, - {val:'motor', dispName:'Motor'}, - {val:'none', dispName:'None'}, - {val:'spring', dispName:'Spring'}, - {val:'pilot', dispName:'Pilot'}, - {val:'powered', dispName:'Powered'}, - {val:'solenoid', dispName:'Solenoid'}, - {val:'solenoidManRes', dispName:'Solenoid w/ Manual Reset'}, - {val:'singActing', dispName:'Single Acting'}, - {val:'dblActing', dispName:'Double Acting'}, - {val:'pilotCyl', dispName:'Pilot Cylinder'}, - {val:'digital', dispName:'Digital'}, - {val:'weight', dispName:'Weight'}, - {val:'key', dispName:'Key'}, - {val:'elHyd', dispName:'Electro-Hidraulic'} - ]}, - {name: 'valveType', dispName: 'Type', type: 'enum', defVal:'gate', - enumList: [ - {val:'butterfly', dispName:'Butterfly'}, - {val:'check', dispName:'check'}, - {val:'gate', dispName:'Gate'}, - {val:'globe', dispName:'Globe'}, - {val:'needle', dispName:'Needle'}, - {val:'plug', dispName:'Plug'}, - {val:'selfDrain', dispName:'Self Draining'}, - {val:'angle', dispName:'Angle'}, - {val:'angleGlobe', dispName:'Angle Globe'}, - {val:'threeWay', dispName:'Three Way'}, -// {val:'angBlow', dispName:'Angle Blowdown'}, - {val:'ball', dispName:'Ball'} - ]}, -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapePidValve.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var valveType = mxUtils.getValue(this.style, mxShapePidValve.prototype.cst.VALVE_TYPE, 'gate'); - var actuator = mxUtils.getValue(this.style, mxShapePidValve.prototype.cst.ACTUATOR, mxShapePidValve.prototype.cst.NONE); - var actH = 0; - - if (actuator !== 'none') - { - if (this.isAngleVariant(valveType)) - { - actH = h * 0.3333; - } - else - { - actH = h * 0.4; - } - } - - c.translate(x, y); - c.setLineJoin('round'); - - this.background(c, x, y, w, h, valveType, actuator, actH); - c.setShadow(false); - this.foreground(c, x, y, w, h, valveType, actuator, actH); -}; - -mxShapePidValve.prototype.background = function(c, x, y, w, h, valveType, actuator, actH) -{ - //draw the actuator - if (actuator !== mxShapePidValve.prototype.cst.NONE) - { - if (this.isAngleVariant(valveType)) - { - this.drawActuatorBg(c, x, y, w, h / 1.2, actuator, actH); - } - else - { - this.drawActuatorBg(c, x, y, w, h, actuator, actH); - } - } - - //draw the valve body - if (this.isGateVariant(valveType)) - { - this.drawGateVariantBg(c, 0, 0, w, h, valveType, actuator, actH); - } - else if (this.isAngleVariant(valveType)) - { - this.drawAngleVariantBg(c, 0, 0, w, h, valveType, actuator, actH); - } - else if (valveType === mxShapePidValve.prototype.cst.BUTTERFLY) - { - this.drawButterflyValve(c, 0, 0, w, h, actuator, actH); - } - else if (valveType === mxShapePidValve.prototype.cst.CHECK) - { - this.drawCheckValve(c, 0, 0, w, h, actuator, actH); - } -}; - -mxShapePidValve.prototype.foreground = function(c, x, y, w, h, valveType, actuator, actH) -{ - var valveType = mxUtils.getValue(this.style, mxShapePidValve.prototype.cst.VALVE_TYPE, 'gate'); - - //draw the actuator - if (actuator !== mxShapePidValve.prototype.cst.NONE) - { - if (this.isAngleVariant(valveType)) - { - this.drawActuatorFg(c, x, y, w, h / 1.2, actuator, actH); - } - else - { - this.drawActuatorFg(c, x, y, w, h, actuator, actH); - } - } - - if (this.isGateVariant(valveType)) - { - this.drawGateVariantFg(c, 0, 0, w, h, valveType, actuator, actH); - } - if (this.isAngleVariant(valveType)) - { - this.drawAngleVariantFg(c, 0, 0, w, h, valveType, actuator, actH); - } -}; - -mxShapePidValve.prototype.drawActuatorBg = function(c, x, y, w, h, actuator) -{ - if (this.isSquareVariant(actuator)) - { - c.translate(w * 0.325, 0); - this.drawSquareAct(c, w * 0.35, h * 0.7, actuator); - c.translate(- w * 0.325, 0); - } - else if (actuator === mxShapePidValve.prototype.cst.MANUAL) - { - c.translate(w * 0.25, h * 0.15); - this.drawManAct(c, w * 0.5, h * 0.55); - c.translate(- w * 0.25, - h * 0.15); - } - else if (actuator === mxShapePidValve.prototype.cst.DIAPHRAGM) - { - c.translate(w * 0.25, h * 0.1); - this.drawDiaphAct(c, w * 0.5, h * 0.6); - c.translate(- w * 0.25, - h * 0.1); - } - else if (actuator === mxShapePidValve.prototype.cst.BALANCED_DIAPHRAGM) - { - c.translate(w * 0.25, h * 0.1); - this.drawBalDiaphActBg(c, w * 0.5, h * 0.6); - c.translate(- w * 0.25, - h * 0.1); - } - else if (actuator === mxShapePidValve.prototype.cst.MOTOR || actuator === mxShapePidValve.prototype.cst.ELECTRO_HYDRAULIC) - { - c.translate(w * 0.325, 0); - this.drawCircleAct(c, w * 0.35, h * 0.7, actuator); - c.translate(- w * 0.325, 0); - } - else if (actuator === mxShapePidValve.prototype.cst.SPRING) - { - c.translate(w * 0.36, 0); - this.drawSpringAct(c, w * 0.28, h * 0.7); - c.translate(- w * 0.36, 0); - } - else if (actuator === mxShapePidValve.prototype.cst.SOLENOID_MANUAL_RESET) - { - c.translate(w * 0.325, 0); - this.drawSolenoidManResetAct(c, w * 0.575, h * 0.7); - c.translate(- w * 0.325, 0); - } - else if (actuator === mxShapePidValve.prototype.cst.SINGLE_ACTING) - { - c.translate(w * 0.35, 0); - this.drawSingActingActBg(c, w * 0.65, h * 0.7); - c.translate(- w * 0.35, 0); - } - else if (actuator === mxShapePidValve.prototype.cst.DOUBLE_ACTING) - { - c.translate(w * 0.35, 0); - this.drawDblActingActBg(c, w * 0.65, h * 0.7); - c.translate(- w * 0.35, 0); - } - else if (actuator === mxShapePidValve.prototype.cst.PILOT_CYLINDER) - { - c.translate(w * 0.35, 0); - this.drawPilotCylinderActBg(c, w * 0.65, h * 0.7); - c.translate(- w * 0.35, 0); - } - else if (actuator === mxShapePidValve.prototype.cst.ANGLE_BLOWDOWN) - { - c.translate(w * 0.5, h * 0.2); - this.drawAngleBlowdownAct(c, w * 0.4, h * 0.5); - c.translate(- w * 0.5, - h * 0.2); - } -}; - -mxShapePidValve.prototype.drawActuatorFg = function(c, x, y, w, h, actuator) -{ - if (actuator === mxShapePidValve.prototype.cst.BALANCED_DIAPHRAGM) - { - c.translate(w * 0.25, h * 0.1); - this.drawBalDiaphActFg(c, w * 0.5, h * 0.6); - c.translate(- w * 0.25, - h * 0.1); - } - else if (actuator === mxShapePidValve.prototype.cst.SINGLE_ACTING || - actuator === mxShapePidValve.prototype.cst.DOUBLE_ACTING || - actuator === mxShapePidValve.prototype.cst.PILOT_CYLINDER) - { - c.translate(w * 0.35, 0); - this.drawActingActFg(c, w * 0.65, h * 0.7); - c.translate(- w * 0.35, 0); - } -}; - -mxShapePidValve.prototype.drawManAct = function(c, w, h) -{ - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.stroke(); -}; - -mxShapePidValve.prototype.drawDiaphAct = function(c, w, h) -{ - c.begin(); - c.moveTo(w * 0.5, h * 0.2); - c.lineTo(w * 0.5, h); - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.2); - c.arcTo(w * 0.6, h * 0.4, 0, 0, 1, w, h * 0.2); - c.close(); - c.fillAndStroke(); -}; - -mxShapePidValve.prototype.drawBalDiaphActBg = function(c, w, h) -{ - c.ellipse(0, 0, w, h * 0.3); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.3); - c.lineTo(w * 0.5, h); - c.stroke(); -}; - -mxShapePidValve.prototype.drawBalDiaphActFg = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h * 0.15); - c.lineTo(w, h * 0.15); - c.stroke(); -}; - -mxShapePidValve.prototype.drawCircleAct = function(c, w, h, actuator) -{ - c.ellipse(0, 0, w, h * 0.5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.stroke(); - - var m = ''; - - if (actuator === mxShapePidValve.prototype.cst.MOTOR) - { - m = 'M'; - } - else if (actuator === mxShapePidValve.prototype.cst.ELECTRO_HYDRAULIC) - { - m = 'E/H'; - } - - c.setFontStyle(1); - c.setFontFamily('Helvetica'); - c.setFontSize(Math.min(w, h) * 0.4); - c.text(w * 0.5, h * 0.25, 0, 0, m, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxShapePidValve.prototype.drawSpringAct = function(c, w, h) -{ - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h); - c.moveTo(w * 0.32, h * 0.16); - c.lineTo(w * 0.68, h * 0.08); - c.moveTo(w * 0.21, h * 0.32); - c.lineTo(w * 0.79, h * 0.20); - c.moveTo(w * 0.1, h * 0.52); - c.lineTo(w * 0.9, h * 0.36); - c.moveTo(0, h * 0.72); - c.lineTo(w, h * 0.5); - c.stroke(); -}; - -mxShapePidValve.prototype.drawSolenoidManResetAct = function(c, w, h) -{ - c.rect(0, 0, w * 0.61, h * 0.46); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.56, h * 0.6); - c.lineTo(w * 0.78, h * 0.5); - c.lineTo(w, h * 0.6); - c.lineTo(w * 0.78, h * 0.7); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.305, h * 0.46); - c.lineTo(w * 0.305, h); - c.moveTo(w * 0.305, h * 0.6); - c.lineTo(w * 0.56, h * 0.6); - c.stroke(); - - c.setFontStyle(1); - c.setFontFamily('Helvetica'); - c.setFontSize(Math.min(w, h) * 0.4); - c.text(w * 0.305, h * 0.23, 0, 0, 'S', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - - c.setFontStyle(0); - c.setFontSize(Math.min(w, h) * 0.15); - c.text(w * 0.78, h * 0.6, 0, 0, 'R', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxShapePidValve.prototype.drawSingActingActBg = function(c, w, h) -{ - c.rect(0, 0, w * 0.46, h * 0.46); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.23, h * 0.46); - c.lineTo(w * 0.23, h); - c.moveTo(w * 0.46, h * 0.23); - c.lineTo(w, h * 0.23); - c.moveTo(w * 0.77, h * 0.15); - c.lineTo(w * 0.69, h * 0.31); - c.moveTo(w * 0.82, h * 0.15); - c.lineTo(w * 0.74, h * 0.31); - c.stroke(); -}; - -mxShapePidValve.prototype.drawActingActFg = function(c, w, h) -{ - c.begin(); - c.moveTo(w * 0.23, h * 0.23); - c.lineTo(w * 0.23, h * 0.46); - c.moveTo(0, h * 0.23); - c.lineTo(w * 0.46, h * 0.23); - c.stroke(); -}; - -mxShapePidValve.prototype.drawDblActingActBg = function(c, w, h) -{ - c.rect(0, 0, w * 0.46, h * 0.46); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.23, h * 0.46); - c.lineTo(w * 0.23, h); - c.moveTo(w * 0.46, h * 0.115); - c.lineTo(w, h * 0.115); - c.moveTo(w * 0.77, h * 0.035); - c.lineTo(w * 0.69, h * 0.195); - c.moveTo(w * 0.82, h * 0.035); - c.lineTo(w * 0.74, h * 0.195); - c.moveTo(w * 0.46, h * 0.345); - c.lineTo(w, h * 0.345); - c.moveTo(w * 0.77, h * 0.265); - c.lineTo(w * 0.69, h * 0.425); - c.moveTo(w * 0.82, h * 0.265); - c.lineTo(w * 0.74, h * 0.425); - c.stroke(); -}; - -mxShapePidValve.prototype.drawPilotCylinderActBg = function(c, w, h) -{ - c.rect(0, 0, w * 0.46, h * 0.46); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.23, h * 0.46); - c.lineTo(w * 0.23, h); - c.moveTo(w * 0.46, h * 0.23); - c.lineTo(w * 0.77, h * 0.23); - c.stroke(); - - c.rect(w * 0.77, h * 0.115, w * 0.23, h * 0.23); - c.fillAndStroke(); - - c.setFontStyle(0); - c.setFontFamily('Helvetica'); - c.setFontSize(Math.min(w, h) * 0.15); - c.text(w * 0.885, h * 0.23, 0, 0, 'P', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxShapePidValve.prototype.drawAngleBlowdownAct = function(c, w, h) -{ - c.begin(); - c.moveTo(w * 0.34, 0); - c.lineTo(w, h * 0.405); - c.moveTo(0, h); - c.lineTo(w * 0.665, h * 0.205); - c.stroke(); -}; - -mxShapePidValve.prototype.drawSquareAct = function(c, w, h, actuator) -{ - c.rect(0, 0, w, h * 0.5); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.5); - c.lineTo(w * 0.5, h); - c.stroke(); - - var m = ''; - - if (actuator === mxShapePidValve.prototype.cst.PILOT) - { - m = 'P'; - } - else if (actuator === mxShapePidValve.prototype.cst.SOLENOID) - { - m = 'S'; - } - else if (actuator === mxShapePidValve.prototype.cst.DIGITAL) - { - m = 'D'; - } - else if (actuator === mxShapePidValve.prototype.cst.WEIGHT) - { - m = 'W'; - } - else if (actuator === mxShapePidValve.prototype.cst.KEY) - { - m = 'K'; - } - - c.setFontStyle(1); - c.setFontFamily('Helvetica'); - c.setFontSize(Math.min(w, h) * 0.4); - c.text(w * 0.5, h * 0.25, 0, 0, m, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -mxShapePidValve.prototype.drawGateVariantFg = function(c, x, y, w, h, valveType, actuator, actH) -{ - var defState = mxUtils.getValue(this.style, mxShapePidValve.prototype.cst.DEFAULT_STATE, 'open'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - if (valveType === mxShapePidValve.prototype.cst.BALL) - { - c.ellipse(x + w * 0.3, y + actH + (h - actH) * 0.18, w * 0.4, (h - actH) * 0.64); - c.fillAndStroke(); - } - else if (valveType === mxShapePidValve.prototype.cst.GLOBE) - { - c.ellipse(x + w * 0.3, y + actH + (h - actH) * 0.18, w * 0.4, (h - actH) * 0.64); - c.setFillColor(strokeColor); - c.fillAndStroke(); - c.setFillColor(fillColor); - } - else if (valveType === mxShapePidValve.prototype.cst.PLUG) - { - this.drawPlug(c, x + w * 0.4, y + actH + (h - actH) * 0.25, w * 0.2, (h - actH) * 0.5); - } - else if (valveType === mxShapePidValve.prototype.cst.NEEDLE) - { - this.drawNeedle(c, x + w * 0.45, y + actH + (h - actH) * 0.1, w * 0.1, (h - actH) * 0.9); - } - else if (valveType === mxShapePidValve.prototype.cst.SELF_DRAINING) - { - this.drawDrain(c, x + w * 0.48, y + actH + (h - actH) * 0.5, w * 0.04, (h - actH) * 0.49); - } -}; - -mxShapePidValve.prototype.drawAngleVariantFg = function(c, x, y, w, h, valveType, actuator, actH) -{ - var defState = mxUtils.getValue(this.style, mxShapePidValve.prototype.cst.DEFAULT_STATE, 'open'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - if (valveType === mxShapePidValve.prototype.cst.ANGLE_GLOBE) - { - if (actuator === 'none') - { - c.ellipse(w * 0.34, h * 0.175, w * 0.32, h * 0.4); - } - else - { - c.ellipse(w * 0.34, h * 0.45, w * 0.32, h * 0.2667); - } - c.setFillColor(strokeColor); - c.fillAndStroke(); - c.setFillColor(fillColor); - } -}; - -mxShapePidValve.prototype.drawGateVariantBg = function(c, x, y, w, h, valveType, actuator, actH) -{ - if (valveType === mxShapePidValve.prototype.cst.GATE) - { - this.drawGateValve(c, x, y + actH, w, h - actH); - } - else if (valveType === mxShapePidValve.prototype.cst.BALL || valveType === mxShapePidValve.prototype.cst.GLOBE) - { - c.ellipse(x + w * 0.3, y + actH + (h - actH) * 0.18, w * 0.4, (h - actH) * 0.64); - c.fillAndStroke(); - this.drawGateValve(c, x, y + actH, w, h - actH); - } - else if (valveType === mxShapePidValve.prototype.cst.PLUG) - { - this.drawPlug(c, x + w * 0.4, y + actH + (h - actH) * 0.25, w * 0.2, (h - actH) * 0.5); - this.drawGateValve(c, x, y + actH, w, h - actH); - } - else if (valveType === mxShapePidValve.prototype.cst.NEEDLE) - { - this.drawNeedle(c, x + w * 0.45, y + actH + (h - actH) * 0.1, w * 0.1, (h - actH) * 0.9); - this.drawGateValve(c, x, y + actH, w, h - actH); - } - else if (valveType === mxShapePidValve.prototype.cst.SELF_DRAINING) - { - this.drawDrain(c, x + w * 0.48, y + actH + (h - actH) * 0.5, w * 0.04, (h - actH) * 0.49); - this.drawGateValve(c, x, y + actH, w, h - actH); - } -}; - -mxShapePidValve.prototype.drawAngleVariantBg = function(c, x, y, w, h, valveType, actuator, actH) -{ - if (valveType === mxShapePidValve.prototype.cst.ANGLE) - { - this.drawAngleValve(c, w * 0.2, y + actH, w * 0.8, h - actH); - } - else if (valveType === mxShapePidValve.prototype.cst.ANGLE_GLOBE) - { - this.drawAngleGlobeValveBg(c, w * 0.2, y + actH, w * 0.8, h - actH); - } - else if (valveType === mxShapePidValve.prototype.cst.THREE_WAY) - { - this.drawThreeWayValve(c, 0, y + actH, w, h - actH); - } - else if (valveType === mxShapePidValve.prototype.cst.ANGLE_BLOWDOWN) - { - this.drawAngleBlowdownValve(c, x, y + actH, w, h - actH); - } -}; - -mxShapePidValve.prototype.drawPlug = function(c, x, y, w, h) -{ - c.translate(x, y); - c.begin(); - c.moveTo(0, h * 0.5); - c.lineTo(w * 0.5, 0); - c.lineTo(w, h * 0.5); - c.lineTo(w * 0.5, h); - c.close(); - c.fillAndStroke(); - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawNeedle = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - c.translate(x, y); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w, 0); - c.lineTo(w * 0.5, h); - c.close(); - c.setFillColor(strokeColor); - c.fillAndStroke(); - c.setFillColor(fillColor); - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawDrain = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - c.translate(x, y); - c.begin(); - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.5, h * 0.96); - c.stroke(); - - c.begin(); - c.moveTo(0, h * 0.9); - c.lineTo(w, h * 0.9); - c.lineTo(w * 0.5, h); - c.close(); - c.setFillColor(strokeColor); - c.fillAndStroke(); - c.setFillColor(fillColor); - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawGateValve = function(c, x, y, w, h) -{ - var defState = mxUtils.getValue(this.style, mxShapePidValve.prototype.cst.DEFAULT_STATE, 'open'); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - c.translate(x, y); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(0, h); - c.close(); - c.moveTo(w, 0); - c.lineTo(w * 0.5, h * 0.5); - c.lineTo(w, h); - c.close(); - - if (defState === mxShapePidValve.prototype.cst.CLOSED) - { - c.setFillColor(strokeColor); - c.fillAndStroke(); - c.setFillColor(fillColor); - } - else - { - c.fillAndStroke(); - } - - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawAngleValve = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(w * 0.375, h * 0.375); - c.lineTo(w, 0); - c.lineTo(w, h * 0.75); - c.close(); - c.moveTo(w * 0.375, h * 0.375); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawAngleGlobeValveBg = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.ellipse(w * 0.175, h * 0.175, w * 0.4, h * 0.4); - c.fillAndStroke(); - c.begin(); - c.moveTo(w * 0.375, h * 0.375); - c.lineTo(w, 0); - c.lineTo(w, h * 0.75); - c.close(); - c.moveTo(w * 0.375, h * 0.375); - c.lineTo(w * 0.75, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawAngleGlobeValveFg = function(c, x, y, w, h) -{ - c.translate(x, y); - c.ellipse(w * 0.275, h * 0.275, w * 0.2, h * 0.2); - c.fillAndStroke(); - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawThreeWayValve = function(c, x, y, w, h) -{ - c.translate(x, y); - - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.5, h * 0.375); - c.lineTo(0, h * 0.75); - c.close(); - - c.moveTo(w, 0); - c.lineTo(w * 0.5, h * 0.375); - c.lineTo(w, h * 0.75); - c.close(); - - c.moveTo(w * 0.5, h * 0.375); - c.lineTo(w * 0.8, h); - c.lineTo(w * 0.2, h); - c.close(); - c.fillAndStroke(); - - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawAngleBlowdownValve = function(c, x, y, w, h) -{ - -}; - - -mxShapePidValve.prototype.drawButterflyValve = function(c, x, y, w, h, actuator, actH) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - var yv = y + actH; - var hv = h - actH; - - c.translate(x, yv); - c.begin(); - c.moveTo(0, 0); - c.lineTo(0, hv); - c.moveTo(w, 0); - c.lineTo(w, hv); - - c.moveTo(w * 0.05, hv * 0.05); - c.lineTo(w * 0.95, hv * 0.95); - - c.fillAndStroke(); - - c.ellipse(w * 0.4, hv * 0.33, w * 0.2, hv * 0.33); - c.fillAndStroke(); - - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.drawCheckValve = function(c, x, y, w, h, actuator, actH) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - var yv = y + actH; - var hv = h - actH; - - c.translate(x, yv); - c.begin(); - c.moveTo(0, 0); - c.lineTo(0, hv); - c.moveTo(w, 0); - c.lineTo(w, hv); - c.moveTo(w * 0.05, hv * 0.05); - c.lineTo(w * 0.95, hv * 0.95); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.8925, hv * 0.815); - c.lineTo(w * 0.957, hv * 0.955); - c.lineTo(w * 0.85, hv * 0.928); - c.close(); - c.setFillColor(strokeColor); - c.fillAndStroke(); - c.setFillColor(fillColor); - - c.translate(-x, -y); -}; - -mxShapePidValve.prototype.isGateVariant = function(valveType) -{ - if (valveType === mxShapePidValve.prototype.cst.GATE || - valveType === mxShapePidValve.prototype.cst.BALL || - valveType === mxShapePidValve.prototype.cst.PLUG || - valveType === mxShapePidValve.prototype.cst.NEEDLE || - valveType === mxShapePidValve.prototype.cst.SELF_DRAINING || - valveType === mxShapePidValve.prototype.cst.GLOBE) - { - return true; - } - else - { - return false; - } -}; - -mxShapePidValve.prototype.isAngleVariant = function(valveType) -{ - if (valveType === mxShapePidValve.prototype.cst.ANGLE || - valveType === mxShapePidValve.prototype.cst.ANGLE_GLOBE || - valveType === mxShapePidValve.prototype.cst.THREE_WAY || - valveType === mxShapePidValve.prototype.cst.ANGLE_BLOWDOWN) - { - return true; - } - else - { - return false; - } -}; - -mxShapePidValve.prototype.isSquareVariant = function(actType) -{ - if (actType === mxShapePidValve.prototype.cst.PILOT || - actType === mxShapePidValve.prototype.cst.SOLENOID || - actType === mxShapePidValve.prototype.cst.POWERED || - actType === mxShapePidValve.prototype.cst.DIGITAL || - actType === mxShapePidValve.prototype.cst.WEIGHT || - actType === mxShapePidValve.prototype.cst.KEY) - { - return true; - } - else - { - return false; - } -}; - -mxCellRenderer.registerShape(mxShapePidValve.prototype.cst.SHAPE_VALVE, mxShapePidValve); - -//********************************************************************************************************************************************************** -//Integrated Block And Bleed Valve -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxShapePidIntBlockBleedValve(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShapePidValve. -*/ -mxUtils.extend(mxShapePidIntBlockBleedValve, mxShapePidValve); - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxShapePidIntBlockBleedValve.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var actuator = mxUtils.getValue(this.style, mxShapePidIntBlockBleedValve.prototype.cst.ACTUATOR, mxShapePidIntBlockBleedValve.prototype.cst.NONE); - var actH = 0; - - if (actuator !== 'none') - { - actH = h * 0.2353; - } - - c.translate(x, y); - c.setLineJoin('round'); - - this.background(c, x, y, w, h, actuator, actH); - c.setShadow(false); - this.foreground(c, x, y, w, h, actuator, actH); -}; - -mxShapePidIntBlockBleedValve.prototype.background = function(c, x, y, w, h, actuator, actH) -{ - //draw the actuator - if (actuator !== mxShapePidIntBlockBleedValve.prototype.cst.NONE) - { - this.drawActuatorBg(c, x, y, w, h, actuator); - } - - //draw the valve body - this.drawValveBg(c, 0, actH, w, h - actH); -}; - -mxShapePidIntBlockBleedValve.prototype.foreground = function(c, x, y, w, h, actuator, actH) -{ - //draw the actuator - if (actuator !== mxShapePidIntBlockBleedValve.prototype.cst.NONE) - { - this.drawActuatorFg(c, x, y, w, h, actuator); - } -}; - -mxShapePidIntBlockBleedValve.prototype.drawValveBg = function(c, x, y, w, h) -{ - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - c.translate(x, y); - c.begin(); - c.moveTo(0, 0); - c.lineTo(w * 0.5, h * 0.23); - c.lineTo(0, h * 0.46); - c.close(); - c.moveTo(w * 0.5, h * 0.23); - c.lineTo(w, 0); - c.lineTo(w, h * 0.46); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.5, h * 0.23); - c.lineTo(w * 0.5, h * 0.5); - c.stroke(); - - c.setFillColor(strokeColor); - c.begin(); - c.moveTo(w * 0.3, h * 0.5); - c.lineTo(w * 0.7, h * 0.5); - c.lineTo(w * 0.5, h * 0.75); - c.close(); - c.fillAndStroke(); - - c.begin(); - c.moveTo(w * 0.3, h); - c.lineTo(w * 0.5, h * 0.75); - c.lineTo(w * 0.7, h); - c.fillAndStroke(); - c.setFillColor(fillColor); - - c.translate(-x, -y); -}; - -mxShapePidIntBlockBleedValve.prototype.drawActuatorBg = function(c, x, y, w, h, actuator) -{ - if (this.isSquareVariant(actuator)) - { - c.translate(w * 0.325, 0); - this.drawSquareAct(c, w * 0.35, h * 0.4112, actuator); - c.translate(- w * 0.325, 0); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.MANUAL) - { - c.translate(w * 0.25, h * 0.0882); - this.drawManAct(c, w * 0.5, h * 0.323); - c.translate(- w * 0.25, - h * 0.0882); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.DIAPHRAGM) - { - c.translate(w * 0.25, h * 0.0588); - this.drawDiaphAct(c, w * 0.5, h * 0.3524); - c.translate(- w * 0.25, - h * 0.0588); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.BALANCED_DIAPHRAGM) - { - c.translate(w * 0.25, h * 0.0588); - this.drawBalDiaphActBg(c, w * 0.5, h * 0.3524); - c.translate(- w * 0.25, - h * 0.0588); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.MOTOR || actuator === mxShapePidIntBlockBleedValve.prototype.cst.ELECTRO_HYDRAULIC) - { - c.translate(w * 0.325, 0); - this.drawCircleAct(c, w * 0.35, h * 0.4112, actuator); - c.translate(- w * 0.325, 0); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.SPRING) - { - c.translate(w * 0.36, 0); - this.drawSpringAct(c, w * 0.28, h * 0.4112); - c.translate(- w * 0.36, 0); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.SOLENOID_MANUAL_RESET) - { - c.translate(w * 0.325, 0); - this.drawSolenoidManResetAct(c, w * 0.575, h * 0.4112); - c.translate(- w * 0.325, 0); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.SINGLE_ACTING) - { - c.translate(w * 0.35, 0); - this.drawSingActingActBg(c, w * 0.65, h * 0.4112); - c.translate(- w * 0.35, 0); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.DOUBLE_ACTING) - { - c.translate(w * 0.35, 0); - this.drawDblActingActBg(c, w * 0.65, h * 0.4112); - c.translate(- w * 0.35, 0); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.PILOT_CYLINDER) - { - c.translate(w * 0.35, 0); - this.drawPilotCylinderActBg(c, w * 0.65, h * 0.4112); - c.translate(- w * 0.35, 0); - } -}; - -mxShapePidIntBlockBleedValve.prototype.drawActuatorFg = function(c, x, y, w, h, actuator) -{ - if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.BALANCED_DIAPHRAGM) - { - c.translate(w * 0.25, h * 0.0588); - this.drawBalDiaphActFg(c, w * 0.5, h * 0.3524); - c.translate(- w * 0.25, - h * 0.0588); - } - else if (actuator === mxShapePidIntBlockBleedValve.prototype.cst.SINGLE_ACTING || - actuator === mxShapePidIntBlockBleedValve.prototype.cst.DOUBLE_ACTING || - actuator === mxShapePidIntBlockBleedValve.prototype.cst.PILOT_CYLINDER) - { - c.translate(w * 0.35, 0); - this.drawActingActFg(c, w * 0.65, h * 0.4112); - c.translate(- w * 0.35, 0); - } -}; - -mxCellRenderer.registerShape('mxgraph.pid2valves.blockBleedValve', mxShapePidIntBlockBleedValve); - -//********************************************************************************************************************************************************** -//Auto Recirculation Valve -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxShapePidAutoRecircValve(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxShapePidAutoRecircValve, mxShape); - - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxShapePidAutoRecircValve.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.setLineJoin('round'); - c.translate(x, y); - - //background - c.rect(0, 0, w, h); - c.fillAndStroke(); - c.setShadow(false); - - //foreground - c.begin(); - c.moveTo(w * 0.08, h * 0.08); - c.lineTo(w * 0.08, h * 0.92); - c.moveTo(w * 0.92, h * 0.08); - c.lineTo(w * 0.92, h * 0.92); - c.moveTo(w * 0.12, h * 0.122); - c.lineTo(w * 0.8738, h * 0.8837); - - c.moveTo(w * 0.5, 0); - c.lineTo(w * 0.55, h * 0.05); - c.lineTo(w * 0.45, h * 0.15); - c.lineTo(w * 0.55, h * 0.25); - c.lineTo(w * 0.45, h * 0.35); - c.lineTo(w * 0.55, h * 0.45); - c.lineTo(w * 0.49, h * 0.5); - c.stroke(); - - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000'); - - c.begin(); - c.moveTo(w * 0.8257, h * 0.7695); - c.lineTo(w * 0.8797, h * 0.888); - c.lineTo(w * 0.79, h * 0.8651); - c.close(); - c.setFillColor(strokeColor); - c.fillAndStroke(); - c.setFillColor(fillColor); -}; - -mxCellRenderer.registerShape('mxgraph.pid2valves.autoRecircValve', mxShapePidAutoRecircValve); diff --git a/dist/libs/drawio/shapes/rack/mxRack.js b/dist/libs/drawio/shapes/rack/mxRack.js deleted file mode 100644 index ef6df770..00000000 --- a/dist/libs/drawio/shapes/rack/mxRack.js +++ /dev/null @@ -1,1263 +0,0 @@ -/** - * $Id: mxRack.js,v 1.5 2014/01/21 13:10:37 gaudenz Exp $ - * Copyright (c) 2006-2013, JGraph Ltd - */ -//********************************************************************************************************************************************************** -//Rack Numbering -//********************************************************************************************************************************************************** - -//********************************************************************************************************************************************************** -// v2 Rack cabinet, old versions below this -//********************************************************************************************************************************************************** - -//********************************************************************************************************************************************************** -//START LEGACY RACKS -//********************************************************************************************************************************************************** -function mxRackContainer(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxRackContainer, mxShape); - -mxRackContainer.unitSize = 20; - -mxRackContainer.prototype.cst = -{ - SHAPE_RACK_CONTAINER : 'mxgraph.rackGeneral.container', - TEXT_COLOR : 'textColor', - NUMBER_DISPLAY : 'numDisp', - OFF : 'off', - DIR_ASC : 'ascend', - DIR_DESC : 'descend' -}; - -mxRackContainer.prototype.customProperties = [ - {name: 'fillColor2', dispName: 'Cabinet Color', type: 'color'}, - {name: 'textColor', dispName: 'Numbers Color', type: 'color'}, - {name: 'numDisp', dispName: 'Display Numbers', type: 'enum', - enumList: [{val: 'off', dispName: 'Off'}, {val: 'ascend', dispName: 'Ascending'}, {val: 'descend', dispName: 'Descending'}], - onChange: function(graph, newValue) - { - graph.setCellStyles('marginLeft', (newValue == 'off') ? 9 : 33, graph.getSelectionCells()); - } - } -]; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxRackContainer.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var fontSize = 12; - var displayNumbers = mxUtils.getValue(this.style, mxRackContainer.prototype.cst.NUMBER_DISPLAY, mxRackContainer.prototype.cst.DIR_ASC); - var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#ffffff'); - var fillColor2 = mxUtils.getValue(this.style, 'fillColor2', '#f4f4f4'); - - if (displayNumbers !== mxRackContainer.prototype.cst.OFF) - { - c.translate(x + fontSize * 2, y); - w = Math.max(w - fontSize * 2, 0); - } - else - { - c.translate(x, y); - }; - - c.setFillColor(fillColor); - this.background(c, w, h, fontSize); - c.setShadow(false); - c.setFillColor(fillColor2); - this.foreground(c, w, h, fontSize); - - if (displayNumbers !== mxRackContainer.prototype.cst.OFF && w > 18 + fontSize * 2) - { - this.sideText(c, w, h, fontSize); - }; -}; - -mxRackContainer.prototype.background = function(c, w, h, fontSize) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxRackContainer.prototype.foreground = function(c, w, h, fontSize) -{ - if (w > 18 + fontSize * 2 && h > 42) - { - c.rect(0, 0, w, 21); - c.fillAndStroke(); - c.rect(0, h - 21, w, 21); - c.fillAndStroke(); - c.rect(0, 21, 9, h - 42); - c.fillAndStroke(); - c.rect(w - 9, 21, 9, h - 42); - c.fillAndStroke(); - c.ellipse(2.5, 7.5, 6, 6); - c.stroke(); - c.ellipse(w - 8.5, 7.5, 6, 6); - c.stroke(); - c.ellipse(2.5, h - 13.5, 6, 6); - c.stroke(); - c.ellipse(w - 8.5, h - 13.5, 6, 6); - c.stroke(); - } -}; - -mxRackContainer.prototype.sideText = function(c, w, h, fontSize) -{ - var fontColor = mxUtils.getValue(this.style, mxRackContainer.prototype.cst.TEXT_COLOR, '#666666'); - var displayNumbers = mxUtils.getValue(this.style, mxRackContainer.prototype.cst.NUMBER_DISPLAY, mxRackContainer.prototype.cst.DIR_ASC); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - - // Calculate number of units - var units = Math.floor((Math.abs(h) - 42) / mxRackContainer.unitSize); - - for (var i = 0; i < units; i++) - { - var displayNumber = (displayNumbers === mxRackContainer.prototype.cst.DIR_DESC) ? (i + 1).toString() : (units - i).toString(); - c.text(-fontSize, 21 + mxRackContainer.unitSize * 0.5 + i * mxRackContainer.unitSize, 0, 0, displayNumber, mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - } - - c.begin(); - - for (var i = 0; i < units + 1; i++) - { - c.moveTo(-2 * fontSize, 21 + i * mxRackContainer.unitSize); - c.lineTo(0, 21 + i * mxRackContainer.unitSize); - }; - - c.stroke(); -}; - -/** -* Extends mxShape. -*/ -function mxRackPlate(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackPlate, mxShape); - -mxRackPlate.prototype.cst = -{ - SHAPE_RACK_PLATE : 'mxgraph.rackGeneral.plate' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackPlate.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackPlate.prototype.background = function(c, w, h) -{ - c.begin(); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxRackPlate.prototype.foreground = function(c, w, h) -{ - var bufferSize = 9; - - if (w > bufferSize * 2) - { - c.save(); - c.setFillColor('#000000'); - c.setAlpha(0.23); - c.rect(0,0, bufferSize, h); - c.fill(); - c.rect(w - bufferSize,0, bufferSize, h); - c.fill(); - c.restore(); - c.rect(0, 0, w, h); - c.stroke(); - c.rect(bufferSize, 0, w - bufferSize * 2, h); - c.stroke(); - } -}; - -//********************************************************************************************************************************************************** -//Horizontal Cable Duct -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackHorCableDuct(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackHorCableDuct, mxShape); - -mxRackHorCableDuct.prototype.cst = -{ - SHAPE_RACK_HOR_CABLE_DUCT : 'mxgraph.rackGeneral.horCableDuct' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackHorCableDuct.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackHorCableDuct.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxRackHorCableDuct.prototype.foreground = function(c, w, h) -{ - // Divide the space equally with 33 between each duct - var spaceBuffer = 20; - var unitSpacing = 33; - var unitsAcross = Math.floor((w - spaceBuffer) / unitSpacing); - var buffer = spaceBuffer / 2 + Math.floor(((w - spaceBuffer) - unitsAcross * unitSpacing) / 2); - - if (unitsAcross > 0) - { - for (var i = 0; i <= unitsAcross; i++) - { - c.rect(buffer, 0, 3, 7); - c.stroke(); - c.rect(buffer, 7, 3, 7.8); - c.stroke(); - - buffer += unitSpacing; - } - } -}; - -function mxRackHorRoutingBank(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackHorRoutingBank, mxShape); - -mxRackHorRoutingBank.prototype.cst = -{ - SHAPE_RACK_HOR_ROUTING_BANK : 'mxgraph.rackGeneral.horRoutingBank' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackHorRoutingBank.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackHorRoutingBank.prototype.background = function(c, w, h) -{ - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxRackHorRoutingBank.prototype.foreground = function(c, w, h) -{ - // Divide the space equally with 33 between each duct - var spaceBuffer = 20; - var unitSpacing = 22; - var rectWidth = 16; - var unitsAcross = Math.floor((w - spaceBuffer - rectWidth) / unitSpacing); - var unitsDown = Math.floor(h / mxRackContainer.unitSize); - - if (unitsAcross > 0 && unitsDown > 0) - { - for (var i = 0; i < unitsDown; i++) - { - var buffer = (spaceBuffer + rectWidth) / 2 + Math.floor(((w - spaceBuffer - rectWidth) - unitsAcross * unitSpacing) / 2) - rectWidth / 2; - - for (var j = 0; j <= unitsAcross; j++) - { - c.rect(buffer, 4 + (i * mxRackContainer.unitSize), rectWidth, 6.8); - c.stroke(); - - buffer += unitSpacing; - } - } - } -}; - -function mxRackNeatPatch(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackNeatPatch, mxShape); - -mxRackNeatPatch.prototype.cst = -{ - SHAPE_RACK_NEAT_PATCH : 'mxgraph.rackGeneral.neatPatch' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackNeatPatch.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.mainText(c, w, h); -}; - -mxRackNeatPatch.prototype.background = function(c, w, h) -{ - c.setFillColor('#666666'); - c.rect(0, 0, w, h); - c.fillAndStroke(); -}; - -mxRackNeatPatch.prototype.mainText = function(c, w, h) -{ - c.setFontSize('12'); - c.setFontColor('#ffffff'); - c.setFontStyle(mxConstants.FONT_BOLD); - c.text(w / 2, h - 6, 0, 0, 'NEAT-PATCH', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -function mxRackShelf(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackShelf, mxShape); - -mxRackShelf.prototype.cst = -{ - SHAPE_RACK_SHELF : 'mxgraph.rackGeneral.shelf' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackShelf.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); -}; - -mxRackShelf.prototype.background = function(c, w, h) -{ - c.setStrokeWidth(2); - c.begin(); - c.moveTo(1, 0); - c.lineTo(1, h - 1); - c.lineTo(w - 1, h - 1); - c.lineTo(w - 1, 1); - c.fillAndStroke(); -}; - -function mxRackRackNumbering(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxRackRackNumbering, mxShape); - -mxRackRackNumbering.prototype.cst = -{ - SHAPE_RACK_RACK_NUMBERING : 'mxgraph.rackGeneral.rackNumbering', - UNIT_NUM : 'unitNum', - UNIT_HEIGHT : 'unitHeight', - TEXT_COLOR : 'textColor', - NUM_DIR : 'numDir', - DIR_ASC : 'ascend', - DIR_DESC : 'descend', - TEXT_SIZE : 'textSize' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxRackRackNumbering.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var unitNum = parseFloat(mxUtils.getValue(this.style, mxRackRackNumbering.prototype.cst.UNIT_NUM, '42')); - var unitH = parseFloat(mxUtils.getValue(this.style, mxRackRackNumbering.prototype.cst.UNIT_HEIGHT, '14.8')); - var fontSize = parseFloat(mxUtils.getValue(this.style, mxRackRackNumbering.prototype.cst.TEXT_SIZE, '12')); - c.translate(x, y); - - var h = unitNum * unitH; - this.background(c, w, h, fontSize); - c.setShadow(false); - this.sideText(c, w, h, unitNum, unitH, fontSize); -}; - -mxRackRackNumbering.prototype.background = function(c, w, h, fontSize) -{ - c.rect(fontSize * 3, 0, 160.9, h); - c.fillAndStroke(); -}; - -mxRackRackNumbering.prototype.sideText = function(c, w, h, unitNum, unitH, fontSize) -{ - var fontColor = mxUtils.getValue(this.style, mxRackRackNumbering.prototype.cst.TEXT_COLOR, '#666666'); - var numDir = mxUtils.getValue(this.style, mxRackRackNumbering.prototype.cst.NUM_DIR, mxRackRackNumbering.prototype.cst.DIR_DESC); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - - if (numDir === mxRackRackNumbering.prototype.cst.DIR_ASC) - { - for (var i = 0; i < unitNum; i++) - { - c.text(fontSize, unitH * 0.5 + i * unitH, 0, 0, (i + 1).toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - }; - } - else - { - for (var i = 0; i < unitNum; i++) - { - c.text(fontSize, h - unitH * 0.5 - i * unitH, 0, 0, (i + 1).toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - }; - }; - - c.setStrokeColor('#dddddd'); - - c.begin(); - - for (var i = 0; i < unitNum + 1; i++) - { - c.moveTo(0, i * unitH); - c.lineTo(fontSize * 3, i * unitH); - }; - - c.stroke(); -}; - -//********************************************************************************************************************************************************** -//Rack Cabinet -//********************************************************************************************************************************************************** -/** - * Extends mxShape. - */ -function mxRackRackCabinet(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxRackRackCabinet, mxShape); - -mxRackRackCabinet.prototype.cst = -{ - SHAPE_RACK_RACK_CABINET : 'mxgraph.rackGeneral.rackCabinet', - UNIT_NUM : 'unitNum', - UNIT_HEIGHT : 'unitHeight', - TEXT_COLOR : 'textColor', - NUM_DIR : 'numDir', - NUMBER_DISPLAY : 'numDisp', - ON : 'on', - OFF : 'off', - DIR_ASC : 'ascend', - DIR_DESC : 'descend', - TEXT_SIZE : 'textSize' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxRackRackCabinet.prototype.paintVertexShape = function(c, x, y, w, h) -{ - var unitNum = parseFloat(mxUtils.getValue(this.style, mxRackRackCabinet.prototype.cst.UNIT_NUM, '12')); - var unitH = parseFloat(mxUtils.getValue(this.style, mxRackRackCabinet.prototype.cst.UNIT_HEIGHT, '14.8')); - var fontSize = parseFloat(mxUtils.getValue(this.style, mxRackRackCabinet.prototype.cst.TEXT_SIZE, '12')); - var numDis = mxUtils.getValue(this.style, mxRackRackCabinet.prototype.cst.NUMBER_DISPLAY, mxRackRackCabinet.prototype.cst.ON); - - if (numDis === mxRackRackCabinet.prototype.cst.ON) - { - c.translate(x + fontSize * 2, y); - } - else - { - c.translate(x, y); - }; - - var h = unitNum * unitH + 42; - this.background(c, w, h, fontSize); - c.setShadow(false); - this.foreground(c, w, h, fontSize); - - if (numDis === mxRackRackCabinet.prototype.cst.ON) - { - this.sideText(c, w, h, unitNum, unitH, fontSize); - }; -}; - -mxRackRackCabinet.prototype.background = function(c, w, h, fontSize) -{ - c.setFillColor('#ffffff'); - c.rect(0, 0, 180, h); - c.fillAndStroke(); -}; - -mxRackRackCabinet.prototype.foreground = function(c, w, h, fontSize) -{ - c.setFillColor('#f4f4f4'); - c.rect(0, 0, 180, 21); - c.fillAndStroke(); - c.rect(0, h - 21, 180, 21); - c.fillAndStroke(); - c.rect(0, 21, 9, h - 42); - c.fillAndStroke(); - c.rect(171, 21, 9, h - 42); - c.fillAndStroke(); - c.ellipse(2.5, 7.5, 6, 6); - c.stroke(); - c.ellipse(171.5, 7.5, 6, 6); - c.stroke(); - c.ellipse(2.5, h - 13.5, 6, 6); - c.stroke(); - c.ellipse(171.5, h - 13.5, 6, 6); - c.stroke(); -}; - -mxRackRackCabinet.prototype.sideText = function(c, w, h, unitNum, unitH, fontSize) -{ - var fontColor = mxUtils.getValue(this.style, mxRackRackCabinet.prototype.cst.TEXT_COLOR, '#666666'); - var numDir = mxUtils.getValue(this.style, mxRackRackCabinet.prototype.cst.NUM_DIR, mxRackRackCabinet.prototype.cst.DIR_DESC); - c.setFontSize(fontSize); - c.setFontColor(fontColor); - - if (numDir === mxRackRackCabinet.prototype.cst.DIR_ASC) - { - for (var i = 0; i < unitNum; i++) - { - c.text(-fontSize, 21 + unitH * 0.5 + i * unitH, 0, 0, (i + 1).toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - }; - } - else - { - for (var i = 0; i < unitNum; i++) - { - c.text(-fontSize, h - 21 - unitH * 0.5 - i * unitH, 0, 0, (i + 1).toString(), mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); - }; - }; - - c.setStrokeColor('#dddddd'); - - c.begin(); - - for (var i = 0; i < unitNum + 1; i++) - { - c.moveTo(-2 * fontSize, 21 + i * unitH); - c.lineTo(0, 21 + i * unitH); - }; - - c.stroke(); -}; - -//********************************************************************************************************************************************************** -//1U Horizontal Cable Duct -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackHorCableDuct1U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackHorCableDuct1U, mxShape); - -mxRackHorCableDuct1U.prototype.cst = -{ - SHAPE_RACK_HOR_CABLE_DUCT_1U : 'mxgraph.rackGeneral.horCableDuct1U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackHorCableDuct1U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackHorCableDuct1U.prototype.background = function(c, w, h) -{ - c.rect(0, 0, 160.9, 14.8); - c.fillAndStroke(); -}; - -mxRackHorCableDuct1U.prototype.foreground = function(c, w, h) -{ - c.rect(12, 0, 3, 7); - c.stroke(); - c.rect(12, 7, 3, 7.8); - c.stroke(); - - c.rect(45.5, 0, 3, 7); - c.stroke(); - c.rect(45.5, 7, 3, 7.8); - c.stroke(); - - c.rect(79, 0, 3, 7); - c.stroke(); - c.rect(79, 7, 3, 7.8); - c.stroke(); - - c.rect(112.5, 0, 3, 7); - c.stroke(); - c.rect(112.5, 7, 3, 7.8); - c.stroke(); - - c.rect(146, 0, 3, 7); - c.stroke(); - c.rect(146, 7, 3, 7.8); - c.stroke(); -}; - -//********************************************************************************************************************************************************** -//2U Horizontal Cable Duct -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackHorCableDuct2U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackHorCableDuct2U, mxShape); - -mxRackHorCableDuct2U.prototype.cst = -{ - SHAPE_RACK_HOR_CABLE_DUCT_2U : 'mxgraph.rackGeneral.horCableDuct2U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackHorCableDuct2U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackHorCableDuct2U.prototype.background = function(c, w, h) -{ - c.rect(0, 0, 160.9, 29.6); - c.fillAndStroke(); -}; - -mxRackHorCableDuct2U.prototype.foreground = function(c, w, h) -{ - c.rect(12, 0, 3, 7); - c.stroke(); - c.rect(12, 7, 3, 22.6); - c.stroke(); - - c.rect(45.5, 0, 3, 7); - c.stroke(); - c.rect(45.5, 7, 3, 22.6); - c.stroke(); - - c.rect(79, 0, 3, 7); - c.stroke(); - c.rect(79, 7, 3, 22.6); - c.stroke(); - - c.rect(112.5, 0, 3, 7); - c.stroke(); - c.rect(112.5, 7, 3, 22.6); - c.stroke(); - - c.rect(146, 0, 3, 7); - c.stroke(); - c.rect(146, 7, 3, 22.6); - c.stroke(); -}; - -//********************************************************************************************************************************************************** -//1U Cable Routing Bank -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackHorRoutingBank1U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackHorRoutingBank1U, mxShape); - -mxRackHorRoutingBank1U.prototype.cst = -{ - SHAPE_RACK_HOR_ROUTING_BANK_1U : 'mxgraph.rackGeneral.horRoutingBank1U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackHorRoutingBank1U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackHorRoutingBank1U.prototype.background = function(c, w, h) -{ - c.rect(0, 0, 160.9, 14.8); - c.fillAndStroke(); -}; - -mxRackHorRoutingBank1U.prototype.foreground = function(c, w, h) -{ - c.rect(10, 4, 17, 6.8); - c.stroke(); - c.rect(31, 4, 17, 6.8); - c.stroke(); - c.rect(52, 4, 17, 6.8); - c.stroke(); - c.rect(73, 4, 17, 6.8); - c.stroke(); - c.rect(94, 4, 17, 6.8); - c.stroke(); - c.rect(115, 4, 17, 6.8); - c.stroke(); - c.rect(136, 4, 17, 6.8); - c.stroke(); -}; - -//********************************************************************************************************************************************************** -//2U Cable Routing Bank -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackHorRoutingBank2U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackHorRoutingBank2U, mxShape); - -mxRackHorRoutingBank2U.prototype.cst = -{ - SHAPE_RACK_HOR_ROUTING_BANK_2U : 'mxgraph.rackGeneral.horRoutingBank2U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackHorRoutingBank2U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackHorRoutingBank2U.prototype.background = function(c, w, h) -{ - c.rect(0, 0, 160.9, 29.6); - c.fillAndStroke(); -}; - -mxRackHorRoutingBank2U.prototype.foreground = function(c, w, h) -{ - c.rect(10, 4, 17, 6.8); - c.stroke(); - c.rect(31, 4, 17, 6.8); - c.stroke(); - c.rect(52, 4, 17, 6.8); - c.stroke(); - c.rect(73, 4, 17, 6.8); - c.stroke(); - c.rect(94, 4, 17, 6.8); - c.stroke(); - c.rect(115, 4, 17, 6.8); - c.stroke(); - c.rect(136, 4, 17, 6.8); - c.stroke(); - - c.rect(10, 18.8, 17, 6.8); - c.stroke(); - c.rect(31, 18.8, 17, 6.8); - c.stroke(); - c.rect(52, 18.8, 17, 6.8); - c.stroke(); - c.rect(73, 18.8, 17, 6.8); - c.stroke(); - c.rect(94, 18.8, 17, 6.8); - c.stroke(); - c.rect(115, 18.8, 17, 6.8); - c.stroke(); - c.rect(136, 18.8, 17, 6.8); - c.stroke(); -}; - -//********************************************************************************************************************************************************** -//2U Neat-Patch -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackNeatPatch2U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackNeatPatch2U, mxShape); - -mxRackNeatPatch2U.prototype.cst = -{ - SHAPE_RACK_NEAT_PATCH_2U : 'mxgraph.rackGeneral.neatPatch2U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackNeatPatch2U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); - c.setShadow(false); - this.mainText(c, w, h); -}; - -mxRackNeatPatch2U.prototype.background = function(c, w, h) -{ - c.setFillColor('#666666'); - c.rect(0, 0, 160.9, 29.6); - c.fillAndStroke(); -}; - -mxRackNeatPatch2U.prototype.mainText = function(c, w, h) -{ - c.setFontSize('12'); - c.setFontColor('#ffffff'); - c.setFontStyle(mxConstants.FONT_BOLD); - c.text(80.45, 24, 0, 0, 'NEAT-PATCH', mxConstants.ALIGN_CENTER, mxConstants.ALIGN_MIDDLE, 0, null, 0, 0, 0); -}; - -//********************************************************************************************************************************************************** -//1U shelf -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackShelf1U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackShelf1U, mxShape); - -mxRackShelf1U.prototype.cst = -{ - SHAPE_RACK_SHELF_1U : 'mxgraph.rackGeneral.shelf1U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackShelf1U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); -}; - -mxRackShelf1U.prototype.background = function(c, w, h) -{ - c.setStrokeWidth(2); - c.begin(); - c.moveTo(0, 0); - c.lineTo(0, 14.8); - c.lineTo(160.9, 14.8); - c.lineTo(160.9, 0); - c.fillAndStroke(); -}; - -//********************************************************************************************************************************************************** -//2U shelf -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackShelf2U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackShelf2U, mxShape); - -mxRackShelf2U.prototype.cst = -{ - SHAPE_RACK_SHELF_2U : 'mxgraph.rackGeneral.shelf2U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackShelf2U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); -}; - -mxRackShelf2U.prototype.background = function(c, w, h) -{ - c.setStrokeWidth(2); - c.begin(); - c.moveTo(0, 0); - c.lineTo(0, 29.6); - c.lineTo(160.9, 29.6); - c.lineTo(160.9, 0); - c.fillAndStroke(); -}; - -//********************************************************************************************************************************************************** -//4U shelf -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackShelf4U(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackShelf4U, mxShape); - -mxRackShelf4U.prototype.cst = -{ - SHAPE_RACK_SHELF_4U : 'mxgraph.rackGeneral.shelf4U' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackShelf4U.prototype.paintVertexShape = function(c, x, y, w, h) -{ - c.translate(x, y); - this.background(c, w, h); -}; - -mxRackShelf4U.prototype.background = function(c, w, h) -{ - c.setStrokeWidth(2); - c.begin(); - c.moveTo(0, 0); - c.lineTo(0, 59.2); - c.lineTo(160.9, 59.2); - c.lineTo(160.9, 0); - c.fillAndStroke(); -}; - -//********************************************************************************************************************************************************** -//END LEGACY RACKS -//********************************************************************************************************************************************************** - - -//********************************************************************************************************************************************************** -//Channel Base -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackChannelBase(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** - * Extends mxShape. - */ -mxUtils.extend(mxRackChannelBase, mxShape); - -mxRackChannelBase.prototype.cst = -{ - SHAPE_RACK_CHANNEL_BASE : 'mxgraph.rackGeneral.channelBase' -}; - -/** - * Function: paintVertexShape - * - * Paints the vertex shape. - */ -mxRackChannelBase.prototype.paintVertexShape = function(c, x, y, w, h) -{ - w = Math.max(w, 20); - h = Math.max(h, 20); - c.translate(x, y); - - this.background(c, w, h); - c.setShadow(false); - this.foreground(c, w, h); -}; - -mxRackChannelBase.prototype.background = function(c, w, h) -{ - c.rect(10, h - 15, 5, 15); - c.fillAndStroke(); - c.rect(w - 15, h - 15, 5, 15); - c.fillAndStroke(); - c.rect(0, 0, w, h - 5); - c.fillAndStroke(); -}; - -mxRackChannelBase.prototype.foreground = function(c, w, h) -{ - c.setFillColor('#000000'); - c.rect(10, h - 15, 5, 15); - c.fillAndStroke(); - c.rect(w - 15, h - 15, 5, 15); - c.fillAndStroke(); -}; - -//********************************************************************************************************************************************************** -//Cabinet Leg -//********************************************************************************************************************************************************** -/** -* Extends mxShape. -*/ -function mxRackCabinetLeg(bounds, fill, stroke, strokewidth) -{ - mxShape.call(this); - this.bounds = bounds; - this.fill = fill; - this.stroke = stroke; - this.strokewidth = (strokewidth != null) ? strokewidth : 1; -}; - -/** -* Extends mxShape. -*/ -mxUtils.extend(mxRackCabinetLeg, mxShape); - -mxRackCabinetLeg.prototype.cst = -{ - SHAPE_RACK_CABINET_LEG : 'mxgraph.rackGeneral.cabinetLeg' -}; - -/** -* Function: paintVertexShape -* -* Paints the vertex shape. -*/ -mxRackCabinetLeg.prototype.paintVertexShape = function(c, x, y, w, h) -{ - w = Math.max(w, 20); - h = Math.max(h, 20); - c.translate(x, y); - - this.background(c, w, h); -}; - -mxRackCabinetLeg.prototype.background = function(c, w, h) -{ - c.begin(); - c.moveTo(0, h - 10); - c.lineTo(5, h - 10); - c.lineTo(5, h - 12); - c.lineTo(9, h - 12); - c.lineTo(9, h - 10); - c.lineTo(w - 10, h - 10); - c.lineTo(w - 10, 9); - c.lineTo(w - 12, 9); - c.lineTo(w - 12, 5); - c.lineTo(w - 10, 5); - c.lineTo(w - 10, 0); - c.lineTo(w, 0); - c.lineTo(w, h); - c.lineTo(0, h); - c.close(); - c.fillAndStroke(); -}; - -// New generic unit size implementations -mxCellRenderer.registerShape(mxRackContainer.prototype.cst.SHAPE_RACK_CONTAINER, mxRackContainer); -mxCellRenderer.registerShape(mxRackHorCableDuct.prototype.cst.SHAPE_RACK_HOR_CABLE_DUCT, mxRackHorCableDuct); -mxCellRenderer.registerShape(mxRackHorRoutingBank.prototype.cst.SHAPE_RACK_HOR_ROUTING_BANK, mxRackHorRoutingBank); -mxCellRenderer.registerShape(mxRackNeatPatch.prototype.cst.SHAPE_RACK_NEAT_PATCH, mxRackNeatPatch); -mxCellRenderer.registerShape(mxRackShelf.prototype.cst.SHAPE_RACK_SHELF, mxRackShelf); -mxCellRenderer.registerShape(mxRackPlate.prototype.cst.SHAPE_RACK_PLATE, mxRackPlate); - -// Legacy resizable / fixed unit size implementations -mxCellRenderer.registerShape(mxRackRackNumbering.prototype.cst.SHAPE_RACK_RACK_NUMBERING, mxRackRackNumbering); -mxCellRenderer.registerShape(mxRackRackCabinet.prototype.cst.SHAPE_RACK_RACK_CABINET, mxRackRackCabinet); -mxCellRenderer.registerShape(mxRackHorCableDuct1U.prototype.cst.SHAPE_RACK_HOR_CABLE_DUCT_1U, mxRackHorCableDuct1U); -mxCellRenderer.registerShape(mxRackHorCableDuct2U.prototype.cst.SHAPE_RACK_HOR_CABLE_DUCT_2U, mxRackHorCableDuct2U); -mxCellRenderer.registerShape(mxRackHorRoutingBank1U.prototype.cst.SHAPE_RACK_HOR_ROUTING_BANK_1U, mxRackHorRoutingBank1U); -mxCellRenderer.registerShape(mxRackHorRoutingBank2U.prototype.cst.SHAPE_RACK_HOR_ROUTING_BANK_2U, mxRackHorRoutingBank2U); -mxCellRenderer.registerShape(mxRackNeatPatch2U.prototype.cst.SHAPE_RACK_NEAT_PATCH_2U, mxRackNeatPatch2U); -mxCellRenderer.registerShape(mxRackShelf1U.prototype.cst.SHAPE_RACK_SHELF_1U, mxRackShelf1U); -mxCellRenderer.registerShape(mxRackShelf2U.prototype.cst.SHAPE_RACK_SHELF_2U, mxRackShelf2U); -mxCellRenderer.registerShape(mxRackShelf4U.prototype.cst.SHAPE_RACK_SHELF_4U, mxRackShelf4U); - -mxCellRenderer.registerShape(mxRackChannelBase.prototype.cst.SHAPE_RACK_CHANNEL_BASE, mxRackChannelBase); -mxCellRenderer.registerShape(mxRackCabinetLeg.prototype.cst.SHAPE_RACK_CABINET_LEG, mxRackCabinetLeg); \ No newline at end of file diff --git a/dist/libs/drawio/stencils/android/android.xml b/dist/libs/drawio/stencils/android/android.xml deleted file mode 100644 index 7293db8d..00000000 --- a/dist/libs/drawio/stencils/android/android.xml +++ /dev/null @@ -1,1905 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/arrows.xml b/dist/libs/drawio/stencils/arrows.xml deleted file mode 100644 index 57483be2..00000000 --- a/dist/libs/drawio/stencils/arrows.xml +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/atlassian.xml b/dist/libs/drawio/stencils/atlassian.xml deleted file mode 100644 index 630d7299..00000000 --- a/dist/libs/drawio/stencils/atlassian.xml +++ /dev/null @@ -1,713 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/compute.xml b/dist/libs/drawio/stencils/aws/compute.xml deleted file mode 100644 index e85c1e5f..00000000 --- a/dist/libs/drawio/stencils/aws/compute.xml +++ /dev/null @@ -1,720 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/content_delivery.xml b/dist/libs/drawio/stencils/aws/content_delivery.xml deleted file mode 100644 index 93ad07cb..00000000 --- a/dist/libs/drawio/stencils/aws/content_delivery.xml +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/database.xml b/dist/libs/drawio/stencils/aws/database.xml deleted file mode 100644 index ab71f951..00000000 --- a/dist/libs/drawio/stencils/aws/database.xml +++ /dev/null @@ -1,1358 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/deployment_management.xml b/dist/libs/drawio/stencils/aws/deployment_management.xml deleted file mode 100644 index 3709e5cf..00000000 --- a/dist/libs/drawio/stencils/aws/deployment_management.xml +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/groups.xml b/dist/libs/drawio/stencils/aws/groups.xml deleted file mode 100644 index 3ecf0519..00000000 --- a/dist/libs/drawio/stencils/aws/groups.xml +++ /dev/null @@ -1,1798 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/messaging.xml b/dist/libs/drawio/stencils/aws/messaging.xml deleted file mode 100644 index 39a7c31e..00000000 --- a/dist/libs/drawio/stencils/aws/messaging.xml +++ /dev/null @@ -1,670 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/misc.xml b/dist/libs/drawio/stencils/aws/misc.xml deleted file mode 100644 index af463eb1..00000000 --- a/dist/libs/drawio/stencils/aws/misc.xml +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/networking.xml b/dist/libs/drawio/stencils/aws/networking.xml deleted file mode 100644 index 622e6e9c..00000000 --- a/dist/libs/drawio/stencils/aws/networking.xml +++ /dev/null @@ -1,872 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/non_service_specific.xml b/dist/libs/drawio/stencils/aws/non_service_specific.xml deleted file mode 100644 index 6b34676e..00000000 --- a/dist/libs/drawio/stencils/aws/non_service_specific.xml +++ /dev/null @@ -1,734 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/on_demand_workforce.xml b/dist/libs/drawio/stencils/aws/on_demand_workforce.xml deleted file mode 100644 index 87b8722b..00000000 --- a/dist/libs/drawio/stencils/aws/on_demand_workforce.xml +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws/storage.xml b/dist/libs/drawio/stencils/aws/storage.xml deleted file mode 100644 index b51465e8..00000000 --- a/dist/libs/drawio/stencils/aws/storage.xml +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/administration_and_security.xml b/dist/libs/drawio/stencils/aws2/administration_and_security.xml deleted file mode 100644 index 2f4ca8f6..00000000 --- a/dist/libs/drawio/stencils/aws2/administration_and_security.xml +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/analytics.xml b/dist/libs/drawio/stencils/aws2/analytics.xml deleted file mode 100644 index 6deb0ce7..00000000 --- a/dist/libs/drawio/stencils/aws2/analytics.xml +++ /dev/null @@ -1,1318 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/app_services.xml b/dist/libs/drawio/stencils/aws2/app_services.xml deleted file mode 100644 index 55c87fa0..00000000 --- a/dist/libs/drawio/stencils/aws2/app_services.xml +++ /dev/null @@ -1,2362 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/compute_and_networking.xml b/dist/libs/drawio/stencils/aws2/compute_and_networking.xml deleted file mode 100644 index 0607b63b..00000000 --- a/dist/libs/drawio/stencils/aws2/compute_and_networking.xml +++ /dev/null @@ -1,6215 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/database.xml b/dist/libs/drawio/stencils/aws2/database.xml deleted file mode 100644 index df1f8bdf..00000000 --- a/dist/libs/drawio/stencils/aws2/database.xml +++ /dev/null @@ -1,6832 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/deployment_and_management.xml b/dist/libs/drawio/stencils/aws2/deployment_and_management.xml deleted file mode 100644 index 659d1c18..00000000 --- a/dist/libs/drawio/stencils/aws2/deployment_and_management.xml +++ /dev/null @@ -1,2785 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/developer_tools.xml b/dist/libs/drawio/stencils/aws2/developer_tools.xml deleted file mode 100644 index d41b7fdf..00000000 --- a/dist/libs/drawio/stencils/aws2/developer_tools.xml +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/enterprise_applications.xml b/dist/libs/drawio/stencils/aws2/enterprise_applications.xml deleted file mode 100644 index 55e64c84..00000000 --- a/dist/libs/drawio/stencils/aws2/enterprise_applications.xml +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/game_development.xml b/dist/libs/drawio/stencils/aws2/game_development.xml deleted file mode 100644 index 914931fe..00000000 --- a/dist/libs/drawio/stencils/aws2/game_development.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/internet_of_things.xml b/dist/libs/drawio/stencils/aws2/internet_of_things.xml deleted file mode 100644 index 1bf2dc13..00000000 --- a/dist/libs/drawio/stencils/aws2/internet_of_things.xml +++ /dev/null @@ -1,4799 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/management_tools.xml b/dist/libs/drawio/stencils/aws2/management_tools.xml deleted file mode 100644 index ab0dfdd8..00000000 --- a/dist/libs/drawio/stencils/aws2/management_tools.xml +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/mobile_services.xml b/dist/libs/drawio/stencils/aws2/mobile_services.xml deleted file mode 100644 index 0627177c..00000000 --- a/dist/libs/drawio/stencils/aws2/mobile_services.xml +++ /dev/null @@ -1,1141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/networking.xml b/dist/libs/drawio/stencils/aws2/networking.xml deleted file mode 100644 index 1ee2a457..00000000 --- a/dist/libs/drawio/stencils/aws2/networking.xml +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/non-service_specific.xml b/dist/libs/drawio/stencils/aws2/non-service_specific.xml deleted file mode 100644 index d67340d5..00000000 --- a/dist/libs/drawio/stencils/aws2/non-service_specific.xml +++ /dev/null @@ -1,2641 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/on-demand_workforce.xml b/dist/libs/drawio/stencils/aws2/on-demand_workforce.xml deleted file mode 100644 index aebc020f..00000000 --- a/dist/libs/drawio/stencils/aws2/on-demand_workforce.xml +++ /dev/null @@ -1,886 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/sdks.xml b/dist/libs/drawio/stencils/aws2/sdks.xml deleted file mode 100644 index 48ed4a3f..00000000 --- a/dist/libs/drawio/stencils/aws2/sdks.xml +++ /dev/null @@ -1,1351 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/security_and_identity.xml b/dist/libs/drawio/stencils/aws2/security_and_identity.xml deleted file mode 100644 index d55dad44..00000000 --- a/dist/libs/drawio/stencils/aws2/security_and_identity.xml +++ /dev/null @@ -1,715 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws2/storage_and_content_delivery.xml b/dist/libs/drawio/stencils/aws2/storage_and_content_delivery.xml deleted file mode 100644 index f7b3cb4f..00000000 --- a/dist/libs/drawio/stencils/aws2/storage_and_content_delivery.xml +++ /dev/null @@ -1,2780 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws3.xml b/dist/libs/drawio/stencils/aws3.xml deleted file mode 100644 index ab27f1ea..00000000 --- a/dist/libs/drawio/stencils/aws3.xml +++ /dev/null @@ -1,34201 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws3d.xml b/dist/libs/drawio/stencils/aws3d.xml deleted file mode 100644 index 5b303944..00000000 --- a/dist/libs/drawio/stencils/aws3d.xml +++ /dev/null @@ -1,569 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/aws4.xml b/dist/libs/drawio/stencils/aws4.xml deleted file mode 100644 index feb4cb28..00000000 --- a/dist/libs/drawio/stencils/aws4.xml +++ /dev/null @@ -1,56477 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/azure.xml b/dist/libs/drawio/stencils/azure.xml deleted file mode 100644 index 734581ac..00000000 --- a/dist/libs/drawio/stencils/azure.xml +++ /dev/null @@ -1,5541 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/basic.xml b/dist/libs/drawio/stencils/basic.xml deleted file mode 100644 index a87ac8fa..00000000 --- a/dist/libs/drawio/stencils/basic.xml +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/bootstrap.xml b/dist/libs/drawio/stencils/bootstrap.xml deleted file mode 100644 index 8cb896db..00000000 --- a/dist/libs/drawio/stencils/bootstrap.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/bpmn.xml b/dist/libs/drawio/stencils/bpmn.xml deleted file mode 100644 index af8918d9..00000000 --- a/dist/libs/drawio/stencils/bpmn.xml +++ /dev/null @@ -1,1162 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cabinets.xml b/dist/libs/drawio/stencils/cabinets.xml deleted file mode 100644 index 923785a4..00000000 --- a/dist/libs/drawio/stencils/cabinets.xml +++ /dev/null @@ -1,2359 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/buildings.xml b/dist/libs/drawio/stencils/cisco/buildings.xml deleted file mode 100644 index 0ede78d8..00000000 --- a/dist/libs/drawio/stencils/cisco/buildings.xml +++ /dev/null @@ -1,1449 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/computers_and_peripherals.xml b/dist/libs/drawio/stencils/cisco/computers_and_peripherals.xml deleted file mode 100644 index 20c92748..00000000 --- a/dist/libs/drawio/stencils/cisco/computers_and_peripherals.xml +++ /dev/null @@ -1,2438 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/controllers_and_modules.xml b/dist/libs/drawio/stencils/cisco/controllers_and_modules.xml deleted file mode 100644 index 695fdc95..00000000 --- a/dist/libs/drawio/stencils/cisco/controllers_and_modules.xml +++ /dev/null @@ -1,1209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/directors.xml b/dist/libs/drawio/stencils/cisco/directors.xml deleted file mode 100644 index f9356345..00000000 --- a/dist/libs/drawio/stencils/cisco/directors.xml +++ /dev/null @@ -1,533 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/hubs_and_gateways.xml b/dist/libs/drawio/stencils/cisco/hubs_and_gateways.xml deleted file mode 100644 index a64055d0..00000000 --- a/dist/libs/drawio/stencils/cisco/hubs_and_gateways.xml +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/misc.xml b/dist/libs/drawio/stencils/cisco/misc.xml deleted file mode 100644 index 5434d3a3..00000000 --- a/dist/libs/drawio/stencils/cisco/misc.xml +++ /dev/null @@ -1,15890 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/modems_and_phones.xml b/dist/libs/drawio/stencils/cisco/modems_and_phones.xml deleted file mode 100644 index 4d2e83c8..00000000 --- a/dist/libs/drawio/stencils/cisco/modems_and_phones.xml +++ /dev/null @@ -1,1871 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/people.xml b/dist/libs/drawio/stencils/cisco/people.xml deleted file mode 100644 index 8bf6eb89..00000000 --- a/dist/libs/drawio/stencils/cisco/people.xml +++ /dev/null @@ -1,2192 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/routers.xml b/dist/libs/drawio/stencils/cisco/routers.xml deleted file mode 100644 index 0bd7479a..00000000 --- a/dist/libs/drawio/stencils/cisco/routers.xml +++ /dev/null @@ -1,3146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/security.xml b/dist/libs/drawio/stencils/cisco/security.xml deleted file mode 100644 index da754dc6..00000000 --- a/dist/libs/drawio/stencils/cisco/security.xml +++ /dev/null @@ -1,942 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/servers.xml b/dist/libs/drawio/stencils/cisco/servers.xml deleted file mode 100644 index 4d61dfbc..00000000 --- a/dist/libs/drawio/stencils/cisco/servers.xml +++ /dev/null @@ -1,1637 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/storage.xml b/dist/libs/drawio/stencils/cisco/storage.xml deleted file mode 100644 index 495a3da9..00000000 --- a/dist/libs/drawio/stencils/cisco/storage.xml +++ /dev/null @@ -1,1648 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/switches.xml b/dist/libs/drawio/stencils/cisco/switches.xml deleted file mode 100644 index 4da568b3..00000000 --- a/dist/libs/drawio/stencils/cisco/switches.xml +++ /dev/null @@ -1,3320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco/wireless.xml b/dist/libs/drawio/stencils/cisco/wireless.xml deleted file mode 100644 index 3c9a4c0c..00000000 --- a/dist/libs/drawio/stencils/cisco/wireless.xml +++ /dev/null @@ -1,1135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco_safe/architecture.xml b/dist/libs/drawio/stencils/cisco_safe/architecture.xml deleted file mode 100644 index 1ccb4d4f..00000000 --- a/dist/libs/drawio/stencils/cisco_safe/architecture.xml +++ /dev/null @@ -1,5338 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco_safe/capability.xml b/dist/libs/drawio/stencils/cisco_safe/capability.xml deleted file mode 100644 index 776e0889..00000000 --- a/dist/libs/drawio/stencils/cisco_safe/capability.xml +++ /dev/null @@ -1,8999 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco_safe/design.xml b/dist/libs/drawio/stencils/cisco_safe/design.xml deleted file mode 100644 index 5a10e09a..00000000 --- a/dist/libs/drawio/stencils/cisco_safe/design.xml +++ /dev/null @@ -1,7556 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/cisco_safe/threat.xml b/dist/libs/drawio/stencils/cisco_safe/threat.xml deleted file mode 100644 index 5c6ed1e5..00000000 --- a/dist/libs/drawio/stencils/cisco_safe/threat.xml +++ /dev/null @@ -1,9524 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/citrix.xml b/dist/libs/drawio/stencils/citrix.xml deleted file mode 100644 index 21379d6a..00000000 --- a/dist/libs/drawio/stencils/citrix.xml +++ /dev/null @@ -1,20213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/clipart/Gear_128x128.png b/dist/libs/drawio/stencils/clipart/Gear_128x128.png deleted file mode 100644 index 40d373515a44fdda52bfe414aed8754eada1b72f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10678 zcmW++bySpJ6JB&wXa*-kJBzGxH9nrHqS3g#`cra8*?lb&<0Zas*+ZBfok;GJfQQ>8WDk0|0>H z{~IV}?=R_*i^o!6R?^N zGxAVm)rDKV{b*_4 z3^TCk(G$<+u6{U`LL!u?8h>rJ3c>vwlq2YmXYleceh`1*RB*r9kHsPK9jDF%9@m@8 zR}_^p#lna?h;&MVmYhd{pl@+e%r9rlyS7utEzRS7?C{kX4eRuy+?RG{bO2eX6YQQRAC?$V zV;8g*tmO;cN>_ET5;1!`c4(|{(bq~B5kn&lz=d7EXy-ArnDvV|nphBPgt~c{O}$yr zbu*t8aIM>Dmj`jm`Cm=PNGs%tYAJ7auB9WscRZ2~ID1m9&Ek_w)#Gb^cfap4PBu_Z zYg!cDl$WKbm99jpg~0{CYaGjV(OgBIJ0@P^g~8TOVp^nG-+?LACEPuL=t(T(`K50d zGTS0`o>n2f-_g+f8lmoIfYyY6G71&-peE0IpE#EKmClsN02O>dU6T#3+K^2iGM`Rb(7fqO9ZYfM~ z{0+K(G4L9}<(FYWj*rDFr(Ju`2A|iPvDOOcfrvq;x%OxN0L~TK7u}zuFY|0wvsNxa zR$h=Q$y#BEYB~R}IdTZ$e`{?#AtatsuwT)vhF!V|3* zDfLU|fi@yz(WVK!MmW=pKYj!XpfvaY8;4Azf1w>}wWrDmn%h`58I@&}J8NEU-n=1+ z+#vu;6bd6^0$<>{XcxKu;m^-zq7ZzL6~xm(<@}T3qsh0Ih}qUp(T#Y;m`DB+5@Z8V zee3hv_&8XKpW3NvD@u6YeJQ|KzVyO-n%i?^cd9EZ@%uH5e!k43o zh@)%?UvhS-%lmYCXXyU40Jv6F^{-ZjqU6v3h`2FKI6gbBaRyE&+yYQv~Zs)%&V zlYk}aMu{|n0QBeBb*H>j-1fSz>4^%e%vW}W;75_0q=okbH2glwU5rqh3ItT*lym%=+E=P4OjRPmBnfP8GfDy`q|na7eOd35;c^|#V``EjJ!j|%j_~<)!c$^ zXf%B(CVf88Wq2M-=-K5gLJzIXJ}}t@VZ|PA>!@W4+%3&mlqbqg=n*c55=TYa3x}Wg#zj^`Oq91=4QSrS%|R{RO=#b$=30(*FG6o$ zAtAK_@^8*AFNt5iHKwd!taFt5@Z3_t6iX-9G`+dRxQIquiEi zmH05&vLcx<89g<|g)w4^o3=5wk*KJD6hP&2Vm*>UDJzm?QKVc3NDoVLnb3Am`-*Ba z5Q2)%b-hmlvz;JI5nX_aY5n#3#|WX`>Bq}Mw*Wz50YuO!&{k0g1j8q~R7{x#Q6MiH z^40^ZjN$M5|Ey6mmz3Ami##1G>;o z#S{we^R8qK5avgEMzmzGzHzQpac0FBps+w**jP$i=@y+=l8pZHOe{%PD{XaP1*ZeZ zKtJ8zroQR6#GF$i@kqQ{51Q6;3Grx8^b{%bIUw;oK!}1-PG1*t1yGZFx&fwXqDG`F zoqnJ7$PCh&ex@B0M#aN3wDjUg>?!0J&f52IQWM-T_tE|o>7$N6#8U$oJ8ng(&iW52 zGis2n6j!t>WAG#rfA*pBKO{elZ9JSzHzhuQ5*%=>p7vMn3%j|A3JOz~Dv*jVa57i6 z$v#*C98RgRi(h2aaMsoCRxl;e~r)q~>J^FWw9hZYHwq`_>nbdyv)tAt|ZFZ4^feH{va zyChelmRD`CH=SOsxdub2uOu~B$;L?Ht>n4uy7;%v&*yP06jrhrDR@c=*d3DFdE zO>x70%uu%bsmj~FViC1FlGm@5CS~FFPr^5D5$(I^zxK5ENMH)@1r1%lS=ZUHU2IFj zpdF}Mc=3*3q9*gh)dqxO_qZ;VD8BWhPFeV)&wF1fC}*-Yv4~CVRg2qj_aLL>THduM z0gl9fnvYB--{s!N3_ZP!d(`v;gf~*%%o-{zjo%V1pH~n9hlP@QC~U)c(L8EC!0ZzQ5lnkp$?11rCyOgv z6PrymnHw6nPUctTEKL>RIYTwpZ zis$7Vv4Cp*4U!&gz8m*)%2)0?%s*^v>OABK`BF1KNw85&&Qtr2xZ>fdIOc zs}kIIwcT|md| zBL_9X%kvR{IbUIIv#+!__6faQ`D-=sOoylGn##_Smns7$Rm`)k^~4kHtO#?EayfDS z)!jNE9{UGR9}LOLrOB(TqRCT>()0FaAfYS3MvL8oR*$ZMkzU7y^zSL7;O}87aCZ)G z3cX7)`7a3yMw^K!?4;mN57>WW^ZUG#h$RNz_3Zv;fWzjJNbu0oSK(;g>|z+Dg719r z!zbxHKErKm;GaFU#K4YCJ{iu3o8?Vcy~g67u2xsl^<7+BY@jG*XJ=SgWfvDV><@mm zL=QXQ@AVYWKgA1}!bb=fm^}?SR`tzI@iw zl30*7ndWNYhw2(DH?Zh&V`joA?a*k^lgEEI1ZoJcqe9FH+GF*uL-b9l!+k!fJIkZdJPjLQiDgaHB7Arl^RRy- zHhLrYQ8sC_a3?A|&Q^1nVCg#s1=KBG++1%hX<&YNqur}*W(zqT@h%#dsN$J@k7%`j zk3BtueDYeFN>$vXDU)_+&=C5;N-m9h5{{@y+|ZT0QF7EZ{JXqy=R`5E-u$7kP|c|a zBx|3mKI5g>$B%m3`jEVdN$kR#n+GH|6GZ2iM9S>Jb_`uaBt&&?&V*pcKZ)Gx@w(dh zEg@7<`h!u-e4417LV5iV70Kd{p+kx`Fsy*iVBRj_YH&{XY|!FcDJ+5-2Ont!laHW2s8BpfBcLDt>@k5DQ-vl9`)#O;-jyUqnVWv!OGnIK z3sjnJTfW@NXAVA^E9%;<`&El0f{KF#1S-7ZNc`kA--_89pvJT~W0ydE6b zJ8F`be{9}p+Ewip@Lwru*BhU#RDQ*Y)nO6drnB$M6l+_q*VS5Ocf=&|q*5TkcC$0g z(OO2hzViI;rf8=(z!a+Cim@FI#Ph@JDI8(&%;d^zBpKr62|qhW9g%16?o_6QMzehk zf1h_k4ThN&F*R9L*5Ws(Y%YpusY*DCohJa+1_EnS-+4fT1<-lNiS~Mi3wLT6NYWcF z*4DhHPe#CYY4B_K%e#WqG>P3%m-RbZE~PF7UFvXKImglpA14>;jsR%=`c^B01oExg zPHgXZc^;)UeZ^XAR7;&X!S>1jAvbHjwUUu<8Fge*Oo&+M=z=ONIHa6i3!tP9bJ~UL z61~QV4w#v;x8VC~i*7;NyhU4i#Jd~|uVzPVi9Nhjwyj&rkwe1+`ta0*7fqVS-x&8f zl11u!Cu`v*{@B$BT|Q=a#9EU*3LqFU!)|N+%%QPL(?+D`zevFqut*?QpoY1{2~Ty_$L4Fi73G570gJqk&5#VyY0ughJ~ur#giq9`=J${6aY1LXH#?FCuM zRWb+vpR6i&e$uZ4-x=90U+DXx>Q! zW3|`J#zjGl9~IAQw4C;n^}=8T`sN@|;UMzGI16=Mlt^ibmpBQE48|7-RG5dn;%jCD7)N_Oyb%X(|+aFLO8h-4JWTV&N zfV4{ORbUfeHN)FOyCAOUr8p5WQ5l5-Qxwyj?IW-zU0^Gu)!MwMsM2SoS<*d zqH6^OQjSQX;DrQkB=F#O+Tc48u99F=TmBtXJaK2J7G=8<-^Cb-1RLsVJHH|{h6Hcd zb%>Wch6o38d&1!^+c6vS2?C0gkC3K_mfTRDYJ`dL zQ^bb1KQwKL`KC*|m;yP!yJ?h#1~rHl1`}wdv5oHjSL#A$Nh^ZFF;VPuF z>Gf#cFW^nwdNQb=VSD|9LKwSdWi~0LOf=FvBVP;m4W(QCF9hGCm0v~k`xXajNI^jn zlM0}ce}2GnnYZ{VeJIAJOnCtqtX|yF3Z1*Y=u$Z}2mxAZ0z-F;id=@t(7Q6&$kZ?@*4#eonCBzy4%e03 zHNq#2K&uGtkk=UgtEG(i_somYY}@bA@NR%z3lmB5r~1WFAr)rhjpIay7)}(%<8RV_ zY~QB%2m#IHbk)>r_j{-?`xOZZ`q}K4R}|F-lmyux`)YIX^dV$Fxn(CaGCP7LPTC#D z;2a?30rpCiO5CQX7|(AW^eK>qb$a_X^)btKEjD;YpIm&&5d2qlHwKNtLeIZQScn)O zb0BjZbCyZLUvlYLBTU%zqVQPW4xT-^QOG|yl|Z|KU2~VbWnttDobx!>%IgFe>0S!XyA{HX;`rQqK!HKcvO>@lrCExl#|%4M+)1N206X^_v8kms+JKK(r?vd zgYOZyx2^#OSSx`p7+=H9KZ(11F9Cpz;oZz~EZr<}JTmognV9#{5|f8@#r{wL-Wbh3 zJSFazxB+zrY3B9Tf^*lb!!i%Vx~MGDJOmG2jm8h?)Kc)r=Dre-y$44zdDdkkv&eE= zZoK|Y6F$Q<#qNpvC{M3QTwa&eyV+j3MHE1*b$I$O^ ziG;_#2^Wt=Ku`x=LgcpZm*z@%PER#I1Y6i2+oXXNG~Ljcu%pPHjm{}01-9nSy@6LU zi9RA_#*ZYel|Y#?@g@U#W3^4x=%X`ZHcSt3+pVSlX-(ZkZK#H3lB*zokMMlDf#)=I zEDtHgTGuV8xGT)cSb4X1Lv{SDlk$rFOO@-K%y3nVMZDS5_(rnhlgcH1&d>3)J5p8xn%J{}2E@zg;wD@Z*`{<=MB!x@w*P_VA@YTnn1kN#~kg%Y! zc$(mhciQ3Yt1qGzh0Mdy_w=seVl%sq@Te~{HeM%Klj~%{fH~VAmws!R62Pr!nW-)z z1a^oWZN(lHN*h&Ih;k$kZkVG`@q4$+p(LOckcIlYj3Q`{=(}$`!rVK z>pdqi5ie*o2HfumBl4ednAFJS)?4`*5{qT6|A>_1enr4zSn#b76WV^z(-{hV>ipJd zD1)ntok*TWTUr=zUxv8xuC^@wH{l`L`>ElJ1T_J5y<$=epGtfo_#Jsw;oX)^GfJO( z_6z()J|%*7=l+)adRd@vlOm5e%7n{D{HdHn4B_#tqY05QVlU}8bQg)&9}Wr~wOegg z2|A`zNU+ah>Mev!J0d2>G7>B5j|48ZB#`_iTE3=kO6`LD5xHBCtNfQ{<`PMi7eNkc zf zU{V<$r*hR&x@(eA+A~Ch9eyS?E-wE@m$AW5DlhUZkc+lK46Q+nRWB~Gw66Q}j$=?V zxIED(dZ|d-Hgkcgug7Z9#EDlDoNv!&1%rwteu;dN58g~<*aI@kjejuv)mK-n?W$e} zzv^u!vAbNHZrag724{om5pW{9RL8m2x`OWmcF5^wMzz5J@dBkuNt z(y&nAy!wc|(JcoB5goi6OO)aT%OPp(yJmo5L^bxelx@aQ)q-4_z5|Ws;@t+?0WYLx z|Gp26RDRpYPwJD~$)prD;p_K@Ep<0ouQCM56}0UQ2f*8mgLl4s2kD+tQjonac20fW zgQ%S(h4{jG7UT;)N`*P*kap6|c{nCH`=DLD8!$ju)O~&Gd?}LH>z>PrJ13$3*-|Te zDkm86T4hDsh*+4^S1DX$V|X$31PvgpoU_x*ZGno@X&68ju$L!gX`9t-3LmQLHF7k< z9}Qqte4Sl-I{hcz)cfiqzTsh+o^Z}y0w`W&a-MrJduG88Aa%qDJquXvFfc|v)T4x1 zAQ;F<_VVk3zu9s|xj))-VE1mLoIY@>D9vPBf3EKoLX7A;Iu(nyyB?7Rp+H(E-Y?`u zhp|>Pe7P}t;d0ai-PNIiA3Fjo+gjxh6BBgI%KRH4@A27#Ezz=RcT}2ZjFE|58@BJZ z`{ZBl4FPC_b3tb^P%?-0UMB#CFu0) zS0Ib>LJ@YnHB9l){3pqkcqt4>JvDTFFl}CxfAz6Fwwp+KX8@~-VG1KC9uK8S<`ID8 z*gum$4Y~|^2nTx4iX;P>L!6*hqJDrrw@-}tiy~%KpH{M`GFJ8GV%KwKqME7pT~YQ% z=87`SkU!j=U<%HFBJB6Q;nGTAz&ubE8>3h3Z>?nXr=Rr8NGfC%kgEP-N_;V;5r06& ztnAbTU@Q+^GU$l@UMM~zZyV|brKEwR1^uc38!X7b`qZABN=cYT6r6CyRqN>h0*>>; zO<&N&2dqNo;3Iiepq>0}WZ0A0PoH!46RzM0)i%(6;&FN}Fl%f{1q%=XR>~-%G?&$a zyt5Ai-6<ugC%#_ur=j?x|<3gG+_FY$3Sdok1UP>jo9hnRXR! zxwIEHl0vGvqMXJ#-X*9H?N>KEF&HoIpR#yxF963WXbR7KL|2^DE8qg26(fsb=1!^_ z@H``X1WX++KaioC;!W9g2dSlu3q>5kO z3(d>|6wyoaHx@XrG9$iW_&rvd9w0Q>+FYRw*`NUoP`2;^?EHktH#KDA-YJ^56D^xn-XTD};bHI-JoGOT{pN zl=DmOm}LE6Lt81FNa}4`>~YpP*l=um92`~=a_Czm@~7T}Y_^0Q*+d}vUoQZW18zjD z)8)OZewr!V^I;;_zJ?aTF4)F>;Nx5?Jfg}1g{>ziEnqzWe9Ai=HAIV?u-He#M0#7a zKhyzhYx^Gtdf2WeqZzc`Tv}i0uIkyAGdrpb5E2uFr@zKn^w?4u$fx%@SW70&j_im3 zdhPG}Vy?R_$sLm^ms7b+{H$@fAqM;jZOXC*pIHtM7L=1Q_FFE_bEm`46u^iVe{OOU zPwMF>d=!S2_VJBjXt^$i%wD&EEIM^ zd)$20aOjc}X3PcM;LMr{Jn$)UgFehtQ2neyu#BYMpWw@QlE3DvYOBJxpEcqv zLDi30PZtWMz{m%MCO=_W@NPksqv(7)nY#7zZgE7>bS^~Nc)yFzn%F`=C$CO^59)cb zvl%Lk|I2}>;m!s1r!Y#^Rme`C5~~`)McgJYU4^K zhsfj)UW;e+oR$*kGpKXdQ!>Jl6Ti8jhAs3lOk_V+Cg}^ehk-juqTwArZiW(lNllP+=`GuMw3&SYJi)job~9IbQeen592W4~yxLf|MWifr$$88LkaM4(# z;H)}>QNp-e5$uP64yM&$kYZ;0=MJ((+rIZmvfED>)?n+22<#Ywqb4WH&D>xN2z>97 zgqj3z|LO_g8LvEW5P=z`p?)joSt4^%uh+qZ3AeI}&l58&#*PT(9%B*A`I8jqmr3@Ej*pSHjw5ts| zruFIQ=?4$Ya!lcsEmh#Y0GyV4*#Q7^AOdXg#X@fB0Tr1Hc2PqI3-lOl&Pi&vwzF`j zbd+Z@w>oKNwE?LsDd$ojL=B-w(H~%MEuV>@c3NM`9)LLdw2wT1lEVUY4^izStN*KN z&=Miw`wb#!L1ji52Sl8W;@Bh`{ehn%1l{e8jef;25rz@L~u z>#lXYK{$(Zxt&-LnH~;lQLs0@R=CEeE@=_NeytssNLe)3O3y2j^xQr`dG zO1z7Wd8pk7$z8FR)X)u^&Wppz@TVfXqbpwU4&9s&{7cwtD!b!*?31_oc+s<&;c@1~ z1a>&tu@2sBL(_naU@Nj-_j{dq&$m{6>a_gSW9diR^dsX$x&Vt)X08R|b%Rt0N+8yUKCckH=oe{d@X+aF{gb zV^Xhc^auTgfwK6s>d1AG`rkIdl#w6WfCAWe28?-ZyX@^nMnZSXCE>uCv1E!h{4R50 zvAALZUndkN?m&M?Op1E-g$` zZHuey;mvB;!@u_J8M+9S{k@SFW~`7^;?Q5vfQ&p7K2}80`Z>gTTbrQSHItm{<$T5;hiAjdC_l*tX*Lsbxzu<$*WO9V*=O(zUPTwAJ6>+P z$ZX_i(+>uX(sQks?zXKBIBc%*O=<&9kN4&JbwWO|ZM_As`;FSgEj}j9sAE>f&8_$l z^|xt!#BPUg`OyNX2$p)+erVf5d%h=ZW|xsY3+{)8X$?B!J~?jrt%L3H6N6rYD%(4# zCLT(;P)hE#qQ$;s7gldie#pX=VUuh48TNtMBXGX^-(P81(HL5T9c?qlMwC{K1T;Tx@g(H&tH+rmLDiRd|i2?2g$_+@;Y(cOi>ypAE zVGc@b5G(m4N7BgCEQD=V+-?V$emVD)!QeXYJEANDFftSxg<^oDLyL05xldb<#@I?!Q=1w{~X zdP@{#^MC?5ZQT4J`8^P2zm@gBeXi5(O&!c{8%mXZ-(XEGXXE0A|1PAQH0w)@rm~oj z81H?3Qd54GeJDGPZd&@TZn>hBj}nWQH>fx0&o#s$(nANs)$f*=I^VqctY-fiG&=dO V^T+Gm3}nwGKvhXgu~yzH;(w<*<4gbm diff --git a/dist/libs/drawio/stencils/eip.xml b/dist/libs/drawio/stencils/eip.xml deleted file mode 100644 index 182a0427..00000000 --- a/dist/libs/drawio/stencils/eip.xml +++ /dev/null @@ -1,2003 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/abstract.xml b/dist/libs/drawio/stencils/electrical/abstract.xml deleted file mode 100644 index 2e4c8ee9..00000000 --- a/dist/libs/drawio/stencils/electrical/abstract.xml +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/capacitors.xml b/dist/libs/drawio/stencils/electrical/capacitors.xml deleted file mode 100644 index 56d2c84a..00000000 --- a/dist/libs/drawio/stencils/electrical/capacitors.xml +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/diodes.xml b/dist/libs/drawio/stencils/electrical/diodes.xml deleted file mode 100644 index 926ea018..00000000 --- a/dist/libs/drawio/stencils/electrical/diodes.xml +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/electro-mechanical.xml b/dist/libs/drawio/stencils/electrical/electro-mechanical.xml deleted file mode 100644 index 8c80b44a..00000000 --- a/dist/libs/drawio/stencils/electrical/electro-mechanical.xml +++ /dev/null @@ -1,1722 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/iec417.xml b/dist/libs/drawio/stencils/electrical/iec417.xml deleted file mode 100644 index 1120c63e..00000000 --- a/dist/libs/drawio/stencils/electrical/iec417.xml +++ /dev/null @@ -1,1143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/iec_logic_gates.xml b/dist/libs/drawio/stencils/electrical/iec_logic_gates.xml deleted file mode 100644 index e03f61ef..00000000 --- a/dist/libs/drawio/stencils/electrical/iec_logic_gates.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/inductors.xml b/dist/libs/drawio/stencils/electrical/inductors.xml deleted file mode 100644 index 749103a1..00000000 --- a/dist/libs/drawio/stencils/electrical/inductors.xml +++ /dev/null @@ -1,993 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/instruments.xml b/dist/libs/drawio/stencils/electrical/instruments.xml deleted file mode 100644 index 0555614c..00000000 --- a/dist/libs/drawio/stencils/electrical/instruments.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/logic_gates.xml b/dist/libs/drawio/stencils/electrical/logic_gates.xml deleted file mode 100644 index 0ec8b3bc..00000000 --- a/dist/libs/drawio/stencils/electrical/logic_gates.xml +++ /dev/null @@ -1,672 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/miscellaneous.xml b/dist/libs/drawio/stencils/electrical/miscellaneous.xml deleted file mode 100644 index efb3c02f..00000000 --- a/dist/libs/drawio/stencils/electrical/miscellaneous.xml +++ /dev/null @@ -1,1649 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/mosfets1.xml b/dist/libs/drawio/stencils/electrical/mosfets1.xml deleted file mode 100644 index bfdd67b2..00000000 --- a/dist/libs/drawio/stencils/electrical/mosfets1.xml +++ /dev/null @@ -1,821 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/mosfets2.xml b/dist/libs/drawio/stencils/electrical/mosfets2.xml deleted file mode 100644 index 6e610854..00000000 --- a/dist/libs/drawio/stencils/electrical/mosfets2.xml +++ /dev/null @@ -1,560 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/op_amps.xml b/dist/libs/drawio/stencils/electrical/op_amps.xml deleted file mode 100644 index 05b3f894..00000000 --- a/dist/libs/drawio/stencils/electrical/op_amps.xml +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/opto_electronics.xml b/dist/libs/drawio/stencils/electrical/opto_electronics.xml deleted file mode 100644 index 922bad64..00000000 --- a/dist/libs/drawio/stencils/electrical/opto_electronics.xml +++ /dev/null @@ -1,654 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/plc_ladder.xml b/dist/libs/drawio/stencils/electrical/plc_ladder.xml deleted file mode 100644 index 425c743c..00000000 --- a/dist/libs/drawio/stencils/electrical/plc_ladder.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/power_semiconductors.xml b/dist/libs/drawio/stencils/electrical/power_semiconductors.xml deleted file mode 100644 index 8af2dc40..00000000 --- a/dist/libs/drawio/stencils/electrical/power_semiconductors.xml +++ /dev/null @@ -1,743 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/radio.xml b/dist/libs/drawio/stencils/electrical/radio.xml deleted file mode 100644 index e79e415b..00000000 --- a/dist/libs/drawio/stencils/electrical/radio.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/resistors.xml b/dist/libs/drawio/stencils/electrical/resistors.xml deleted file mode 100644 index 4090383a..00000000 --- a/dist/libs/drawio/stencils/electrical/resistors.xml +++ /dev/null @@ -1,617 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/rot_mech.xml b/dist/libs/drawio/stencils/electrical/rot_mech.xml deleted file mode 100644 index ef768904..00000000 --- a/dist/libs/drawio/stencils/electrical/rot_mech.xml +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/signal_sources.xml b/dist/libs/drawio/stencils/electrical/signal_sources.xml deleted file mode 100644 index acd0dda3..00000000 --- a/dist/libs/drawio/stencils/electrical/signal_sources.xml +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/thermionic_devices.xml b/dist/libs/drawio/stencils/electrical/thermionic_devices.xml deleted file mode 100644 index a87d31f7..00000000 --- a/dist/libs/drawio/stencils/electrical/thermionic_devices.xml +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/transistors.xml b/dist/libs/drawio/stencils/electrical/transistors.xml deleted file mode 100644 index 0ff4f1da..00000000 --- a/dist/libs/drawio/stencils/electrical/transistors.xml +++ /dev/null @@ -1,600 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/transmission.xml b/dist/libs/drawio/stencils/electrical/transmission.xml deleted file mode 100644 index d33695d5..00000000 --- a/dist/libs/drawio/stencils/electrical/transmission.xml +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/electrical/waveforms.xml b/dist/libs/drawio/stencils/electrical/waveforms.xml deleted file mode 100644 index 9eb9fb9e..00000000 --- a/dist/libs/drawio/stencils/electrical/waveforms.xml +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/floorplan.xml b/dist/libs/drawio/stencils/floorplan.xml deleted file mode 100644 index 41103415..00000000 --- a/dist/libs/drawio/stencils/floorplan.xml +++ /dev/null @@ -1,1809 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/flowchart.xml b/dist/libs/drawio/stencils/flowchart.xml deleted file mode 100644 index 8296a1c2..00000000 --- a/dist/libs/drawio/stencils/flowchart.xml +++ /dev/null @@ -1,921 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/big_data.xml b/dist/libs/drawio/stencils/gcp/big_data.xml deleted file mode 100644 index 7d63619e..00000000 --- a/dist/libs/drawio/stencils/gcp/big_data.xml +++ /dev/null @@ -1,777 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/compute.xml b/dist/libs/drawio/stencils/gcp/compute.xml deleted file mode 100644 index be5a41d7..00000000 --- a/dist/libs/drawio/stencils/gcp/compute.xml +++ /dev/null @@ -1,708 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/developer_tools.xml b/dist/libs/drawio/stencils/gcp/developer_tools.xml deleted file mode 100644 index d564e0e7..00000000 --- a/dist/libs/drawio/stencils/gcp/developer_tools.xml +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/extras.xml b/dist/libs/drawio/stencils/gcp/extras.xml deleted file mode 100644 index c20698ff..00000000 --- a/dist/libs/drawio/stencils/gcp/extras.xml +++ /dev/null @@ -1,748 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/identity_and_security.xml b/dist/libs/drawio/stencils/gcp/identity_and_security.xml deleted file mode 100644 index c8b923d2..00000000 --- a/dist/libs/drawio/stencils/gcp/identity_and_security.xml +++ /dev/null @@ -1,681 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/machine_learning.xml b/dist/libs/drawio/stencils/gcp/machine_learning.xml deleted file mode 100644 index e88a6a44..00000000 --- a/dist/libs/drawio/stencils/gcp/machine_learning.xml +++ /dev/null @@ -1,632 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/management_tools.xml b/dist/libs/drawio/stencils/gcp/management_tools.xml deleted file mode 100644 index 6d54f545..00000000 --- a/dist/libs/drawio/stencils/gcp/management_tools.xml +++ /dev/null @@ -1,761 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/networking.xml b/dist/libs/drawio/stencils/gcp/networking.xml deleted file mode 100644 index 6d917462..00000000 --- a/dist/libs/drawio/stencils/gcp/networking.xml +++ /dev/null @@ -1,951 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/product_cards.xml b/dist/libs/drawio/stencils/gcp/product_cards.xml deleted file mode 100644 index e54f6829..00000000 --- a/dist/libs/drawio/stencils/gcp/product_cards.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp/storage_databases.xml b/dist/libs/drawio/stencils/gcp/storage_databases.xml deleted file mode 100644 index 6b9c6903..00000000 --- a/dist/libs/drawio/stencils/gcp/storage_databases.xml +++ /dev/null @@ -1,593 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gcp2.xml b/dist/libs/drawio/stencils/gcp2.xml deleted file mode 100644 index b43fb71b..00000000 --- a/dist/libs/drawio/stencils/gcp2.xml +++ /dev/null @@ -1,23206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/gmdl.xml b/dist/libs/drawio/stencils/gmdl.xml deleted file mode 100644 index 4cd7576e..00000000 --- a/dist/libs/drawio/stencils/gmdl.xml +++ /dev/null @@ -1,2952 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/ios7/icons.xml b/dist/libs/drawio/stencils/ios7/icons.xml deleted file mode 100644 index 2e434bb4..00000000 --- a/dist/libs/drawio/stencils/ios7/icons.xml +++ /dev/null @@ -1,2484 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/ios7/misc.xml b/dist/libs/drawio/stencils/ios7/misc.xml deleted file mode 100644 index dc828ec1..00000000 --- a/dist/libs/drawio/stencils/ios7/misc.xml +++ /dev/null @@ -1,2184 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/lean_mapping.xml b/dist/libs/drawio/stencils/lean_mapping.xml deleted file mode 100644 index d7fe23f5..00000000 --- a/dist/libs/drawio/stencils/lean_mapping.xml +++ /dev/null @@ -1,462 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/advertising.xml b/dist/libs/drawio/stencils/mockup/advertising.xml deleted file mode 100644 index 790363d9..00000000 --- a/dist/libs/drawio/stencils/mockup/advertising.xml +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/calendars.xml b/dist/libs/drawio/stencils/mockup/calendars.xml deleted file mode 100644 index d8132807..00000000 --- a/dist/libs/drawio/stencils/mockup/calendars.xml +++ /dev/null @@ -1,1595 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/carousel.xml b/dist/libs/drawio/stencils/mockup/carousel.xml deleted file mode 100644 index 7979af3e..00000000 --- a/dist/libs/drawio/stencils/mockup/carousel.xml +++ /dev/null @@ -1,599 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/charts_and_tables.xml b/dist/libs/drawio/stencils/mockup/charts_and_tables.xml deleted file mode 100644 index 08a69371..00000000 --- a/dist/libs/drawio/stencils/mockup/charts_and_tables.xml +++ /dev/null @@ -1,626 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/controls.xml b/dist/libs/drawio/stencils/mockup/controls.xml deleted file mode 100644 index 7a185933..00000000 --- a/dist/libs/drawio/stencils/mockup/controls.xml +++ /dev/null @@ -1,648 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/form_elements.xml b/dist/libs/drawio/stencils/mockup/form_elements.xml deleted file mode 100644 index baba97cd..00000000 --- a/dist/libs/drawio/stencils/mockup/form_elements.xml +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/menus_and_buttons.xml b/dist/libs/drawio/stencils/mockup/menus_and_buttons.xml deleted file mode 100644 index eb55a14f..00000000 --- a/dist/libs/drawio/stencils/mockup/menus_and_buttons.xml +++ /dev/null @@ -1,848 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/misc.xml b/dist/libs/drawio/stencils/mockup/misc.xml deleted file mode 100644 index 67df6ab1..00000000 --- a/dist/libs/drawio/stencils/mockup/misc.xml +++ /dev/null @@ -1,2183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mockup/tabs.xml b/dist/libs/drawio/stencils/mockup/tabs.xml deleted file mode 100644 index f05de3e5..00000000 --- a/dist/libs/drawio/stencils/mockup/tabs.xml +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/cloud.xml b/dist/libs/drawio/stencils/mscae/cloud.xml deleted file mode 100644 index 22fdb3f3..00000000 --- a/dist/libs/drawio/stencils/mscae/cloud.xml +++ /dev/null @@ -1,10257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/deprecated.xml b/dist/libs/drawio/stencils/mscae/deprecated.xml deleted file mode 100644 index 65f07db2..00000000 --- a/dist/libs/drawio/stencils/mscae/deprecated.xml +++ /dev/null @@ -1,946 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/enterprise.xml b/dist/libs/drawio/stencils/mscae/enterprise.xml deleted file mode 100644 index c306d3d0..00000000 --- a/dist/libs/drawio/stencils/mscae/enterprise.xml +++ /dev/null @@ -1,5289 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/general.xml b/dist/libs/drawio/stencils/mscae/general.xml deleted file mode 100644 index d79a2b12..00000000 --- a/dist/libs/drawio/stencils/mscae/general.xml +++ /dev/null @@ -1,1412 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/general_symbols.xml b/dist/libs/drawio/stencils/mscae/general_symbols.xml deleted file mode 100644 index 69f84c7b..00000000 --- a/dist/libs/drawio/stencils/mscae/general_symbols.xml +++ /dev/null @@ -1,587 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/intune.xml b/dist/libs/drawio/stencils/mscae/intune.xml deleted file mode 100644 index 6e60eb96..00000000 --- a/dist/libs/drawio/stencils/mscae/intune.xml +++ /dev/null @@ -1,3517 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/oms.xml b/dist/libs/drawio/stencils/mscae/oms.xml deleted file mode 100644 index 562d22cb..00000000 --- a/dist/libs/drawio/stencils/mscae/oms.xml +++ /dev/null @@ -1,1458 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/opsmanager.xml b/dist/libs/drawio/stencils/mscae/opsmanager.xml deleted file mode 100644 index 63cb46ed..00000000 --- a/dist/libs/drawio/stencils/mscae/opsmanager.xml +++ /dev/null @@ -1,2900 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/other.xml b/dist/libs/drawio/stencils/mscae/other.xml deleted file mode 100644 index 81131fb0..00000000 --- a/dist/libs/drawio/stencils/mscae/other.xml +++ /dev/null @@ -1,1292 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/system_center.xml b/dist/libs/drawio/stencils/mscae/system_center.xml deleted file mode 100644 index e1924b73..00000000 --- a/dist/libs/drawio/stencils/mscae/system_center.xml +++ /dev/null @@ -1,675 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/mscae/vm.xml b/dist/libs/drawio/stencils/mscae/vm.xml deleted file mode 100644 index 306e278c..00000000 --- a/dist/libs/drawio/stencils/mscae/vm.xml +++ /dev/null @@ -1,1949 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/networks.xml b/dist/libs/drawio/stencils/networks.xml deleted file mode 100644 index 24191cc4..00000000 --- a/dist/libs/drawio/stencils/networks.xml +++ /dev/null @@ -1,4976 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/clouds.xml b/dist/libs/drawio/stencils/office/clouds.xml deleted file mode 100644 index 7559b2c4..00000000 --- a/dist/libs/drawio/stencils/office/clouds.xml +++ /dev/null @@ -1,847 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/communications.xml b/dist/libs/drawio/stencils/office/communications.xml deleted file mode 100644 index 8b5d43ba..00000000 --- a/dist/libs/drawio/stencils/office/communications.xml +++ /dev/null @@ -1,7570 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/concepts.xml b/dist/libs/drawio/stencils/office/concepts.xml deleted file mode 100644 index 2fa7fca0..00000000 --- a/dist/libs/drawio/stencils/office/concepts.xml +++ /dev/null @@ -1,6700 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/databases.xml b/dist/libs/drawio/stencils/office/databases.xml deleted file mode 100644 index 3e6d8792..00000000 --- a/dist/libs/drawio/stencils/office/databases.xml +++ /dev/null @@ -1,1748 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/devices.xml b/dist/libs/drawio/stencils/office/devices.xml deleted file mode 100644 index 71addc3a..00000000 --- a/dist/libs/drawio/stencils/office/devices.xml +++ /dev/null @@ -1,3171 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/security.xml b/dist/libs/drawio/stencils/office/security.xml deleted file mode 100644 index 5ec8e090..00000000 --- a/dist/libs/drawio/stencils/office/security.xml +++ /dev/null @@ -1,2258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/servers.xml b/dist/libs/drawio/stencils/office/servers.xml deleted file mode 100644 index 2d1366a4..00000000 --- a/dist/libs/drawio/stencils/office/servers.xml +++ /dev/null @@ -1,8510 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/services.xml b/dist/libs/drawio/stencils/office/services.xml deleted file mode 100644 index c0e0344e..00000000 --- a/dist/libs/drawio/stencils/office/services.xml +++ /dev/null @@ -1,3232 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/sites.xml b/dist/libs/drawio/stencils/office/sites.xml deleted file mode 100644 index b3d0e028..00000000 --- a/dist/libs/drawio/stencils/office/sites.xml +++ /dev/null @@ -1,1731 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/office/users.xml b/dist/libs/drawio/stencils/office/users.xml deleted file mode 100644 index 128d5ba7..00000000 --- a/dist/libs/drawio/stencils/office/users.xml +++ /dev/null @@ -1,2307 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/agitators.xml b/dist/libs/drawio/stencils/pid/agitators.xml deleted file mode 100644 index 97099e4d..00000000 --- a/dist/libs/drawio/stencils/pid/agitators.xml +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/apparatus_elements.xml b/dist/libs/drawio/stencils/pid/apparatus_elements.xml deleted file mode 100644 index 30f1d7fb..00000000 --- a/dist/libs/drawio/stencils/pid/apparatus_elements.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/centrifuges.xml b/dist/libs/drawio/stencils/pid/centrifuges.xml deleted file mode 100644 index 4cc93ac2..00000000 --- a/dist/libs/drawio/stencils/pid/centrifuges.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/compressors.xml b/dist/libs/drawio/stencils/pid/compressors.xml deleted file mode 100644 index 596f20f5..00000000 --- a/dist/libs/drawio/stencils/pid/compressors.xml +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/compressors_iso.xml b/dist/libs/drawio/stencils/pid/compressors_iso.xml deleted file mode 100644 index 96cec30f..00000000 --- a/dist/libs/drawio/stencils/pid/compressors_iso.xml +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/crushers_grinding.xml b/dist/libs/drawio/stencils/pid/crushers_grinding.xml deleted file mode 100644 index e07db2b2..00000000 --- a/dist/libs/drawio/stencils/pid/crushers_grinding.xml +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/driers.xml b/dist/libs/drawio/stencils/pid/driers.xml deleted file mode 100644 index af161877..00000000 --- a/dist/libs/drawio/stencils/pid/driers.xml +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/engines.xml b/dist/libs/drawio/stencils/pid/engines.xml deleted file mode 100644 index eec950f7..00000000 --- a/dist/libs/drawio/stencils/pid/engines.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/feeders.xml b/dist/libs/drawio/stencils/pid/feeders.xml deleted file mode 100644 index c8208a00..00000000 --- a/dist/libs/drawio/stencils/pid/feeders.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/filters.xml b/dist/libs/drawio/stencils/pid/filters.xml deleted file mode 100644 index 66d1972e..00000000 --- a/dist/libs/drawio/stencils/pid/filters.xml +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/fittings.xml b/dist/libs/drawio/stencils/pid/fittings.xml deleted file mode 100644 index ba53e25a..00000000 --- a/dist/libs/drawio/stencils/pid/fittings.xml +++ /dev/null @@ -1,628 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/flow_sensors.xml b/dist/libs/drawio/stencils/pid/flow_sensors.xml deleted file mode 100644 index bdc9b109..00000000 --- a/dist/libs/drawio/stencils/pid/flow_sensors.xml +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/heat_exchangers.xml b/dist/libs/drawio/stencils/pid/heat_exchangers.xml deleted file mode 100644 index 6670b3f1..00000000 --- a/dist/libs/drawio/stencils/pid/heat_exchangers.xml +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/instruments.xml b/dist/libs/drawio/stencils/pid/instruments.xml deleted file mode 100644 index 00c47a2e..00000000 --- a/dist/libs/drawio/stencils/pid/instruments.xml +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/misc.xml b/dist/libs/drawio/stencils/pid/misc.xml deleted file mode 100644 index 01a8eae5..00000000 --- a/dist/libs/drawio/stencils/pid/misc.xml +++ /dev/null @@ -1,2058 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/mixers.xml b/dist/libs/drawio/stencils/pid/mixers.xml deleted file mode 100644 index a4f451d6..00000000 --- a/dist/libs/drawio/stencils/pid/mixers.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/piping.xml b/dist/libs/drawio/stencils/pid/piping.xml deleted file mode 100644 index c3111e95..00000000 --- a/dist/libs/drawio/stencils/pid/piping.xml +++ /dev/null @@ -1,748 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/pumps.xml b/dist/libs/drawio/stencils/pid/pumps.xml deleted file mode 100644 index 41e0b7ff..00000000 --- a/dist/libs/drawio/stencils/pid/pumps.xml +++ /dev/null @@ -1,602 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/pumps_din.xml b/dist/libs/drawio/stencils/pid/pumps_din.xml deleted file mode 100644 index 19df0dd9..00000000 --- a/dist/libs/drawio/stencils/pid/pumps_din.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/pumps_iso.xml b/dist/libs/drawio/stencils/pid/pumps_iso.xml deleted file mode 100644 index 54db32bf..00000000 --- a/dist/libs/drawio/stencils/pid/pumps_iso.xml +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/separators.xml b/dist/libs/drawio/stencils/pid/separators.xml deleted file mode 100644 index ddae41ed..00000000 --- a/dist/libs/drawio/stencils/pid/separators.xml +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/shaping_machines.xml b/dist/libs/drawio/stencils/pid/shaping_machines.xml deleted file mode 100644 index 8d10ff3d..00000000 --- a/dist/libs/drawio/stencils/pid/shaping_machines.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/valves.xml b/dist/libs/drawio/stencils/pid/valves.xml deleted file mode 100644 index 5ded108c..00000000 --- a/dist/libs/drawio/stencils/pid/valves.xml +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/pid/vessels.xml b/dist/libs/drawio/stencils/pid/vessels.xml deleted file mode 100644 index 064d6b3a..00000000 --- a/dist/libs/drawio/stencils/pid/vessels.xml +++ /dev/null @@ -1,1847 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/apc.xml b/dist/libs/drawio/stencils/rack/apc.xml deleted file mode 100644 index e30ff08c..00000000 --- a/dist/libs/drawio/stencils/rack/apc.xml +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/cisco.xml b/dist/libs/drawio/stencils/rack/cisco.xml deleted file mode 100644 index 5d01bd41..00000000 --- a/dist/libs/drawio/stencils/rack/cisco.xml +++ /dev/null @@ -1,16373 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/dell.xml b/dist/libs/drawio/stencils/rack/dell.xml deleted file mode 100644 index 4c04b09f..00000000 --- a/dist/libs/drawio/stencils/rack/dell.xml +++ /dev/null @@ -1,5617 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/f5.xml b/dist/libs/drawio/stencils/rack/f5.xml deleted file mode 100644 index bedda621..00000000 --- a/dist/libs/drawio/stencils/rack/f5.xml +++ /dev/null @@ -1,7923 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/general.xml b/dist/libs/drawio/stencils/rack/general.xml deleted file mode 100644 index 0dbd95ae..00000000 --- a/dist/libs/drawio/stencils/rack/general.xml +++ /dev/null @@ -1,3477 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/hp.xml b/dist/libs/drawio/stencils/rack/hp.xml deleted file mode 100644 index 87aadec6..00000000 --- a/dist/libs/drawio/stencils/rack/hp.xml +++ /dev/null @@ -1,2057 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/ibm.xml b/dist/libs/drawio/stencils/rack/ibm.xml deleted file mode 100644 index f08dec95..00000000 --- a/dist/libs/drawio/stencils/rack/ibm.xml +++ /dev/null @@ -1,2657 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/rack/oracle.xml b/dist/libs/drawio/stencils/rack/oracle.xml deleted file mode 100644 index f056c128..00000000 --- a/dist/libs/drawio/stencils/rack/oracle.xml +++ /dev/null @@ -1,5140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/animals.xml b/dist/libs/drawio/stencils/signs/animals.xml deleted file mode 100644 index 0b91de57..00000000 --- a/dist/libs/drawio/stencils/signs/animals.xml +++ /dev/null @@ -1,1515 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/food.xml b/dist/libs/drawio/stencils/signs/food.xml deleted file mode 100644 index 6e64c8cd..00000000 --- a/dist/libs/drawio/stencils/signs/food.xml +++ /dev/null @@ -1,615 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/healthcare.xml b/dist/libs/drawio/stencils/signs/healthcare.xml deleted file mode 100644 index 5e6ee26e..00000000 --- a/dist/libs/drawio/stencils/signs/healthcare.xml +++ /dev/null @@ -1,5753 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/nature.xml b/dist/libs/drawio/stencils/signs/nature.xml deleted file mode 100644 index 32bb2523..00000000 --- a/dist/libs/drawio/stencils/signs/nature.xml +++ /dev/null @@ -1,1049 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/people.xml b/dist/libs/drawio/stencils/signs/people.xml deleted file mode 100644 index 032afa34..00000000 --- a/dist/libs/drawio/stencils/signs/people.xml +++ /dev/null @@ -1,1603 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/safety.xml b/dist/libs/drawio/stencils/signs/safety.xml deleted file mode 100644 index 069a2018..00000000 --- a/dist/libs/drawio/stencils/signs/safety.xml +++ /dev/null @@ -1,1644 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/science.xml b/dist/libs/drawio/stencils/signs/science.xml deleted file mode 100644 index b2205f0f..00000000 --- a/dist/libs/drawio/stencils/signs/science.xml +++ /dev/null @@ -1,434 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/sports.xml b/dist/libs/drawio/stencils/signs/sports.xml deleted file mode 100644 index 365a8d2b..00000000 --- a/dist/libs/drawio/stencils/signs/sports.xml +++ /dev/null @@ -1,6035 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/tech.xml b/dist/libs/drawio/stencils/signs/tech.xml deleted file mode 100644 index d6ad3a76..00000000 --- a/dist/libs/drawio/stencils/signs/tech.xml +++ /dev/null @@ -1,1295 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/transportation.xml b/dist/libs/drawio/stencils/signs/transportation.xml deleted file mode 100644 index cf18354e..00000000 --- a/dist/libs/drawio/stencils/signs/transportation.xml +++ /dev/null @@ -1,6297 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/signs/travel.xml b/dist/libs/drawio/stencils/signs/travel.xml deleted file mode 100644 index e7094378..00000000 --- a/dist/libs/drawio/stencils/signs/travel.xml +++ /dev/null @@ -1,3450 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/sitemap.xml b/dist/libs/drawio/stencils/sitemap.xml deleted file mode 100644 index 30c2450d..00000000 --- a/dist/libs/drawio/stencils/sitemap.xml +++ /dev/null @@ -1,4221 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/veeam/2d.xml b/dist/libs/drawio/stencils/veeam/2d.xml deleted file mode 100644 index 3ece184c..00000000 --- a/dist/libs/drawio/stencils/veeam/2d.xml +++ /dev/null @@ -1,11861 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/veeam/3d.xml b/dist/libs/drawio/stencils/veeam/3d.xml deleted file mode 100644 index 3ad8a8df..00000000 --- a/dist/libs/drawio/stencils/veeam/3d.xml +++ /dev/null @@ -1,11155 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/veeam/veeam.xml b/dist/libs/drawio/stencils/veeam/veeam.xml deleted file mode 100644 index 203064c8..00000000 --- a/dist/libs/drawio/stencils/veeam/veeam.xml +++ /dev/null @@ -1,12363 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/vvd.xml b/dist/libs/drawio/stencils/vvd.xml deleted file mode 100644 index 8db02f8d..00000000 --- a/dist/libs/drawio/stencils/vvd.xml +++ /dev/null @@ -1,11419 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/webicons.xml b/dist/libs/drawio/stencils/webicons.xml deleted file mode 100644 index d75535a7..00000000 --- a/dist/libs/drawio/stencils/webicons.xml +++ /dev/null @@ -1,15274 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/drawio/stencils/weblogos.xml b/dist/libs/drawio/stencils/weblogos.xml deleted file mode 100644 index 10f57d95..00000000 --- a/dist/libs/drawio/stencils/weblogos.xml +++ /dev/null @@ -1,12167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/libs/mxgraph/javascript/dist/css/common.css b/dist/libs/mxgraph/javascript/dist/css/common.css deleted file mode 100644 index 0d08f928..00000000 --- a/dist/libs/mxgraph/javascript/dist/css/common.css +++ /dev/null @@ -1,171 +0,0 @@ -div.mxRubberband { - position: absolute; - overflow: hidden; - border-style: solid; - border-width: 1px; - border-color: #0000ff; - background: #0077ff; -} -.mxCellEditor { - background: url(data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7); - _background: url('../images/transparent.gif'); - border-color: transparent; - border-style: solid; - display: inline-block; - position: absolute; - overflow: visible; - word-wrap: normal; - border-width: 0; - min-width: 1px; - resize: none; - padding: 0px; - margin: 0px; -} -.mxPlainTextEditor * { - padding: 0px; - margin: 0px; -} -div.mxWindow { - -webkit-box-shadow: 3px 3px 12px #c0c0c0; - -moz-box-shadow: 3px 3px 12px #c0c0c0; - box-shadow: 3px 3px 12px #c0c0c0; - background: url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7); - _background: url('../images/window.gif'); - border: 1px solid #c3c3c3; - position: absolute; - overflow: hidden; - z-index: 1; -} -table.mxWindow { - border-collapse: collapse; - table-layout: fixed; - font-family: Arial; - font-size: 8pt; -} -td.mxWindowTitle { - background: url(data:image/gif;base64,R0lGODlhFwAXAMQAANfX18rKyuHh4c7OzsDAwMHBwc/Pz+Li4uTk5NHR0dvb2+jo6O/v79/f3/n5+dnZ2dbW1uPj44yMjNPT0+Dg4N3d3ebm5szMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAXABcAAAWQICESxWiW5Ck6bOu+MMvMdG3f86LvfO/rlqBwSCwaj8ikUohoOp/QaDNCrVqvWKpgezhsv+AwmEIum89ocmPNbrvf64p8Tq/b5Yq8fs/v5x+AgYKDhIAAh4iJiouHEI6PkJGSjhOVlpeYmZUJnJ2en6CcBqMDpaanqKgXq6ytrq+rAbKztLW2shK5uru8vbkhADs=) - repeat-x; - _background: url('../images/window-title.gif') repeat-x; - text-overflow: ellipsis; - white-space: nowrap; - text-align: center; - font-weight: bold; - overflow: hidden; - height: 13px; - padding: 2px; - padding-top: 4px; - padding-bottom: 6px; - color: black; -} -td.mxWindowPane { - vertical-align: top; - padding: 0px; -} -div.mxWindowPane { - overflow: hidden; - position: relative; -} -td.mxWindowPane td { - font-family: Arial; - font-size: 8pt; -} -td.mxWindowPane input, -td.mxWindowPane select, -td.mxWindowPane textarea, -td.mxWindowPane radio { - border-color: #8c8c8c; - border-style: solid; - border-width: 1px; - font-family: Arial; - font-size: 8pt; - padding: 1px; -} -td.mxWindowPane button { - background: url(data:image/gif;base64,R0lGODlhCgATALMAAP7+/t7e3vj4+Ojo6OXl5e/v7/n5+fb29vPz8/39/e3t7fHx8e7u7v///wAAAAAAACH5BAAAAAAALAAAAAAKABMAAAQ2MMlJhb0Y6c2X/2AhjiRjnqiirizqMkEsz0Rt30Ou7y8K/ouDcEg0GI9IgHLJbDif0Kh06owAADs=) - repeat-x; - _background: url('../images/button.gif') repeat-x; - font-family: Arial; - font-size: 8pt; - padding: 2px; - float: left; -} -img.mxToolbarItem { - margin-right: 6px; - margin-bottom: 6px; - border-width: 1px; -} -select.mxToolbarCombo { - vertical-align: top; - border-style: inset; - border-width: 2px; -} -div.mxToolbarComboContainer { - padding: 2px; -} -img.mxToolbarMode { - margin: 2px; - margin-right: 4px; - margin-bottom: 4px; - border-width: 0px; -} -img.mxToolbarModeSelected { - margin: 0px; - margin-right: 2px; - margin-bottom: 2px; - border-width: 2px; - border-style: inset; -} -div.mxTooltip { - -webkit-box-shadow: 3px 3px 12px #c0c0c0; - -moz-box-shadow: 3px 3px 12px #c0c0c0; - box-shadow: 3px 3px 12px #c0c0c0; - background: #ffffcc; - border-style: solid; - border-width: 1px; - border-color: black; - font-family: Arial; - font-size: 8pt; - position: absolute; - cursor: default; - padding: 4px; - color: black; -} -div.mxPopupMenu { - -webkit-box-shadow: 3px 3px 12px #c0c0c0; - -moz-box-shadow: 3px 3px 12px #c0c0c0; - box-shadow: 3px 3px 12px #c0c0c0; - background: url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7); - _background: url('../images/window.gif'); - position: absolute; - border-style: solid; - border-width: 1px; - border-color: black; -} -table.mxPopupMenu { - border-collapse: collapse; - margin-top: 1px; - margin-bottom: 1px; -} -tr.mxPopupMenuItem { - color: black; - cursor: pointer; -} -tr.mxPopupMenuItemHover { - background-color: #000066; - color: #ffffff; - cursor: pointer; -} -td.mxPopupMenuItem { - padding: 2px 30px 2px 10px; - white-space: nowrap; - font-family: Arial; - font-size: 8pt; -} -td.mxPopupMenuIcon { - background-color: #d0d0d0; - padding: 2px 4px 2px 4px; -} -.mxDisabled { - opacity: 0.2 !important; - cursor: default !important; -} diff --git a/dist/libs/mxgraph/javascript/dist/css/explorer.css b/dist/libs/mxgraph/javascript/dist/css/explorer.css deleted file mode 100644 index 929f0f18..00000000 --- a/dist/libs/mxgraph/javascript/dist/css/explorer.css +++ /dev/null @@ -1,18 +0,0 @@ -div.mxTooltip { - filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4, - Color='#A2A2A2', Positive='true'); -} -div.mxPopupMenu { - filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4, - Color='#C0C0C0', Positive='true'); -} -div.mxWindow { - _filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4, - Color='#C0C0C0', Positive='true'); -} -td.mxWindowTitle { - _height: 23px; -} -.mxDisabled { - filter: alpha(opacity=20) !important; -} diff --git a/dist/libs/mxgraph/javascript/dist/images/button.gif b/dist/libs/mxgraph/javascript/dist/images/button.gif deleted file mode 100644 index ad55cab610a0422be13288ace4cf717afaf613b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmZ?wbhEHbR|Gs_u z_T$Ho@7}%p|NlP&7%2W^0n<7l5@ZGgitAS1881_0U#MvDLd diff --git a/dist/libs/mxgraph/javascript/dist/images/close.gif b/dist/libs/mxgraph/javascript/dist/images/close.gif deleted file mode 100644 index 1069e94bb6b8555de51a4a47b835d9d151277f97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 zcmZ?wbhEHbi;Ln<76uT|0TCb>1}52_e)iM3A8yPJyt+jx#L{D5 UsmJ!p)D;WU9;@U9FfdpH0IG}?*Z=?k diff --git a/dist/libs/mxgraph/javascript/dist/images/collapsed.gif b/dist/libs/mxgraph/javascript/dist/images/collapsed.gif deleted file mode 100644 index 0276444a611969e0437c83d0149e1481f89c77e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 877 zcmZ?wbhEHbi zGH1?|IZKxwySMh(wYA6YZQZ(e>)vBq_ntd;?A)<)_l{k=ckbM|YxnM5yZ8Ja2t2>{ z{QdLi??K@E|M&m@e+Pp9qhK@y24e{5fN}sRFEDTfG01Wl1T0`+X5yCPU^p1i;w-?% z)9^!q$)ST^UO?l31=E2J0U0iV6&wmcJrX0N*f2C$8O)^6RqcJHyZ$F8kCc5mz6V|$OCI|c;j&K)~d(ZCy z!Sm<$-hT%Y&w=Fo|Ifewe-8rR-+%x9{{Md<@f`^M0|A%-F-E~?2n;|7=zwwnC@(N@ z1T)C8XgDl5*uco5q#}@b$fc`YjY~mbA`?rOsHTko%fzIkoFd95S{{rGQcm)+N=%SA p_{q7Qo0To+!GeWM?OX=p2@M8`hnhJBxLh+|z`(?y!vF*zvBsdFAP^f2m;_t;6;7|YD;HA~R`IxG Kc3B_;gEatC9}P_a diff --git a/dist/libs/mxgraph/javascript/dist/images/maximize.gif b/dist/libs/mxgraph/javascript/dist/images/maximize.gif deleted file mode 100644 index e27cf3e19f622e66991b11bf09f20bf15495ff78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 843 zcmZ?wbhEHbWV4q+~q qfC~=}wed3>_*4Wua_$n=589F;sC>LrTCyldLuj#62P-oZgEauQf)%F# diff --git a/dist/libs/mxgraph/javascript/dist/images/minimize.gif b/dist/libs/mxgraph/javascript/dist/images/minimize.gif deleted file mode 100644 index 1e95e7cae4027b7a102220aed8629fa2cf0c7bc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 zcmZ?wbhEHb1}5>Ae(}?}yobAUf;iu8nsR)) NM#79r0ZB0iYXA(c5v~9L diff --git a/dist/libs/mxgraph/javascript/dist/images/normalize.gif b/dist/libs/mxgraph/javascript/dist/images/normalize.gif deleted file mode 100644 index 34a8d302e7953ccd6e5af9a1f38866666c38ef43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmZ?wbhEHbWV4q+~r s2m^+OR(5H-5{bZvM><*L<8pRvSbVgDPcw|A^PP!E>{@(Bh{^STKLRWtPIuwJ9HO^ diff --git a/dist/libs/mxgraph/javascript/dist/images/separator.gif b/dist/libs/mxgraph/javascript/dist/images/separator.gif deleted file mode 100644 index 5c1b89566807692c4e28c65b4ee33b4f42f4c9ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZ?wbhEHbWMmLzIKseCRaxKC*ioEQQeIY5ThmgIT~twCTUXsum{pXQT~b}ul$Tjh zQCe41*)Vg)yvmBY`kGb-Qh?%57O-+15DBuAft5euf&=?PhJHf@r;RE-!b}X-00+?_ AJ^%m! diff --git a/dist/libs/mxgraph/javascript/dist/images/submenu.gif b/dist/libs/mxgraph/javascript/dist/images/submenu.gif deleted file mode 100644 index ffe76176db93a40bbfcb96e60789886f68de0e49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmZ?wbhEHb;jF-siv0egDVL!_|Id(Z?5>3=Gx)k9{Vl diff --git a/dist/libs/mxgraph/javascript/dist/images/warning copy.gif b/dist/libs/mxgraph/javascript/dist/images/warning copy.gif deleted file mode 100644 index 705235f95c6a58100385aa6b689d40dcf6803fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmZ?wbhEHb6krfwI3maZ1RNY3K|z+q#g^684As?|OP2~PU8=cuZP2-M4A-umyLXS_ z-aUcu-zC0(SN#56^Z$R47UF^8e{Mh5kYH!W09PYD17=2`PQ{-roJI_S3_2iFK+a%b z4NFkzOUdlwESkk}g-3g*!v(=^-M0rmUXo~Q%f0Hw!qjYeRy3=G!B)-7ShX(a P^}Yg~^Ch|ciVW5Oz=%=n diff --git a/dist/libs/mxgraph/javascript/dist/images/warning.gif b/dist/libs/mxgraph/javascript/dist/images/warning.gif deleted file mode 100644 index 705235f95c6a58100385aa6b689d40dcf6803fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmZ?wbhEHb6krfwI3maZ1RNY3K|z+q#g^684As?|OP2~PU8=cuZP2-M4A-umyLXS_ z-aUcu-zC0(SN#56^Z$R47UF^8e{Mh5kYH!W09PYD17=2`PQ{-roJI_S3_2iFK+a%b z4NFkzOUdlwESkk}g-3g*!v(=^-M0rmUXo~Q%f0Hw!qjYeRy3=G!B)-7ShX(a P^}Yg~^Ch|ciVW5Oz=%=n diff --git a/dist/libs/mxgraph/javascript/dist/images/warning.png b/dist/libs/mxgraph/javascript/dist/images/warning.png deleted file mode 100644 index 2f7878964ce8fcad001eaf06e3a60c751b781437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmUzPnffIy#(?lOI#yL zg7ec#$`gxH85~pclTsBta}(23gHjVyDhp4h+AuIMT6?-UhE&{2`t$$4J+mrhyQQQZvOZ9GPi((1usJ;i`U=(|6(827jAr7AH&ALBH+jT?k=-;RE&T@EHsr`XJ3l_ZRadVU3uuDXt!61fV zv#dyijEqbIPf~I*tB0ZkL*fpHz(U!uZVQWd%&`X>75M}lH1r(4S#RP_VC;IwH9^6F zVdH~MvBAMj2Tywoo|!gf55G!$LoB0-z)?m9MwW8MsuPD7@wWsfy9fhSGk{co-o5l` zX&b-%g~N}m1hNnP1S&IQo&8oJCUz|+FEitsbqs|JOdXu@Cmu5iggeY(6L9ePA+l{t zO!|+1f7vfI@mpL4dQ|y@WKT~IkN0%0Kl{txGEdCAkdl$Rm+u<4KmvpO^52Wr-Yf=% OHG`+CpUXO@geCy=#hxkv diff --git a/dist/libs/mxgraph/javascript/dist/images/window-title.gif b/dist/libs/mxgraph/javascript/dist/images/window-title.gif deleted file mode 100644 index 231def8bb5a44af3708c65e26d9d4196c00e8c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmZ?wbhEHb6lV};IKsei{rdG&r%pY5`0(7ha|aF_IC${j`Sa%=J$m%y$&-s0FW$a= z`^AeF@87?_fB*i^pFeNjym{@~wa1Si_w@8!zI^$?g9mr--hKA$*_ktE7;pf^pDbV* z9S{k!lYw=Df}+sTjA>6at#V%PGdO*wB=`R3Mel3gzn-?Bz(Yr>|HP7@jtr~$7cz{U z)<&(5Sd~z1k+c7S!3-z8+2=EglF#PtzW=(b#&7-Yr(JvM&cA;y-_Y39+|t0%-qG3B z-7e7AKVjmeKH;g;rq7r;m2=MAdGi;{VOz|+blLJ1E5ui?S-WoiYQ{~Qw`|?ENoeP; M-Fx=#RAjIQ0Glw5tpET3 diff --git a/dist/libs/mxgraph/javascript/dist/images/window.gif b/dist/libs/mxgraph/javascript/dist/images/window.gif deleted file mode 100644 index 6631c4f5f20e1090fbbbfce38c873e26f6259c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75 zcmZ?wbhEHblwuHJXkcJ?^XAQm4<8hNvM_*v4u}BBFfb|g^shX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dist/libs/sanitizer.min.js b/dist/libs/sanitizer.min.js deleted file mode 100644 index 0d8f9a3e..00000000 --- a/dist/libs/sanitizer.min.js +++ /dev/null @@ -1,92 +0,0 @@ -// NOTE: Modified to support data URIs for images, ie. data:image/* -// Modified to allow "word-break: break-word" in styles. It is done by adding "break-word" which is at index 55 of J array J[55] to "cssLitGroup" of "word-break" -(function(){var c=void 0,n=!0,s=null,C=!1,J=["aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,snow,springgreen,steelblue,tan,teal,thistle,tomato,transparent,turquoise,violet,wheat,white,whitesmoke,yellow,yellowgreen".split(","), -"all-scroll,col-resize,crosshair,default,e-resize,hand,help,move,n-resize,ne-resize,no-drop,not-allowed,nw-resize,pointer,progress,row-resize,s-resize,se-resize,sw-resize,text,vertical-text,w-resize,wait".split(","),"armenian,decimal,decimal-leading-zero,disc,georgian,lower-alpha,lower-greek,lower-latin,lower-roman,square,upper-alpha,upper-latin,upper-roman".split(","),"100,200,300,400,500,600,700,800,900,bold,bolder,lighter".split(","),"block-level,inline-level,table-caption,table-cell,table-column,table-column-group,table-footer-group,table-header-group,table-row,table-row-group".split(","), -"condensed,expanded,extra-condensed,extra-expanded,narrower,semi-condensed,semi-expanded,ultra-condensed,ultra-expanded,wider".split(","),"inherit,inline,inline-block,inline-box,inline-flex,inline-grid,inline-list-item,inline-stack,inline-table,run-in".split(","),"behind,center-left,center-right,far-left,far-right,left-side,leftwards,right-side,rightwards".split(","),"large,larger,small,smaller,x-large,x-small,xx-large,xx-small".split(","),"dashed,dotted,double,groove,outset,ridge,solid".split(","), -"ease,ease-in,ease-in-out,ease-out,linear,step-end,step-start".split(","),"at,closest-corner,closest-side,ellipse,farthest-corner,farthest-side".split(","),"baseline,middle,sub,super,text-bottom,text-top".split(","),"caption,icon,menu,message-box,small-caption,status-bar".split(","),"fast,faster,slow,slower,x-fast,x-slow".split(","),["above","below","higher","level","lower"],["cursive","fantasy","monospace","sans-serif","serif"],["loud","silent","soft","x-loud","x-soft"],["no-repeat","repeat-x","repeat-y", -"round","space"],["blink","line-through","overline","underline"],["block","flex","grid","table"],["high","low","x-high","x-low"],["nowrap","pre","pre-line","pre-wrap"],["absolute","relative","static"],["alternate","alternate-reverse","reverse"],["border-box","content-box","padding-box"],["capitalize","lowercase","uppercase"],["child","female","male"],["=","opacity"],["backwards","forwards"],["bidi-override","embed"],["bottom","top"],["break-all","keep-all"],["clip","ellipsis"],["contain","cover"], -["continuous","digits"],["end","start"],["flat","preserve-3d"],["hide","show"],["horizontal","vertical"],["inside","outside"],["italic","oblique"],["left","right"],["ltr","rtl"],["no-content","no-display"],["paused","running"],["suppress","unrestricted"],["thick","thin"],[","],["/"],["all"],["always"],["auto"],["avoid"],["both"],["break-word"],["center"],["circle"],["code"],["collapse"],["contents"],["fixed"],["hidden"],["infinite"],["inset"],["invert"],["justify"],["list-item"],["local"],["medium"], -["mix"],["none"],["normal"],["once"],["repeat"],["scroll"],["separate"],["small-caps"],["spell-out"],["to"],["visible"]],L={animation:{cssPropBits:517,cssLitGroup:[J[10],J[24],J[29],J[45],J[48],J[54],J[63],J[71],J[72]],cssFns:["cubic-bezier()","steps()"]},"animation-delay":{cssPropBits:5,cssLitGroup:[J[48]],cssFns:[]},"animation-direction":{cssPropBits:0,cssLitGroup:[J[24],J[48],J[72]],cssFns:[]},"animation-duration":"animation-delay","animation-fill-mode":{cssPropBits:0,cssLitGroup:[J[29],J[48], -J[54],J[71]],cssFns:[]},"animation-iteration-count":{cssPropBits:5,cssLitGroup:[J[48],J[63]],cssFns:[]},"animation-name":{cssPropBits:512,cssLitGroup:[J[48],J[71]],cssFns:[]},"animation-play-state":{cssPropBits:0,cssLitGroup:[J[45],J[48]],cssFns:[]},"animation-timing-function":{cssPropBits:0,cssLitGroup:[J[10],J[48]],cssFns:["cubic-bezier()","steps()"]},appearance:{cssPropBits:0,cssLitGroup:[J[71]],cssFns:[]},azimuth:{cssPropBits:5,cssLitGroup:[J[7],J[42],J[56]],cssFns:[]},"backface-visibility":{cssPropBits:0, -cssLitGroup:[J[59],J[62],J[80]],cssFns:[]},background:{cssPropBits:23,cssLitGroup:[J[0],J[18],J[25],J[31],J[34],J[42],J[48],J[49],J[52],J[56],J[61],J[68],J[71],J[74],J[75]],cssFns:"image(),linear-gradient(),radial-gradient(),repeating-linear-gradient(),repeating-radial-gradient(),rgb(),rgba()".split(",")},"background-attachment":{cssPropBits:0,cssLitGroup:[J[48],J[61],J[68],J[75]],cssFns:[]},"background-color":{cssPropBits:2,cssLitGroup:[J[0]],cssFns:["rgb()","rgba()"]},"background-image":{cssPropBits:16, -cssLitGroup:[J[48],J[71]],cssFns:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"background-position":{cssPropBits:5,cssLitGroup:[J[31],J[42],J[48],J[56]],cssFns:[]},"background-repeat":{cssPropBits:0,cssLitGroup:[J[18],J[48],J[74]],cssFns:[]},"background-size":{cssPropBits:5,cssLitGroup:[J[34],J[48],J[52]],cssFns:[]},border:{cssPropBits:7,cssLitGroup:[J[0],J[9],J[47],J[62],J[64],J[69],J[71]],cssFns:["rgb()","rgba()"]},"border-bottom":"border", -"border-bottom-color":"background-color","border-bottom-left-radius":{cssPropBits:5,cssFns:[]},"border-bottom-right-radius":"border-bottom-left-radius","border-bottom-style":{cssPropBits:0,cssLitGroup:[J[9],J[62],J[64],J[71]],cssFns:[]},"border-bottom-width":{cssPropBits:5,cssLitGroup:[J[47],J[69]],cssFns:[]},"border-collapse":{cssPropBits:0,cssLitGroup:[J[59],J[76]],cssFns:[]},"border-color":"background-color","border-left":"border","border-left-color":"background-color","border-left-style":"border-bottom-style", -"border-left-width":"border-bottom-width","border-radius":{cssPropBits:5,cssLitGroup:[J[49]],cssFns:[]},"border-right":"border","border-right-color":"background-color","border-right-style":"border-bottom-style","border-right-width":"border-bottom-width","border-spacing":"border-bottom-left-radius","border-style":"border-bottom-style","border-top":"border","border-top-color":"background-color","border-top-left-radius":"border-bottom-left-radius","border-top-right-radius":"border-bottom-left-radius", -"border-top-style":"border-bottom-style","border-top-width":"border-bottom-width","border-width":"border-bottom-width",bottom:{cssPropBits:5,cssLitGroup:[J[52]],cssFns:[]},box:{cssPropBits:0,cssLitGroup:[J[60],J[71],J[72]],cssFns:[]},"box-shadow":{cssPropBits:7,cssLitGroup:[J[0],J[48],J[64],J[71]],cssFns:["rgb()","rgba()"]},"box-sizing":{cssPropBits:0,cssLitGroup:[J[25]],cssFns:[]},"caption-side":{cssPropBits:0,cssLitGroup:[J[31]],cssFns:[]},clear:{cssPropBits:0,cssLitGroup:[J[42],J[54],J[71]],cssFns:[]}, -clip:{cssPropBits:0,cssLitGroup:[J[52]],cssFns:["rect()"]},color:"background-color",content:{cssPropBits:8,cssLitGroup:[J[71],J[72]],cssFns:[]},cue:{cssPropBits:16,cssLitGroup:[J[71]],cssFns:[]},"cue-after":"cue","cue-before":"cue",cursor:{cssPropBits:16,cssLitGroup:[J[1],J[48],J[52]],cssFns:[]},direction:{cssPropBits:0,cssLitGroup:[J[43]],cssFns:[]},display:{cssPropBits:0,cssLitGroup:[J[4],J[6],J[20],J[52],J[67],J[71]],cssFns:[]},"display-extras":{cssPropBits:0,cssLitGroup:[J[67],J[71]],cssFns:[]}, -"display-inside":{cssPropBits:0,cssLitGroup:[J[20],J[52]],cssFns:[]},"display-outside":{cssPropBits:0,cssLitGroup:[J[4],J[71]],cssFns:[]},elevation:{cssPropBits:5,cssLitGroup:[J[15]],cssFns:[]},"empty-cells":{cssPropBits:0,cssLitGroup:[J[38]],cssFns:[]},filter:{cssPropBits:0,cssFns:["alpha()"]},"float":{cssPropBits:0,cssLitGroup:[J[42],J[71]],cssFns:[]},font:{cssPropBits:73,cssLitGroup:[J[3],J[8],J[13],J[16],J[41],J[48],J[49],J[69],J[72],J[77]],cssFns:[]},"font-family":{cssPropBits:72,cssLitGroup:[J[16], -J[48]],cssFns:[]},"font-size":{cssPropBits:1,cssLitGroup:[J[8],J[69]],cssFns:[]},"font-stretch":{cssPropBits:0,cssLitGroup:[J[5],J[72]],cssFns:[]},"font-style":{cssPropBits:0,cssLitGroup:[J[41],J[72]],cssFns:[]},"font-variant":{cssPropBits:0,cssLitGroup:[J[72],J[77]],cssFns:[]},"font-weight":{cssPropBits:0,cssLitGroup:[J[3],J[72]],cssFns:[]},height:"bottom",left:"bottom","letter-spacing":{cssPropBits:5,cssLitGroup:[J[72]],cssFns:[]},"line-height":{cssPropBits:1,cssLitGroup:[J[72]],cssFns:[]},"list-style":{cssPropBits:16, -cssLitGroup:[J[2],J[40],J[57],J[71]],cssFns:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"list-style-image":{cssPropBits:16,cssLitGroup:[J[71]],cssFns:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"list-style-position":{cssPropBits:0,cssLitGroup:[J[40]],cssFns:[]},"list-style-type":{cssPropBits:0,cssLitGroup:[J[2],J[57],J[71]],cssFns:[]},margin:"bottom","margin-bottom":"bottom", -"margin-left":"bottom","margin-right":"bottom","margin-top":"bottom","max-height":{cssPropBits:1,cssLitGroup:[J[52],J[71]],cssFns:[]},"max-width":"max-height","min-height":{cssPropBits:1,cssLitGroup:[J[52]],cssFns:[]},"min-width":"min-height",opacity:{cssPropBits:1,cssFns:[]},outline:{cssPropBits:7,cssLitGroup:[J[0],J[9],J[47],J[62],J[64],J[65],J[69],J[71]],cssFns:["rgb()","rgba()"]},"outline-color":{cssPropBits:2,cssLitGroup:[J[0],J[65]],cssFns:["rgb()","rgba()"]},"outline-style":"border-bottom-style", -"outline-width":"border-bottom-width",overflow:{cssPropBits:0,cssLitGroup:[J[52],J[62],J[75],J[80]],cssFns:[]},"overflow-wrap":{cssPropBits:0,cssLitGroup:[J[55],J[72]],cssFns:[]},"overflow-x":{cssPropBits:0,cssLitGroup:[J[44],J[52],J[62],J[75],J[80]],cssFns:[]},"overflow-y":"overflow-x",padding:"opacity","padding-bottom":"opacity","padding-left":"opacity","padding-right":"opacity","padding-top":"opacity","page-break-after":{cssPropBits:0,cssLitGroup:[J[42],J[51],J[52],J[53]],cssFns:[]},"page-break-before":"page-break-after", -"page-break-inside":{cssPropBits:0,cssLitGroup:[J[52],J[53]],cssFns:[]},pause:"border-bottom-left-radius","pause-after":"border-bottom-left-radius","pause-before":"border-bottom-left-radius",perspective:{cssPropBits:5,cssLitGroup:[J[71]],cssFns:[]},"perspective-origin":{cssPropBits:5,cssLitGroup:[J[31],J[42],J[56]],cssFns:[]},pitch:{cssPropBits:5,cssLitGroup:[J[21],J[69]],cssFns:[]},"pitch-range":"border-bottom-left-radius","play-during":{cssPropBits:16,cssLitGroup:[J[52],J[70],J[71],J[74]],cssFns:[]}, -position:{cssPropBits:0,cssLitGroup:[J[23]],cssFns:[]},quotes:{cssPropBits:8,cssLitGroup:[J[71]],cssFns:[]},resize:{cssPropBits:0,cssLitGroup:[J[39],J[54],J[71]],cssFns:[]},richness:"border-bottom-left-radius",right:"bottom",speak:{cssPropBits:0,cssLitGroup:[J[71],J[72],J[78]],cssFns:[]},"speak-header":{cssPropBits:0,cssLitGroup:[J[51],J[73]],cssFns:[]},"speak-numeral":{cssPropBits:0,cssLitGroup:[J[35]],cssFns:[]},"speak-punctuation":{cssPropBits:0,cssLitGroup:[J[58],J[71]],cssFns:[]},"speech-rate":{cssPropBits:5, -cssLitGroup:[J[14],J[69]],cssFns:[]},stress:"border-bottom-left-radius","table-layout":{cssPropBits:0,cssLitGroup:[J[52],J[61]],cssFns:[]},"text-align":{cssPropBits:0,cssLitGroup:[J[42],J[56],J[66]],cssFns:[]},"text-decoration":{cssPropBits:0,cssLitGroup:[J[19],J[71]],cssFns:[]},"text-indent":"border-bottom-left-radius","text-overflow":{cssPropBits:8,cssLitGroup:[J[33]],cssFns:[]},"text-shadow":"box-shadow","text-transform":{cssPropBits:0,cssLitGroup:[J[26],J[71]],cssFns:[]},"text-wrap":{cssPropBits:0, -cssLitGroup:[J[46],J[71],J[72]],cssFns:[]},top:"bottom",transform:{cssPropBits:0,cssLitGroup:[J[71]],cssFns:"matrix(),perspective(),rotate(),rotate3d(),rotatex(),rotatey(),rotatez(),scale(),scale3d(),scalex(),scaley(),scalez(),skew(),skewx(),skewy(),translate(),translate3d(),translatex(),translatey(),translatez()".split(",")},"transform-origin":"perspective-origin","transform-style":{cssPropBits:0,cssLitGroup:[J[37]],cssFns:[]},transition:{cssPropBits:1029,cssLitGroup:[J[10],J[48],J[50],J[71]],cssFns:["cubic-bezier()", -"steps()"]},"transition-delay":"animation-delay","transition-duration":"animation-delay","transition-property":{cssPropBits:1024,cssLitGroup:[J[48],J[50]],cssFns:[]},"transition-timing-function":"animation-timing-function","unicode-bidi":{cssPropBits:0,cssLitGroup:[J[30],J[72]],cssFns:[]},"vertical-align":{cssPropBits:5,cssLitGroup:[J[12],J[31]],cssFns:[]},visibility:"backface-visibility","voice-family":{cssPropBits:8,cssLitGroup:[J[27],J[48]],cssFns:[]},volume:{cssPropBits:1,cssLitGroup:[J[17],J[69]], -cssFns:[]},"white-space":{cssPropBits:0,cssLitGroup:[J[22],J[72]],cssFns:[]},width:"min-height","word-break":{cssPropBits:0,cssLitGroup:[J[32],J[72],J[55]],cssFns:[]},"word-spacing":"letter-spacing","word-wrap":"overflow-wrap","z-index":"bottom",zoom:"line-height","cubic-bezier()":"animation-delay","steps()":{cssPropBits:5,cssLitGroup:[J[36],J[48]],cssFns:[]},"image()":{cssPropBits:18,cssLitGroup:[J[0],J[48]],cssFns:["rgb()","rgba()"]},"linear-gradient()":{cssPropBits:7,cssLitGroup:[J[0],J[31],J[42],J[48], -J[79]],cssFns:["rgb()","rgba()"]},"radial-gradient()":{cssPropBits:7,cssLitGroup:[J[0],J[11],J[31],J[42],J[48],J[56],J[57]],cssFns:["rgb()","rgba()"]},"repeating-linear-gradient()":"linear-gradient()","repeating-radial-gradient()":"radial-gradient()","rgb()":{cssPropBits:1,cssLitGroup:[J[48]],cssFns:[]},"rgba()":"rgb()","rect()":{cssPropBits:5,cssLitGroup:[J[48],J[52]],cssFns:[]},"alpha()":{cssPropBits:1,cssLitGroup:[J[28]],cssFns:[]},"matrix()":"animation-delay","perspective()":"border-bottom-left-radius", -"rotate()":"border-bottom-left-radius","rotate3d()":"animation-delay","rotatex()":"border-bottom-left-radius","rotatey()":"border-bottom-left-radius","rotatez()":"border-bottom-left-radius","scale()":"animation-delay","scale3d()":"animation-delay","scalex()":"border-bottom-left-radius","scaley()":"border-bottom-left-radius","scalez()":"border-bottom-left-radius","skew()":"animation-delay","skewx()":"border-bottom-left-radius","skewy()":"border-bottom-left-radius","translate()":"animation-delay","translate3d()":"animation-delay", -"translatex()":"border-bottom-left-radius","translatey()":"border-bottom-left-radius","translatez()":"border-bottom-left-radius"},O;for(O in L)"string"===typeof L[O]&&Object.hasOwnProperty.call(L,O)&&(L[O]=L[L[O]]);"undefined"!==typeof window&&(window.cssSchema=L);var U,X; -(function(){function g(a){var f=parseInt(a.substring(1),16);return 65535>10),56320+(f&1023))):f==f?String.fromCharCode(f):" ">a[1]?"":a[1]}function w(a,f){return'"'+a.replace(/[\u0000-\u001f\\\"<>]/g,f)+'"'}function M(a){return E[a]||(E[a]="\\"+a.charCodeAt(0).toString(16)+" ")}function x(a){return e[a]||(e[a]=("\u0010">a?"%0":"%")+a.charCodeAt(0).toString(16))}var E={"\\":"\\\\"},e={"\\":"%5c"},v=RegExp("\\uFEFF|U[+][0-9A-F?]{1,6}(?:-[0-9A-F]{1,6})?|url[(][\\t\\n\\f ]*(?:\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|(?:[\\t\\x21\\x23-\\x26\\x28-\\x5b\\x5d-\\x7e]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)[\\t\\n\\f ]*[)]|(?!url[(])-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*[(]|(?:@?-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))|#)(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*|\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|[-+]?(?:[0-9]+(?:[.][0-9]+)?|[.][0-9]+)(?:%|-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)?|<\!--|--\>|[\\t\\n\\f ]+|/(?:[*][^*]*[*]+(?:[^/][^*]*[*]+)*/|/[^\\n\\f]*)|[~|^$*]=|[^\"'\\\\/]|/(?![/*])","gi"), -b=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),a=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");X=function(a){return a.replace(b,g)};U=function(b){for(var b=(""+b).replace(/\r\n?/g,"\n").match(v)||[],f=0,h=" ",d=0,y=b.length;d"==l||"<\!--"==l||"\ufeff"==l||32>=g?" ": -/url\(/i.test(l)?"url("+w(l.replace(a,""),x)+")":l;if(h!=l||" "!=l)b[f++]=h=l}b.length=f;return b}})();"undefined"!==typeof window&&(window.lexCss=U,window.decodeCss=X);var Y=function(){function g(d){d=(""+d).match(k);return!d?s:new e(v(d[1]),v(d[2]),v(d[3]),v(d[4]),v(d[5]),v(d[6]),v(d[7]))}function w(d,a){return"string"==typeof d?encodeURI(d).replace(a,M):s}function M(d){d=d.charCodeAt(0);return"%"+"0123456789ABCDEF".charAt(d>>4&15)+"0123456789ABCDEF".charAt(d&15)}function x(d){if(d===s)return s;for(var d=d.replace(/(^|\/)\.(?:\/|$)/g,"$1").replace(/\/{2,}/g,"/"),a=b,h;(h=d.replace(a,"$1"))!=d;d=h);return d}function E(d,h){var b=d.T(),f=h.K();f?b.ga(h.j):f=h.X(); -f?b.da(h.n):f=h.Y();f?b.ea(h.k):f=h.$();var g=h.g,k=x(g);if(f)b.ca(h.V()),k=k&&k.replace(a,"");else if(f=!!g){if(47!==k.charCodeAt(0))var k=x(b.g||"").replace(a,""),e=k.lastIndexOf("/")+1,k=x((e?k.substring(0,e):"")+x(g)).replace(a,"")}else k=k&&k.replace(a,""),k!==g&&b.G(k);f?b.G(k):f=h.aa();f?b.O(h.l):f=h.Z();f&&b.fa(h.o);return b}function e(d,a,h,f,b,g,k){this.j=d;this.n=a;this.k=h;this.h=f;this.g=b;this.l=g;this.o=k}function v(d){return"string"==typeof d&&0]/g,v={"\n":"%0a","\u000c":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a","<":"%3c",">":"%3e"}, -b=/^(?:([^:/?# ]+):)?/,a=/^(?:https?|mailto|data)$/i;aa=function(){var a={};return function y(f,b,k,e,N){var f=E(f),u=L[f];if(!u||"object"!==typeof u)b.length=0;else{for(var i=u.cssPropBits,q=i&80,B=i&1536,F=NaN,r=0,o=0;r=I)j=i&1?j:"";else if(R=j.charCodeAt(1),v=j.charCodeAt(2),P=48<=R&&57>=R,S=48<=v&&57>=v,43===I&&(P||46===R&&S))j=i&1?(P?"":"0")+j.substring(1):"";else if(45===I&&(P||46===R&&S))j=i&4?(P?"-":"-0")+j.substring(1):i&1?"0":"";else if(46===I&&P)j=i&1?"0"+j:"";else if('url("'===j.substring(0,5))j=k&&i&16?g(x(M(e,b[r].substring(5,j.length-2)),f,k)): -"";else if("("===j.charAt(j.length-1))a:{D=b;G=r;j=1;K=G+1;for(I=D.length;K"]= -f["+"]=f["~"]=f;ba=function(a,d,b){function g(i,r){function o(b,f,g){var y,e,i,l,o,m=n;y="";if(bh&&" "===b[e-1]&&--e;f.startAtrule&&f.startAtrule(b[d].toLowerCase(),b.slice(h,e));a="{"===b[a]?w(b,a,g,f):a+1;f.endAtrule&&f.endAtrule()}return a}function w(b,a,k,f){++a;for(f.startBlock&&f.startBlock();ad)return d=~d,d===h?d+1:d;var y=b[d];if("{"!==y)return d===h?d+1:d;a=d+1;d>h&&" "===b[d-1]&&--d;for(f.startRuleset&&f.startRuleset(b.slice(h,d));ad)d=~d;else{for(var e=[],l=0,w=a;w])/g;f=b+"";if(G)f=f.split(H);else{for(var e=[],h=0,j;(j=H.exec(f))!==s;)e.push(f.substring(h,j.index)),e.push(j[0]),h=j.index+j[0].length;e.push(f.substring(h));f=e}a(d,f,0,{r:C,C:C},g)}}function b(b,d,g,f,t){return function(){a(b,d,g,f,t)}}function a(a,d,p,e,t){try{a.H&&0==p&&a.H(t);for(var h, -z,j,i=d.length;p"===d[p+1])p+=2,j=h[1].toLowerCase(),a.t&&a.t(j,t,A,b(a,d,p,e,t));else{var m=d,q=p,r=a,u=t,v=A,y=e,w=f(m,q);w?(r.t&&r.t(w.name,u,v,b(r,m,q,y,u)),p=w.next):p=m.length}else a.e&&a.e("</",t,A,b(a,d,p,e,t));break;case "<":if(h=/^([-\w:]+)\s*\/?/.exec(l))if(h[0].length===l.length&& -">"===d[p+1]){p+=2;j=h[1].toLowerCase();a.w&&a.w(j,[],t,A,b(a,d,p,e,t));var B=g.f[j];B&K&&(p=k(d,{name:j,next:p,c:B},a,t,A,e))}else{var m=d,q=a,r=t,u=A,v=e,x=f(m,p);x?(q.w&&q.w(x.name,x.R,r,u,b(q,m,x.next,v,r)),p=x.c&K?k(m,x,q,r,u,v):x.next):p=m.length}else a.e&&a.e("<",t,A,b(a,d,p,e,t));break;case "<\!--":if(!e.C){for(z=p+1;z"===d[z]&&/--$/.test(d[z-1]));z++);if(z"!==d[z];z++);z"!==d[z];z++);z":a.e&&a.e(">",t,A,b(a,d,p,e,t));break;case "":break;default:a.e&&a.e(o,t,A,b(a,d,p,e,t))}}a.B&&a.B(t)}catch(E){if(E!==A)throw E;}}function k(a,d,f,h,t,j){var z=a.length;T.hasOwnProperty(d.name)|| -(T[d.name]=RegExp("^"+d.name+"(?:[\\s\\/]|$)","i"));for(var i=T[d.name],k=d.next,l=d.next+1;l"!==a[h];h++)e+=a[h];if(!(j<=h)){for(var l=[];""!== -e;)if(d=ja.exec(e))if(d[4]&&!d[5]||d[6]&&!d[7]){for(var d=d[4]||d[6],i=C,e=[e,a[h++]];h"===a[h])break}else 0<=a[h].indexOf(d)&&(i=n);e.push(a[h])}if(j<=h)break;e=e.join("")}else{var i=d[1].toLowerCase(),k;if(d[2]){k=d[3];var m=k.charCodeAt(0);if(34===m||39===m)k=k.substr(1,k.length-2);k=x(k.replace(o,""))}else k="";l.push(i,k);e=e.substr(d[0].length)}else e=e.replace(/^[\s\S][^a-z\s]*/,"");f.R=l;f.next=h+1;return f}}function h(a){function b(a,d){f||d.push(a)}var d,f;return v({startDoc:function(){d= -[];f=C},startTag:function(b,e,h){if(!f&&g.f.hasOwnProperty(b)){var j=g.f[b];if(!(j&g.c.FOLDABLE)){var k=a(b,e);if(k){if("object"!==typeof k)throw Error("tagPolicy did not return object (old API?)");if("attribs"in k)e=k.attribs;else throw Error("tagPolicy gave no attribs");var i;"tagName"in k?(i=k.tagName,k=g.f[i]):(i=b,k=j);if(j&g.c.OPTIONAL_ENDTAG){var l=d[d.length-1];l&&l.D===b&&(l.v!==i||b!==i)&&h.push("")}j&g.c.EMPTY||d.push({D:b,v:i});h.push("<",i);b=0;for(l=e.length;b");j&g.c.EMPTY&&!(k&g.c.EMPTY)&&h.push("")}else f=!(j&g.c.EMPTY)}}},endTag:function(a,b){if(f)f=C;else if(g.f.hasOwnProperty(a)){var e=g.f[a];if(!(e&(g.c.EMPTY|g.c.FOLDABLE))){if(e&g.c.OPTIONAL_ENDTAG)for(e=d.length;0<=--e;){var h=d[e].D;if(h===a)break;if(!(g.f[h]&g.c.OPTIONAL_ENDTAG))return}else for(e=d.length;0<=--e&&d[e].D!==a;);if(!(0>e)){for(h=d.length;--h>e;){var j=d[h].v;g.f[j]&g.c.OPTIONAL_ENDTAG||b.push("")}e< -d.length&&(a=d[e].v);d.length=e;b.push("")}}}},pcdata:b,rcdata:b,cdata:b,endDoc:function(a){for(;d.length;d.length--)a.push("")}})}function d(a,b,d,f,e){if(!e)return s;try{var g=Y.parse(""+a);if(g&&(!g.K()||ka.test(g.W()))){var h=e(g,b,d,f);return h?h.toString():s}}catch(j){}return s}function y(a,b,d,f,e){d||a(b+" removed",{S:"removed",tagName:b});if(f!==e){var g="changed";f&&!e?g="removed":!f&&e&&(g="added");a(b+"."+d+" "+g,{S:g,tagName:b,la:d,oldValue:f,newValue:e})}} -function l(a,b,d){b=b+"::"+d;if(a.hasOwnProperty(b))return a[b];b="*::"+d;if(a.hasOwnProperty(b))return a[b]}function V(a,b,f,e,h){for(var j=0;j",GT:">",amp:"&",AMP:"&",quot:'"',apos:"'",nbsp:"\u00a0"},q=/^#(\d+)$/,B=/^#x([0-9A-Fa-f]+)$/,F=/^[A-Za-z][A-za-z0-9]+$/,r="undefined"!==typeof window&& -window.document?window.document.createElement("textarea"):s,o=/\0/g,j=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,I=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,R=/&/g,ia=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,P=/[<]/g,S=/>/g,D=/\"/g,ja=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,G=3==="a,b".split(/(,)/).length,K=g.c.CDATA|g.c.RCDATA,A={},T={},ka=/^(?:https?|mailto|data)$/i,m={};m.pa=m.escapeAttrib=E;m.ra=m.makeHtmlSanitizer=h;m.sa=m.makeSaxParser=v;m.ta=m.makeTagPolicy= -ea;m.wa=m.normalizeRCData=e;m.xa=m.sanitize=function(a,b,d,e){return Q(a,ea(b,d,e))};m.ya=m.sanitizeAttribs=V;m.za=m.sanitizeWithPolicy=Q;m.Ba=m.unescapeEntities=x;return m}($),la=ha.sanitize;"undefined"!==typeof window&&(window.html=ha,window.html_sanitize=la);})(); \ No newline at end of file diff --git a/dist/libs/shapes.min.js b/dist/libs/shapes.min.js deleted file mode 100644 index ced68ab7..00000000 --- a/dist/libs/shapes.min.js +++ /dev/null @@ -1,2758 +0,0 @@ -function mxBpmnShape(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxBpmnShape,mxShape); -mxBpmnShape.prototype.customProperties=[{name:"symbol",dispName:"Event",type:"enum",defVal:"general",enumList:[{val:"general",dispName:"General"},{val:"message",dispName:"Message"},{val:"timer",dispName:"Timer"},{val:"escalation",dispName:"Escalation"},{val:"conditional",dispName:"Conditional"},{val:"link",dispName:"Link"},{val:"error",dispName:"Error"},{val:"cancel",dispName:"Cancel"},{val:"compensation",dispName:"Compensation"},{val:"signal",dispName:"Signal"},{val:"multiple",dispName:"Multiple"}, -{val:"parallelMultiple",dispName:"Parallel Multiple"},{val:"terminate",dispName:"Terminate"},{val:"exclusiveGw",dispName:"Exclusive Gw"},{val:"parallelGw",dispName:"Parallel Gw"},{val:"complexGw",dispName:"Complex Gw"}]},{name:"outline",dispName:"Event Type",type:"enum",defVal:"standard",enumList:[{val:"standard",dispName:"Standard"},{val:"eventInt",dispName:"Interrupting"},{val:"eventNonint",dispName:"Non-Interrupting"},{val:"catching",dispName:"Catching"},{val:"boundInt",dispName:"Bound Interrupting"}, -{val:"boundNonint",dispName:"Bound Non-Interrupting"},{val:"throwing",dispName:"Throwing"},{val:"end",dispName:"End"},{val:"none",dispName:"None"}]},{name:"background",dispName:"Background",type:"enum",defVal:"none",enumList:[{val:"gateway",dispName:"Gateway"},{val:"none",dispName:"None"}]}]; -mxBpmnShape.prototype.eventTypeEnum={START_STANDARD:"standard",EVENT_SP_INT:"eventInt",EVENT_SP_NONINT:"eventNonint",CATCHING:"catching",BOUND_INT:"boundInt",BOUND_NONINT:"boundNonint",THROWING:"throwing",END:"end",NONE:"none",GATEWAY:"gateway"}; -mxBpmnShape.prototype.eventEnum={GENERAL:"general",MESSAGE:"message",TIMER:"timer",ESCALATION:"escalation",CONDITIONAL:"conditional",LINK:"link",ERROR:"error",CANCEL:"cancel",COMPENSATION:"compensation",SIGNAL:"signal",MULTIPLE:"multiple",PAR_MULTI:"parallelMultiple",TERMINATE:"terminate",GW_EXCLUSIVE:"exclusiveGw",GW_PARALLEL:"parallelGw",GW_COMPLEX:"complexGw"};mxBpmnShape.prototype.miscEnum={OUTLINE:"outline",BACKGROUND:"background",SYMBOL:"symbol",GATEWAY:"gateway"}; -mxBpmnShape.prototype.paintVertexShape=function(a,d,e,b,c){this.redrawPath(a,d,e,b,c,mxBpmnShape.prototype.miscEnum.BACKGROUND);mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.BACKGROUND,mxBpmnShape.prototype.eventTypeEnum.NONE)===mxBpmnShape.prototype.eventTypeEnum.GATEWAY&&a.setShadow(!1);this.redrawPath(a,d,e,b,c,mxBpmnShape.prototype.miscEnum.OUTLINE);this.redrawPath(a,d,e,b,c,mxBpmnShape.prototype.miscEnum.SYMBOL)}; -mxBpmnShape.prototype.redrawPath=function(a,d,e,b,c,f){var g=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.BACKGROUND,mxBpmnShape.prototype.eventTypeEnum.NONE);if(f==mxBpmnShape.prototype.miscEnum.BACKGROUND){if(null!=g){var h=this.backgrounds[g];null!=h&&(a.translate(d,e),h.call(this,a,d,e,b,c,f))}}else if(f==mxBpmnShape.prototype.miscEnum.OUTLINE){g===mxBpmnShape.prototype.eventTypeEnum.GATEWAY?(a.translate(b/4,c/4),c/=2,b/=2,this.constraints=[new mxConnectionConstraint(new mxPoint(.5, -0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.75),!1),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.75,.75),!1)]):this.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0, -.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.145,.145),!1),new mxConnectionConstraint(new mxPoint(.145,.855),!1),new mxConnectionConstraint(new mxPoint(.855,.145),!1),new mxConnectionConstraint(new mxPoint(.855,.855),!1)];var k=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.OUTLINE,mxBpmnShape.prototype.eventTypeEnum.NONE);null!=k&&(h=this.outlines[k],null!=h&&h.call(this,a,d,e,b,c,g===mxBpmnShape.prototype.eventTypeEnum.GATEWAY))}else if(f== -mxBpmnShape.prototype.miscEnum.SYMBOL&&(g===mxBpmnShape.prototype.eventTypeEnum.GATEWAY&&(c/=2,b/=2),g=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.SYMBOL,null),null!=g&&(h=this.symbols[g],null!=h))){var l=a.state.strokeColor,m=a.state.fillColor,k=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.OUTLINE,mxBpmnShape.prototype.eventTypeEnum.NONE);g===mxBpmnShape.prototype.eventEnum.MESSAGE?(a.translate(.15*b,.3*c),b*=.7,c*=.4):g===mxBpmnShape.prototype.eventEnum.TIMER?(a.translate(.11* -b,.11*c),b*=.78,c*=.78):g===mxBpmnShape.prototype.eventEnum.ESCALATION?(a.translate(.19*b,.15*c),b*=.62,c*=.57):g===mxBpmnShape.prototype.eventEnum.CONDITIONAL?(a.translate(.3*b,.16*c),b*=.4,c*=.68):g===mxBpmnShape.prototype.eventEnum.LINK?(a.translate(.27*b,.33*c),b*=.46,c*=.34):g===mxBpmnShape.prototype.eventEnum.ERROR?(a.translate(.212*b,.243*c),b*=.58,c*=.507):g===mxBpmnShape.prototype.eventEnum.CANCEL?(a.translate(.22*b,.22*c),b*=.56,c*=.56):g===mxBpmnShape.prototype.eventEnum.COMPENSATION?(a.translate(.28* -b,.35*c),b*=.44,c*=.3):g===mxBpmnShape.prototype.eventEnum.SIGNAL?(a.translate(.19*b,.15*c),b*=.62,c*=.57):g===mxBpmnShape.prototype.eventEnum.MULTIPLE?(a.translate(.2*b,.19*c),b*=.6,c*=.565):g===mxBpmnShape.prototype.eventEnum.PAR_MULTI?(a.translate(.2*b,.2*c),b*=.6,c*=.6):g===mxBpmnShape.prototype.eventEnum.TERMINATE?(a.translate(.05*b,.05*c),b*=.9,c*=.9):g===mxBpmnShape.prototype.eventEnum.GW_EXCLUSIVE&&(a.translate(.12*b,0),b*=.76);var n=!1;if("star"===g)a.setFillColor(l);else if(k===mxBpmnShape.prototype.eventTypeEnum.THROWING|| -k===mxBpmnShape.prototype.eventTypeEnum.END)a.setStrokeColor(m),a.setFillColor(l),n=!0;h.call(this,a,d,e,b,c,f,n);if("star"===g)a.setFillColor(m);else if(k===mxBpmnShape.prototype.eventTypeEnum.THROWING||k===mxBpmnShape.prototype.eventTypeEnum.END)a.setStrokeColor(l),a.setFillColor(m)}};mxBpmnShape.prototype.backgrounds={none:function(a,d,e,b,c){},gateway:function(a,d,e,b,c){a.begin();a.moveTo(b/2,0);a.lineTo(b,c/2);a.lineTo(b/2,c);a.lineTo(0,c/2);a.close();a.fillAndStroke()}}; -mxBpmnShape.prototype.outlines={none:function(a,d,e,b,c,f){f||a.setShadow(!1)},standard:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1)},eventInt:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1)},eventNonint:function(a,d,e,b,c,f){d=a.state.dashed;a.setDashed(!0);a.ellipse(0,0,b,c);a.fillAndStroke();a.setDashed(d);f||a.setShadow(!1)},catching:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(2,2,b-4,c- -4);a.stroke()},boundInt:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(2,2,b-4,c-4);a.stroke()},boundNonint:function(a,d,e,b,c,f){d=a.state.dashed;a.setDashed(!0);a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(2,2,b-4,c-4);a.stroke();a.setDashed(d)},throwing:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(.02*b+2,.02*c+2,.96*b-4,.96*c-4);a.stroke()},end:function(a,d,e,b,c,f){d=a.state.strokeWidth;a.setStrokeWidth(3* -d);a.ellipse(0,0,b,c);a.fillAndStroke();a.setStrokeWidth(d);f||a.setShadow(!1)}}; -mxBpmnShape.prototype.symbols={general:function(a,d,e,b,c){},message:function(a,d,e,b,c,f,g){a.rect(0,0,b,c);a.fillAndStroke();"none"===mxUtils.getValue(this.style,"fillColor","none")&&g&&a.setStrokeColor("#ffffff");a.begin();a.moveTo(0,0);a.lineTo(.5*b,.5*c);a.lineTo(b,0);a.stroke()},timer:function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke();a.begin();a.moveTo(.5*b,0);a.lineTo(.5*b,.0642*c);a.moveTo(.7484*b,.0654*c);a.lineTo(.7126*b,.1281*c);a.moveTo(.93*b,.2471*c);a.lineTo(.8673*b,.2854*c); -a.moveTo(b,.5*c);a.lineTo(.9338*b,.5*c);a.moveTo(.93*b,.7509*c);a.lineTo(.8673*b,.7126*c);a.moveTo(.7484*b,.9326*c);a.lineTo(.7126*b,.8699*c);a.moveTo(.5*b,.9338*c);a.lineTo(.5*b,c);a.moveTo(.2496*b,.9325*c);a.lineTo(.2854*b,.8699*c);a.moveTo(.068*b,.7509*c);a.lineTo(.1307*b,.7126*c);a.moveTo(0,.5*c);a.lineTo(.0642*b,.5*c);a.moveTo(.068*b,.2471*c);a.lineTo(.1307*b,.2854*c);a.moveTo(.2496*b,.0654*c);a.lineTo(.2854*b,.1281*c);a.moveTo(.5246*b,.0706*c);a.lineTo(.5*b,.5*c);a.lineTo(.7804*b,.5118*c);a.stroke()}, -escalation:function(a,d,e,b,c){a.begin();a.moveTo(0,c);a.lineTo(.5*b,0);a.lineTo(b,c);a.lineTo(.5*b,.5*c);a.close();a.fillAndStroke()},conditional:function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke();a.begin();a.moveTo(0,.1027*c);a.lineTo(.798*b,.1027*c);a.moveTo(0,.3669*c);a.lineTo(.798*b,.3669*c);a.moveTo(0,.6311*c);a.lineTo(.798*b,.6311*c);a.moveTo(0,.8953*c);a.lineTo(.798*b,.8953*c);a.stroke()},link:function(a,d,e,b,c){a.begin();a.moveTo(0,.76*c);a.lineTo(0,.24*c);a.lineTo(.63*b,.24*c);a.lineTo(.63* -b,0);a.lineTo(b,.5*c);a.lineTo(.63*b,c);a.lineTo(.63*b,.76*c);a.close();a.fillAndStroke()},error:function(a,d,e,b,c){a.begin();a.moveTo(0,c);a.lineTo(.3287*b,.123*c);a.lineTo(.6194*b,.6342*c);a.lineTo(b,0);a.lineTo(.6625*b,.939*c);a.lineTo(.3717*b,.5064*c);a.close();a.fillAndStroke()},cancel:function(a,d,e,b,c){a.begin();a.moveTo(.1051*b,0);a.lineTo(.5*b,.3738*c);a.lineTo(.8909*b,0);a.lineTo(b,.1054*c);a.lineTo(.623*b,.5*c);a.lineTo(b,.8926*c);a.lineTo(.8909*b,c);a.lineTo(.5*b,.6242*c);a.lineTo(.1051* -b,c);a.lineTo(0,.8926*c);a.lineTo(.373*b,.5*c);a.lineTo(0,.1054*c);a.close();a.fillAndStroke()},compensation:function(a,d,e,b,c){a.begin();a.moveTo(0,.5*c);a.lineTo(.5*b,0);a.lineTo(.5*b,c);a.close();a.moveTo(.5*b,.5*c);a.lineTo(b,0);a.lineTo(b,c);a.close();a.fillAndStroke()},signal:function(a,d,e,b,c){a.begin();a.moveTo(0,c);a.lineTo(.5*b,0);a.lineTo(b,c);a.close();a.fillAndStroke()},multiple:function(a,d,e,b,c){a.begin();a.moveTo(0,.39*c);a.lineTo(.5*b,0);a.lineTo(b,.39*c);a.lineTo(.815*b,c);a.lineTo(.185* -b,c);a.close();a.fillAndStroke()},parallelMultiple:function(a,d,e,b,c){a.begin();a.moveTo(.38*b,0);a.lineTo(.62*b,0);a.lineTo(.62*b,.38*c);a.lineTo(b,.38*c);a.lineTo(b,.62*c);a.lineTo(.62*b,.62*c);a.lineTo(.62*b,c);a.lineTo(.38*b,c);a.lineTo(.38*b,.62*c);a.lineTo(0,.62*c);a.lineTo(0,.38*c);a.lineTo(.38*b,.38*c);a.close();a.fillAndStroke()},terminate:function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke()},exclusiveGw:function(a,d,e,b,c){d=a.state.strokeColor;e=a.state.fillColor;a.setStrokeColor(e); -a.setFillColor(d);a.begin();a.moveTo(.105*b,0);a.lineTo(.5*b,.38*c);a.lineTo(.895*b,0*c);a.lineTo(b,.11*c);a.lineTo(.6172*b,.5*c);a.lineTo(b,.89*c);a.lineTo(.895*b,c);a.lineTo(.5*b,.62*c);a.lineTo(.105*b,c);a.lineTo(0,.89*c);a.lineTo(.3808*b,.5*c);a.lineTo(0,.11*c);a.close();a.fillAndStroke();a.setStrokeColor(d);a.setFillColor(e)},parallelGw:function(a,d,e,b,c){d=a.state.strokeColor;e=a.state.fillColor;a.setStrokeColor(e);a.setFillColor(d);a.begin();a.moveTo(.38*b,0);a.lineTo(.62*b,0);a.lineTo(.62* -b,.38*c);a.lineTo(b,.38*c);a.lineTo(b,.62*c);a.lineTo(.62*b,.62*c);a.lineTo(.62*b,c);a.lineTo(.38*b,c);a.lineTo(.38*b,.62*c);a.lineTo(0,.62*c);a.lineTo(0,.38*c);a.lineTo(.38*b,.38*c);a.close();a.fillAndStroke();a.setStrokeColor(d);a.setFillColor(e)},complexGw:function(a,d,e,b,c){d=a.state.strokeColor;e=a.state.fillColor;a.setStrokeColor(e);a.setFillColor(d);a.begin();a.moveTo(0,.44*c);a.lineTo(.36*b,.44*c);a.lineTo(.1*b,.18*c);a.lineTo(.18*b,.1*c);a.lineTo(.44*b,.36*c);a.lineTo(.44*b,0);a.lineTo(.56* -b,0);a.lineTo(.56*b,.36*c);a.lineTo(.82*b,.1*c);a.lineTo(.9*b,.18*c);a.lineTo(.64*b,.44*c);a.lineTo(b,.44*c);a.lineTo(b,.56*c);a.lineTo(.64*b,.56*c);a.lineTo(.9*b,.82*c);a.lineTo(.82*b,.9*c);a.lineTo(.56*b,.64*c);a.lineTo(.56*b,c);a.lineTo(.44*b,c);a.lineTo(.44*b,.64*c);a.lineTo(.18*b,.9*c);a.lineTo(.1*b,.82*c);a.lineTo(.36*b,.56*c);a.lineTo(0,.56*c);a.close();a.fillAndStroke();a.setStrokeColor(d);a.setFillColor(e)},star:function(a,d,e,b,c){a.translate(b/5,c/6);c*=2/3;b*=.6;a.begin();a.moveTo(0,c/ -4);a.lineTo(b/3,c/4);a.lineTo(b/2,0);a.lineTo(2*b/3,c/4);a.lineTo(b,c/4);a.lineTo(5*b/6,c/2);a.lineTo(b,3*c/4);a.lineTo(2*b/3,3*c/4);a.lineTo(b/2,c);a.lineTo(b/3,3*c/4);a.lineTo(0,3*c/4);a.lineTo(b/6,c/2);a.close();a.fillAndStroke()}};mxCellRenderer.registerShape("mxgraph.bpmn.shape",mxBpmnShape);function mxShapeEREntity(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeEREntity,mxShape); -mxShapeEREntity.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,"buttonText","Entity"),g=mxUtils.getValue(this.style,"textColor","#666666"),h=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"17");a.translate(d,e);b=Math.max(b,20);c=Math.max(c,20);this.background(a,d,e,b,c,10,g);a.setShadow(!1);this.mainText(a,d,e,b,c,f,h,g)}; -mxShapeEREntity.prototype.background=function(a,d,e,b,c,f,g){d=mxUtils.getValue(this.style,"buttonStyle","round").toString();"round"===d?(a.begin(),a.moveTo(0,f),a.arcTo(f,f,0,0,1,f,0),a.lineTo(b-f,0),a.arcTo(f,f,0,0,1,b,f),a.lineTo(b,c-f),a.arcTo(f,f,0,0,1,b-f,c),a.lineTo(f,c),a.arcTo(f,f,0,0,1,0,c-f),a.close(),a.fillAndStroke()):"rect"===d?(a.begin(),a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(0,c),a.close(),a.fillAndStroke()):"dblFrame"===d&&(f=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR, -"#ffffff"),a.setFillColor(f),a.begin(),a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(0,c),a.close(),a.fillAndStroke(),f=Math.min(b,c),a.begin(),a.moveTo(.1*f,.1*f),a.lineTo(b-.1*f,.1*f),a.lineTo(b-.1*f,c-.1*f),a.lineTo(.1*f,c-.1*f),a.close(),a.stroke())};mxShapeEREntity.prototype.mainText=function(a,d,e,b,c,f,g,h){a.begin();a.setFontSize(g);a.setFontColor(h);a.text(.5*b,.5*c,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)}; -mxCellRenderer.registerShape("mxgraph.er.entity",mxShapeEREntity); -mxShapeEREntity.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, -1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];function mxShapeEREntityExt(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeEREntityExt,mxShape); -mxShapeEREntityExt.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,"buttonText","Entity"),g=mxUtils.getValue(this.style,"subText","+ attribute 1,+ attribute 2,+ attribute 3").toString().split(","),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"17"),l=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#008cff"),m=mxUtils.getValue(this.style,"fillColor2","#ffffff"),n=0;a.translate(d, -e);for(var p=1.25*k,q=0;qn&&(n=r)}b=Math.max(b,20,n+10);c=Math.max(c,20,(g.length+1)*p);this.background(a,d,e,b,c,10);a.setShadow(!1);this.shapes(a,d,e,b,c,k,l,m,10,p);this.mainText(a,d,e,b,c,f,k,m);this.attrText(a,d,e,b,c,g,k,h,p,10)}; -mxShapeEREntityExt.prototype.background=function(a,d,e,b,c,f){d=mxUtils.getValue(this.style,"buttonStyle","round").toString();a.begin();"round"===d?(a.moveTo(0,f),a.arcTo(f,f,0,0,1,f,0),a.lineTo(b-f,0),a.arcTo(f,f,0,0,1,b,f),a.lineTo(b,c-f),a.arcTo(f,f,0,0,1,b-f,c),a.lineTo(f,c),a.arcTo(f,f,0,0,1,0,c-f)):"rect"===d&&(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(0,c));a.close();a.fillAndStroke()}; -mxShapeEREntityExt.prototype.mainText=function(a,d,e,b,c,f,g,h){a.begin();a.setFontSize(g);a.setFontColor(h);a.text(.5*b,.5*g,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)}; -mxShapeEREntityExt.prototype.shapes=function(a,d,e,b,c,f,g,h,k,l){d=mxUtils.getValue(this.style,"buttonStyle","round").toString();"round"===d?(a.begin(),a.moveTo(0,k),a.arcTo(k,k,0,0,1,k,0),a.lineTo(b-k,0),a.arcTo(k,k,0,0,1,b,k),a.lineTo(b,l),a.lineTo(0,l),a.close(),a.fill(),a.setFillColor(h),a.begin(),a.moveTo(b,l),a.lineTo(b,c-k),a.arcTo(k,k,0,0,1,b-k,c),a.lineTo(k,c),a.arcTo(k,k,0,0,1,0,c-k),a.lineTo(0,l),a.close(),a.fill()):"rect"===d&&(a.begin(),a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,l),a.lineTo(0, -l),a.close(),a.fill(),a.setFillColor(h),a.begin(),a.moveTo(0,l),a.lineTo(b,l),a.lineTo(b,c),a.lineTo(0,c),a.close(),a.fill());a.begin();"round"===d?(a.moveTo(0,k),a.arcTo(k,k,0,0,1,k,0),a.lineTo(b-k,0),a.arcTo(k,k,0,0,1,b,k),a.lineTo(b,c-k),a.arcTo(k,k,0,0,1,b-k,c),a.lineTo(k,c),a.arcTo(k,k,0,0,1,0,c-k)):"rect"===d&&(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(0,c));a.close();a.stroke()}; -mxShapeEREntityExt.prototype.attrText=function(a,d,e,b,c,f,g,h,k,l){for(d=0;dr&&(r=v)}var w=1.5*k,x=q*w;c=Math.max(c,x);b=Math.max(b,10+r);a.translate(d,e);this.background(a,b,c,10,q,5,q*w,l,m,n,p,t,w);a.setShadow(!1);v=0;a.setFontStyle(mxConstants.FONT_BOLD);for(u=0;ur&&(r=v)}var w= -1.5*k;c=Math.max(c,q*w);b=Math.max(b,10+r);a.translate(d,e);this.background(a,b,c,10,q,5,q*w,l,m,n,p,t,w);a.setShadow(!1);for(u=v=0;uk&&(k=p)}a.rect(0,0,Math.max(b,5+k+30),c);a.fillAndStroke();a.setShadow(!1);a.setFontSize(f);for(n=0;nk&&(k=p)}a.rect(0,0,Math.max(b,5+k+30),c);a.fillAndStroke();a.setShadow(!1);a.setFontSize(f);for(n=0;nl&&(l=p)}a.translate(d,e);b=Math.min(b,l);c=Math.max(c,30+m.length*h*1.5);this.background(a,b,c,f,g);a.setShadow(!1);this.foreground(a,b,c,g,k,m,h)};mxShapeMockupListBox.prototype.background=function(a,d,e,b,c){a.setFillColor(b);a.setStrokeColor(c);a.rect(0,0,d,e);a.fillAndStroke()}; -mxShapeMockupListBox.prototype.foreground=function(a,d,e,b,c,f,g){mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");b=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.SELECTED_COLOR,"#ddeeff");-1!==c&&(a.setFillColor(b),a.rect(0,30+c*g*1.5,d,1.5*g),a.fill());a.begin();a.moveTo(0,30);a.lineTo(d,30);a.stroke();c=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.MAIN_TEXT,"Window Title").toString();b=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.TEXT_COLOR, -"#666666,#008cff").toString().split(",");a.setFontColor(b[1]);a.setFontSize(g);a.text(10,15,0,0,c,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setFontColor(b[0]);for(c=0;ck;k++){var l=.0625*d+.5*h+k*h,v=k+r;6q&&(q+=7);for(k=0;kw?w++:(w=0,b++);k=1;for(a.setFillColor(g);6>b;)l=.0625*d+w*h,p=.2686*e+b*e*.1143,a.rect(l,p,h,.1143*e),a.fillAndStroke(),a.text(l+.5*h,p+.5*h,0,0,k.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),6>w?w++:(w=0,b++),k++;0<=t&&(a.setStrokeColor("#ff0000"),a.setStrokeWidth(2),a.setFillColor(f),a.setFontColor(m),a.rect(t,v,h,.1143*e),a.fillAndStroke(),a.text(t+.5*h,v+.5*h,0,0,u.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0))}; -mxCellRenderer.registerShape(mxShapeMockupCalendar.prototype.cst.SHAPE_CALENDAR,mxShapeMockupCalendar);function mxShapeMockupEmailForm(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupEmailForm,mxShape);mxShapeMockupEmailForm.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",SHOW_CC:"showCC",SHOW_BCC:"showBCC",TEXT_SIZE:"textSize",SHAPE_EMAIL_FORM:"mxgraph.mockup.forms.emailForm"}; -mxShapeMockupEmailForm.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.TEXT_SIZE,"12"),g=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.SHOW_CC,"true"),h=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.SHOW_BCC,"true"),k=4*f,l=0;"true"===g&&l++;"true"===h&&l++;b=Math.max(b,5*f);c=Math.max(c,10.5*f+l*f*3);a.translate(d,e);this.background(a,b,c,f,k,g,h);a.setShadow(!1);this.foreground(a,b,c,f,k, -g,h)};mxShapeMockupEmailForm.prototype.background=function(a,d,e,b,c,f,g){var h=9*b;"true"===f&&(h+=3*b,a.rect(c,9*b,d-c,1.5*b),a.fillAndStroke());"true"===g&&(a.rect(c,h,d-c,1.5*b),h+=3*b,a.fillAndStroke());a.rect(c,0,d-c,1.5*b);a.fillAndStroke();a.rect(c,3*b,d-c,1.5*b);a.fillAndStroke();a.rect(c,6*b,d-c,1.5*b);a.fillAndStroke();a.rect(0,h,d,e-h);a.fillAndStroke()}; -mxShapeMockupEmailForm.prototype.foreground=function(a,d,e,b,c,f,g){d=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.MAIN_TEXT,"john@jgraph.com,Greeting,fred@jgraph.com,,,Lorem ipsum").toString().split(",");e=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.TEXT_COLOR,"#666666");a.setFontColor(e);a.setFontSize(b);a.text(c-.5*b,.75*b,0,0,"From",mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(c-.5*b,3.75*b,0,0,"Subject",mxConstants.ALIGN_RIGHT, -mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(c-.5*b,6.75*b,0,0,"To",mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(c+.5*b,.75*b,0,0,d[0],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(c+.5*b,3.75*b,0,0,d[1],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(c+.5*b,6.75*b,0,0,d[2],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);e=9*b;"true"===f&&(e+=3*b,a.text(c-.5*b,9.75*b,0,0,"CC",mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE, -0,null,0,0,0),a.text(c+.5*b,9.75*b,0,0,d[3],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0));"true"===g&&(a.text(c-.5*b,e+.75*b,0,0,"BCC",mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),a.text(c+.5*b,e+.75*b,0,0,d[4],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),e+=3*b);a.text(.5*b,e+.75*b,0,0,d[5],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupEmailForm.prototype.cst.SHAPE_EMAIL_FORM,mxShapeMockupEmailForm); -function mxShapeMockupFormsRRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupFormsRRect,mxShape);mxShapeMockupFormsRRect.prototype.cst={RRECT:"mxgraph.mockup.forms.rrect",R_SIZE:"rSize"};mxShapeMockupFormsRRect.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}]; -mxShapeMockupFormsRRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeMockupFormsRRect.prototype.cst.R_SIZE,"10"));a.roundrect(0,0,b,c,d);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeMockupFormsRRect.prototype.cst.RRECT,mxShapeMockupFormsRRect);function mxShapeMockupFormsAnchor(a,d,e,b){mxShape.call(this);this.bounds=a}mxUtils.extend(mxShapeMockupFormsAnchor,mxShape);mxShapeMockupFormsAnchor.prototype.cst={ANCHOR:"mxgraph.mockup.forms.anchor"}; -mxShapeMockupFormsAnchor.prototype.paintVertexShape=function(a,d,e,b,c){};mxCellRenderer.registerShape(mxShapeMockupFormsAnchor.prototype.cst.ANCHOR,mxShapeMockupFormsAnchor);function mxShapeMockupFormsCheckbox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupFormsCheckbox,mxShape);mxShapeMockupFormsCheckbox.prototype.cst={CHECKBOX:"mxgraph.mockup.forms.checkbox"}; -mxShapeMockupFormsCheckbox.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.rect(0,0,b,c);a.fillAndStroke();a.begin();a.moveTo(.8*b,.2*c);a.lineTo(.4*b,.8*c);a.lineTo(.25*b,.6*c);a.stroke()};mxCellRenderer.registerShape(mxShapeMockupFormsCheckbox.prototype.cst.CHECKBOX,mxShapeMockupFormsCheckbox);function mxShapeMockupFormsURect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupFormsURect,mxShape); -mxShapeMockupFormsURect.prototype.cst={U_RECT:"mxgraph.mockup.forms.uRect"};mxShapeMockupFormsURect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,c);a.lineTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeMockupFormsURect.prototype.cst.U_RECT,mxShapeMockupFormsURect);function mxShapeMockupBarChart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} -mxUtils.extend(mxShapeMockupBarChart,mxShape);mxShapeMockupBarChart.prototype.cst={STROKE_COLOR2:"strokeColor2",STROKE_COLOR3:"strokeColor3",FILL_COLOR2:"fillColor2",FILL_COLOR3:"fillColor3",SHAPE_BAR_CHART:"mxgraph.mockup.graphics.barChart"}; -mxShapeMockupBarChart.prototype.customProperties=[{name:"strokeColor2",dispName:"Stroke2 Color",type:"color"},{name:"strokeColor3",dispName:"Stroke3 Color",type:"color"},{name:"fillColor2",dispName:"Fill2 Color",type:"color"},{name:"fillColor3",dispName:"Fill3 Color",type:"color"}]; -mxShapeMockupBarChart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);"none"!==mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"none")&&a.setShadow(!1);this.bars(a,d,e,b,c)};mxShapeMockupBarChart.prototype.background=function(a,d,e,b,c,f,g){a.rect(0,0,b,c);a.fillAndStroke()}; -mxShapeMockupBarChart.prototype.bars=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapeMockupBarChart.prototype.cst.STROKE_COLOR2,"none");e=mxUtils.getValue(this.style,mxShapeMockupBarChart.prototype.cst.STROKE_COLOR3,"#666666");var f=mxUtils.getValue(this.style,mxShapeMockupBarChart.prototype.cst.FILL_COLOR2,"#008cff"),g=mxUtils.getValue(this.style,mxShapeMockupBarChart.prototype.cst.FILL_COLOR3,"#dddddd"),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");a.setStrokeColor(d); -a.setFillColor(f);a.rect(0,.2*c,.75*b,.05*c);a.fillAndStroke();a.rect(0,.45*c,.6*b,.05*c);a.fillAndStroke();a.rect(0,.7*c,.95*b,.05*c);a.fillAndStroke();a.setFillColor(g);a.rect(0,.25*c,.85*b,.05*c);a.fillAndStroke();a.rect(0,.5*c,.65*b,.05*c);a.fillAndStroke();a.rect(0,.75*c,.8*b,.05*c);a.fillAndStroke();a.setStrokeWidth(2*h);a.setStrokeColor(e);a.setShadow(!1);a.begin();a.moveTo(0,0);a.lineTo(0,c);a.lineTo(b,c);a.stroke()}; -mxCellRenderer.registerShape(mxShapeMockupBarChart.prototype.cst.SHAPE_BAR_CHART,mxShapeMockupBarChart);function mxShapeMockupColumnChart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupColumnChart,mxShape);mxShapeMockupColumnChart.prototype.cst={STROKE_COLOR2:"strokeColor2",STROKE_COLOR3:"strokeColor3",FILL_COLOR2:"fillColor2",FILL_COLOR3:"fillColor3",SHAPE_COLUMN_CHART:"mxgraph.mockup.graphics.columnChart"}; -mxShapeMockupColumnChart.prototype.customProperties=[{name:"strokeColor2",dispName:"Bar Stroke Color",type:"color"},{name:"strokeColor3",dispName:"Coord System Color",type:"color"},{name:"fillColor2",dispName:"Bar1 Color",type:"color"},{name:"fillColor3",dispName:"Bar2 Color",type:"color"}]; -mxShapeMockupColumnChart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);"none"!==mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"none")&&a.setShadow(!1);this.bars(a,d,e,b,c)};mxShapeMockupColumnChart.prototype.background=function(a,d,e,b,c,f,g){a.rect(0,0,b,c);a.fillAndStroke()}; -mxShapeMockupColumnChart.prototype.bars=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapeMockupColumnChart.prototype.cst.STROKE_COLOR2,"none");e=mxUtils.getValue(this.style,mxShapeMockupColumnChart.prototype.cst.STROKE_COLOR3,"#666666");var f=mxUtils.getValue(this.style,mxShapeMockupColumnChart.prototype.cst.FILL_COLOR2,"#008cff"),g=mxUtils.getValue(this.style,mxShapeMockupColumnChart.prototype.cst.FILL_COLOR3,"#dddddd"),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");a.setStrokeColor(d); -a.setFillColor(f);a.rect(.2*b,.25*c,.05*b,.75*c);a.fillAndStroke();a.rect(.45*b,.4*c,.05*b,.6*c);a.fillAndStroke();a.rect(.7*b,.05*c,.05*b,.95*c);a.fillAndStroke();a.setFillColor(g);a.rect(.25*b,.15*c,.05*b,.85*c);a.fillAndStroke();a.rect(.5*b,.35*c,.05*b,.65*c);a.fillAndStroke();a.rect(.75*b,.2*c,.05*b,.8*c);a.fillAndStroke();a.setStrokeWidth(2*h);a.setStrokeColor(e);a.setShadow(!1);a.begin();a.moveTo(0,0);a.lineTo(0,c);a.lineTo(b,c);a.stroke()}; -mxCellRenderer.registerShape(mxShapeMockupColumnChart.prototype.cst.SHAPE_COLUMN_CHART,mxShapeMockupColumnChart);function mxShapeMockupLineChart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupLineChart,mxShape);mxShapeMockupLineChart.prototype.cst={STROKE_COLOR2:"strokeColor2",STROKE_COLOR3:"strokeColor3",STROKE_COLOR4:"strokeColor4",SHAPE_LINE_CHART:"mxgraph.mockup.graphics.lineChart"}; -mxShapeMockupLineChart.prototype.customProperties=[{name:"strokeColor2",dispName:"Coord. System Color",type:"color"},{name:"strokeColor3",dispName:"Line1 Color",type:"color"},{name:"strokeColor4",dispName:"Line2 Color",type:"color"}];mxShapeMockupLineChart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);"none"!==mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"none")&&a.setShadow(!1);this.bars(a,d,e,b,c)}; -mxShapeMockupLineChart.prototype.background=function(a,d,e,b,c,f,g){a.rect(0,0,b,c);a.fillAndStroke()}; -mxShapeMockupLineChart.prototype.bars=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapeMockupLineChart.prototype.cst.STROKE_COLOR2,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupLineChart.prototype.cst.STROKE_COLOR3,"#008cff");var f=mxUtils.getValue(this.style,mxShapeMockupLineChart.prototype.cst.STROKE_COLOR4,"#dddddd"),g=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");a.setStrokeWidth(2*g);a.setStrokeColor(f);a.begin();a.moveTo(0,c);a.lineTo(.3*b,.5*c);a.lineTo(.6* -b,.74*c);a.lineTo(.9*b,.24*c);a.stroke();a.setStrokeColor(e);a.begin();a.moveTo(0,c);a.lineTo(.3*b,.65*c);a.lineTo(.6*b,.6*c);a.lineTo(.9*b,.35*c);a.stroke();a.setStrokeColor(d);a.setShadow(!1);a.begin();a.moveTo(0,0);a.lineTo(0,c);a.lineTo(b,c);a.stroke()};mxCellRenderer.registerShape(mxShapeMockupLineChart.prototype.cst.SHAPE_LINE_CHART,mxShapeMockupLineChart);function mxShapeMockupPieChart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} -mxUtils.extend(mxShapeMockupPieChart,mxShape);mxShapeMockupPieChart.prototype.cst={PARTS:"parts",PART_COLORS:"partColors",SHAPE_PIE_CHART:"mxgraph.mockup.graphics.pieChart"}; -mxShapeMockupPieChart.prototype.customProperties=[{name:"partsCount",dispName:"partsCount",type:"int",defVal:4,dependentProps:["partColors","parts"]},{name:"partColors",dispName:"Part Colors",type:"staticArr",subType:"color",sizeProperty:"partsCount",subDefVal:"#FFFFFF"},{name:"parts",dispName:"Part Sizes",type:"staticArr",subType:"int",sizeProperty:"partsCount",subDefVal:"10"}]; -mxShapeMockupPieChart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeMockupPieChart.prototype.background=function(a,d,e,b,c,f,g){a.ellipse(0,0,b,c);a.fillAndStroke()}; -mxShapeMockupPieChart.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapeMockupPieChart.prototype.cst.PARTS,"10,20,30").toString().split(",");e=d.length;for(var f=mxUtils.getValue(this.style,mxShapeMockupPieChart.prototype.cst.PART_COLORS,"#333333,#666666,#999999").toString().split(","),g=0,h=0;hh?a.setFillColor(f[h]):a.setFillColor("#ff0000");var k=0,l;l=parseInt(d[h],10)/g;.5===l&&(l=.501);for(var m=0;ml-k&&(r=0);a.begin();a.moveTo(.5*b,.5*c);a.lineTo(q,p);a.arcTo(.5*b,.5*c,0,r,1,m,n);a.close();a.fillAndStroke()}};mxCellRenderer.registerShape(mxShapeMockupPieChart.prototype.cst.SHAPE_PIE_CHART,mxShapeMockupPieChart);function mxShapeMockupIconGrid(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} -mxUtils.extend(mxShapeMockupIconGrid,mxShape);mxShapeMockupIconGrid.prototype.cst={GRID_SIZE:"gridSize",SHAPE_ICON_GRID:"mxgraph.mockup.graphics.iconGrid"};mxShapeMockupIconGrid.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxShapeMockupIconGrid.prototype.cst.GRID_SIZE,"3,3").toString().split(",");this.background(a,b,c,d);a.setShadow(!1);this.foreground(a,b,c,d)}; -mxShapeMockupIconGrid.prototype.background=function(a,d,e,b){d/=parseInt(b[0],10)+.5*(b[0]-1);e/=parseInt(b[1],10)+.5*(b[1]-1);for(var c=0;c=r?a.setFontColor(h): -a.setFontColor(g),d+=10,this.buttonText(a,d,c,f[t],p[t],k,q,b),d=d+p[t]+10};mxShapeMockupStepBar.prototype.stepLineBg=function(a,d,e,b,c,f,g,h,k,l){a.setStrokeColor(h);a.setFillColor(h);e=2*k;for(l=k=h=0;lq&&(q=u)}var v=1.5*k,w=p*v;c=Math.max(c,w);b=Math.max(b,5+q);a.translate(d,e);this.background(a,b,c,2.5,p,2.5,p*v,l,m,n,r,v);a.setShadow(!1);this.foreground(a,b,c,2.5,p,2.5,p*v,l,m,n,r,v);for(t=u=0;tk&&(k=p)}a.roundrect(0,0,Math.max(b,5+k+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);for(n=0;nk&&(k=p)}a.roundrect(0,0,Math.max(b,5+k+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);for(n=0;n",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.6121*b,.28*c,.0776*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.6509*b,.375*c,0,0,String.fromCharCode(128),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.7126*b,.28*c,.0776*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.7514*b,.375* -c,0,0,String.fromCharCode(163),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.8132*b,.28*c,.0776*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.852*b,.375*c,0,0,String.fromCharCode(165),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.9138*b,.28*c,.0776*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.9526*b,.375*c,0,0,String.fromCharCode(149),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.1638*b,.53*c,.1178*b,.19*c,rSizeX,rSizeY); -a.fill();a.text(.2227*b,.625*c,0,0,".",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.3046*b,.53*c,.1178*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.3635*b,.625*c,0,0,",",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.4454*b,.53*c,.1178*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.5043*b,.625*c,0,0,"?",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.5862*b,.53*c,.1178*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.6451*b,.625* -c,0,0,"!",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.727*b,.53*c,.1178*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.7859*b,.625*c,0,0,"'",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.roundrect(.2644*b,.78*c,.4799*b,.19*c,rSizeX,rSizeY);a.fill();a.setFontColor("#666666");a.text(.5043*b,.875*c,0,0,"space",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setGradient("#8B98A8","#677488",.0115*b,.53*c,.1207*b,.19*c,mxConstants.DIRECTION_SOUTH, -1,1);a.setFontColor("#ffffff");a.roundrect(.0115*b,.53*c,.1207*b,.19*c,rSizeX,rSizeY);a.fill();a.roundrect(.8736*b,.53*c,.115*b,.19*c,rSizeX,rSizeY);a.fill();a.roundrect(.0115*b,.78*c,.2299*b,.19*c,rSizeX,rSizeY);a.fill();a.roundrect(.7672*b,.78*c,.2213*b,.19*c,rSizeX,rSizeY);a.fill();a.text(.0718*b,.625*c,0,0,"123",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.1264*b,.875*c,0,0,"ABC",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8779*b,.875*c,0, -0,"return",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setShadow(!1);a.setLineJoin("round");a.setStrokeColor("#ffffff");a.setFillColor("#ffffff");a.setStrokeWidth(1.5);a.begin();a.moveTo(.9109*b,.585*c);a.lineTo(.9655*b,.585*c);a.lineTo(.9655*b,.665*c);a.lineTo(.9109*b,.665*c);a.lineTo(.8879*b,.625*c);a.close();a.fillAndStroke();a.setStrokeColor("#677488");a.begin();a.moveTo(.9224*b,.605*c);a.lineTo(.9454*b,.645*c);a.moveTo(.9224*b,.645*c);a.lineTo(.9454*b,.605*c);a.stroke()}; -mxCellRenderer.registerShape(mxMockupC.SHAPE_IKEYB_SYMBOLS,mxShapeMockupiKeybSymbols);function mxShapeMockupiDeleteApp(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiDeleteApp,mxShape);mxShapeMockupiDeleteApp.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"").toString();a.translate(d,e);this.background(a,d,e,b,c,f);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeMockupiDeleteApp.prototype.background=function(a,d,e,b,c,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"").toString();e=mxUtils.getValue(this.style,mxMockupC.STYLE_FILLCOLOR2,"").toString();a.setGradient(d,e,0,0,b,c,mxConstants.DIRECTION_SOUTH,1,1);a.setStrokeWidth(1.5);a.setStrokeColor(f);a.ellipse(0,0,b,c);a.fillAndStroke()}; -mxShapeMockupiDeleteApp.prototype.foreground=function(a,d,e,b,c){a.setStrokeWidth(2.5);a.begin();a.moveTo(.3*b,.3*c);a.lineTo(.7*b,.7*c);a.moveTo(.3*b,.7*c);a.lineTo(.7*b,.3*c);a.stroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_IDELETE_APP,mxShapeMockupiDeleteApp);function mxShapeMockupiDirection(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiDirection,mxShape); -mxShapeMockupiDirection.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeMockupiDirection.prototype.background=function(a,d,e,b,c){a.setStrokeWidth(.5);a.setStrokeColor("#008cff");a.ellipse(0,0,b,c);a.stroke()}; -mxShapeMockupiDirection.prototype.foreground=function(a,d,e,b,c){a.setAlpha(1);a.setGradient("#ffffff","#ffffff",.29*b,.2*c,.42*b,.3*c,mxConstants.DIRECTION_NORTH,1,0);a.begin();a.moveTo(.29*b,.2*c);a.lineTo(.5*b,.5*c);a.lineTo(.71*b,.2*c);a.fillAndStroke();a.setStrokeColor("#006cdf");a.setGradient("#ffffff","#007cef",.47*b,.47*c,.06*b,.06*c,mxConstants.DIRECTION_SOUTH,1,1);a.setAlpha(1);a.ellipse(.47*b,.47*c,.06*b,.06*c);a.fillAndStroke();a.setFillColor("#ffffff");a.setAlpha(.8);a.ellipse(.4825* -b,.4825*c,.015*b,.015*c);a.fill()};mxCellRenderer.registerShape(mxMockupC.SHAPE_IDIRECTION,mxShapeMockupiDirection);function mxShapeMockupiLocationBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiLocationBar,mxShape); -mxShapeMockupiLocationBar.prototype.customProperties=[{name:"buttonText",dispName:"Text",type:"string"},{name:"barPos",dispName:"Callout Position",type:"float",min:0,defVal:80},{name:"pointerPos",dispName:"Callout Orientation",type:"enum",enumList:[{val:"bottom",dispName:"Bottom"},{val:"top",dispName:"Top"}]}];mxShapeMockupiLocationBar.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeMockupiLocationBar.prototype.background=function(a,d,e,b,c){e=mxUtils.getValue(this.style,mxMockupC.BAR_POS,"80");e=Math.min(e,100);e=Math.max(e,0);d=mxUtils.getValue(this.style,mxMockupC.POINTER_POS,mxMockupC.POINTER_BOTTOM);e=10+(b-20)*e/100;a.setStrokeWidth(.5);a.setStrokeColor("#000000");a.setAlpha(.7);a.begin();d===mxMockupC.POINTER_BOTTOM?(a.setGradient("#000000","#888888",0,0,b,c,mxConstants.DIRECTION_NORTH,1,1),a.moveTo(0,2.5),a.arcTo(2.5,2.5,0,0,1,2.5,0),a.lineTo(b-2.5,0),a.arcTo(2.5, -2.5,0,0,1,b,2.5),a.lineTo(b,c-2.5-7.5),a.arcTo(2.5,2.5,0,0,1,b-2.5,c-7.5),a.lineTo(e+7.5,c-7.5),a.lineTo(e,c),a.lineTo(e-7.5,c-7.5),a.lineTo(2.5,c-7.5),a.arcTo(2.5,2.5,0,0,1,0,c-2.5-7.5)):d===mxMockupC.POINTER_TOP&&(a.setGradient("#000000","#888888",0,0,b,c,mxConstants.DIRECTION_NORTH,1,1),a.moveTo(0,10),a.arcTo(2.5,2.5,0,0,1,2.5,7.5),a.lineTo(e-7.5,7.5),a.lineTo(e,0),a.lineTo(e+7.5,7.5),a.lineTo(b-2.5,7.5),a.arcTo(2.5,2.5,0,0,1,b,10),a.lineTo(b,c-2.5),a.arcTo(2.5,2.5,0,0,1,b-2.5,c),a.lineTo(2.5, -c),a.arcTo(2.5,2.5,0,0,1,0,c-2.5));a.close();a.fillAndStroke()}; -mxShapeMockupiLocationBar.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxMockupC.POINTER_POS,mxMockupC.POINTER_BOTTOM);e=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Some Location");a.setAlpha(1);a.setFontColor("#ffffff");a.setFontSize(9.5);d===mxMockupC.POINTER_BOTTOM?(a.text(5,.5*(c-7.5),0,0,e,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),a.translate(b-20,.5*(c-7.5)-7.5)):(a.text(5,.5*(c+7.5),0,0,e,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0, -null,0,0,0),a.translate(b-20,.5*(c+7.5)-7.5));c=b=15;a.setGradient("#8BbEff","#135Ec8",0,0,b,c,mxConstants.DIRECTION_SOUTH,1,1);a.setStrokeWidth(1.5);a.setStrokeColor("#ffffff");a.ellipse(0,0,b,c);a.fillAndStroke();a.setStrokeWidth(2.5);a.begin();a.moveTo(.4*b,.22*c);a.lineTo(.65*b,.5*c);a.lineTo(.4*b,.78*c);a.stroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_ILOCATION_BAR,mxShapeMockupiLocationBar); -function mxShapeMockupiCallDialog(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiCallDialog,mxShape);mxShapeMockupiCallDialog.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c,5);a.setShadow(!1);this.foreground(a,d,e,b,c,5)}; -mxShapeMockupiCallDialog.prototype.background=function(a,d,e,b,c,f){a.setAlpha(.8);a.setStrokeColor("#888888");a.setStrokeWidth(1.5);a.setFillColor("#000000");a.roundrect(0,0,b,c,f,f);a.fillAndStroke()}; -mxShapeMockupiCallDialog.prototype.foreground=function(a,d,e,b,c,f){a.begin();a.moveTo(.33*b,0);a.lineTo(.33*b,c);a.moveTo(.67*b,0);a.lineTo(.67*b,c);a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.stroke();a.setStrokeColor("#000000");a.setFillColor("#ffffff");a.setStrokeWidth(.5);a.roundrect(.1433*b,.104*c,.0417*b,.148*c,.02*b,.024*c);a.fill();a.begin();a.moveTo(.14*b,.188*c);a.lineTo(.14*b,.228*c);a.arcTo(.025*b,.03*c,0,0,0,.19*b,.228*c);a.lineTo(.19*b,.188*c);a.lineTo(.2*b,.188*c);a.lineTo(.2*b,.228*c);a.arcTo(.0367* -b,.044*c,0,0,1,.17*b,.27*c);a.lineTo(.17*b,.296*c);a.lineTo(.195*b,.296*c);a.lineTo(.195*b,.308*c);a.lineTo(.1367*b,.308*c);a.lineTo(.1367*b,.296*c);a.lineTo(.16*b,.296*c);a.lineTo(.16*b,.27*c);a.arcTo(.0367*b,.044*c,0,0,1,.13*b,.228*c);a.lineTo(.13*b,.188*c);a.close();a.fillAndStroke();a.begin();a.moveTo(.1033*b,.108*c);a.lineTo(.24*b,.286*c);a.lineTo(.2317*b,.298*c);a.lineTo(.095*b,.12*c);a.close();a.fillAndStroke();a.rect(.44*b,.128*c,.033*b,.04*c);a.fill();a.rect(.485*b,.128*c,.033*b,.04*c);a.fill(); -a.rect(.53*b,.128*c,.033*b,.04*c);a.fill();a.rect(.44*b,.186*c,.033*b,.04*c);a.fill();a.rect(.485*b,.186*c,.033*b,.04*c);a.fill();a.rect(.53*b,.186*c,.033*b,.04*c);a.fill();a.rect(.44*b,.244*c,.033*b,.04*c);a.fill();a.rect(.485*b,.244*c,.033*b,.04*c);a.fill();a.rect(.53*b,.244*c,.033*b,.04*c);a.fill();a.begin();a.moveTo(.7567*b,.18*c);a.lineTo(.785*b,.18*c);a.lineTo(.825*b,.128*c);a.lineTo(.825*b,.28*c);a.lineTo(.79*b,.234*c);a.lineTo(.7567*b,.234*c);a.close();a.fill();a.setStrokeWidth(1.5);a.setStrokeColor("#ffffff"); -a.begin();a.moveTo(.8383*b,.16*c);a.arcTo(.0533*b,.064*c,0,0,1,.8383*b,.252*c);a.moveTo(.8583*b,.134*c);a.arcTo(.0817*b,.098*c,0,0,1,.8583*b,.276*c);a.moveTo(.8767*b,.11*c);a.arcTo(.1133*b,.136*c,0,0,1,.8767*b,.304*c);a.stroke();a.begin();a.moveTo(.1467*b,.62*c);a.lineTo(.1833*b,.62*c);a.lineTo(.1833*b,.676*c);a.lineTo(.2267*b,.676*c);a.lineTo(.2267*b,.724*c);a.lineTo(.1833*b,.724*c);a.lineTo(.1833*b,.78*c);a.lineTo(.1467*b,.78*c);a.lineTo(.1467*b,.724*c);a.lineTo(.105*b,.724*c);a.lineTo(.105*b,.676* -c);a.lineTo(.1467*b,.676*c);a.close();a.fill();a.rect(.4517*b,.624*c,.0333*b,.152*c);a.fill();a.rect(.5183*b,.624*c,.0333*b,.152*c);a.fill();a.begin();a.moveTo(.76*b,.752*c);a.arcTo(.1*b,.12*c,0,0,1,.8033*b,.728*c);a.arcTo(.0167*b,.02*c,0,0,0,.8167*b,.712*c);a.lineTo(.8175*b,.7*c);a.arcTo(.0267*b,.06*c,0,0,1,.8067*b,.644*c);a.arcTo(.0287*b,.0344*c,0,0,1,.8633*b,.644*c);a.arcTo(.0267*b,.06*c,0,0,1,.855*b,.7*c);a.arcTo(.05*b,.724*c,0,0,1,.8633*b,.724*c);a.arcTo(.1667*b,.75*c,0,0,1,.9083*b,.75*c);a.lineTo(.9083* -b,.78*c);a.lineTo(.76*b,.78*c);a.close();a.fill();a.setFontColor("#ffffff");a.setFontSize(8.5);a.text(.1667*b,.35*c,0,0,"mute",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.35*c,0,0,"keypad",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.35*c,0,0,"speaker",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.1667*b,.85*c,0,0,"add",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.85*c,0,0, -"pause",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.85*c,0,0,"contacts",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setGradient("#808080","#ffffff",0,0,b,.308*c,mxConstants.DIRECTION_NORTH,1,1);a.setAlpha(.4);a.begin();a.moveTo(0,.308*c);a.lineTo(0,f);a.arcTo(f,f,0,0,1,f,0);a.lineTo(b-f,0);a.arcTo(f,f,0,0,1,b,f);a.lineTo(b,.308*c);a.arcTo(1.5*b,1.8*c,0,0,1,0,.308*c);a.close();a.fill()}; -mxCellRenderer.registerShape(mxMockupC.SHAPE_ICALL_DIALOG,mxShapeMockupiCallDialog);function mxShapeMockupiCallButtons(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiCallButtons,mxShape);mxShapeMockupiCallButtons.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeMockupiCallButtons.prototype.background=function(a,d,e,b,c){a.setStrokeWidth(.5);a.setStrokeColor("#008cff");a.setGradient("#0F1B2B","#4F5B6B",0,0,b,c,mxConstants.DIRECTION_NORTH,1,1);a.rect(0,0,b,c);a.fillAndStroke()}; -mxShapeMockupiCallButtons.prototype.foreground=function(a,d,e,b,c){a.begin();a.moveTo(0,.1667*c);a.lineTo(b,.1667*c);a.moveTo(0,.3333*c);a.lineTo(b,.3333*c);a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.moveTo(0,.6667*c);a.lineTo(b,.6667*c);a.moveTo(0,.8333*c);a.lineTo(b,.8333*c);a.moveTo(.3333*b,.1667*c);a.lineTo(.3333*b,c);a.moveTo(.6667*b,.1667*c);a.lineTo(.6667*b,c);a.stroke();a.setFontSize(15.5);a.setFontColor("#ffffff");a.setFontStyle(mxConstants.FONT_BOLD);a.text(.5*b,.0834*c,0,0,"(123) 456-7890",mxConstants.ALIGN_CENTER, -mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.1667*b,.22*c,0,0,"1",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.22*c,0,0,"2",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.22*c,0,0,"3",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.1667*b,.3867*c,0,0,"3",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.3867*c,0,0,"4",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0); -a.text(.8333*b,.3867*c,0,0,"5",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.1667*b,.5534*c,0,0,"6",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.5534*c,0,0,"7",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.5534*c,0,0,"8",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setFontSize(27.5);a.text(.1667*b,.76*c,0,0,"*",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setFontSize(15.5); -a.text(.5*b,.72*c,0,0,"0",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.75*c,0,0,"#",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setGradient("#E2FFEB","#008215",.3333*b,.8333*c,.3333*b,.1667*c,mxConstants.DIRECTION_SOUTH,1,1);a.rect(.3333*b,.8333*c,.3333*b,.1667*c);a.fillAndStroke();a.text(.5*b,.9168*c,0,0,"Call",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setFontStyle(0);a.setFontSize(8);a.setFontColor("#bbbbbb");a.text(.5* -b,.28*c,0,0,"ABC",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.28*c,0,0,"DEF",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.1667*b,.4467*c,0,0,"GHI",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.4467*c,0,0,"JKL",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.4467*c,0,0,"MNO",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.1667*b,.6134*c,0,0,"PQRS",mxConstants.ALIGN_CENTER, -mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.6134*c,0,0,"TUV",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.8333*b,.6134*c,0,0,"WXYZ",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.78*c,0,0,"+",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setFillColor("#ffffff");a.begin();a.moveTo(.1028*b,.9464*c);a.arcTo(.0862*b,.0652*c,0,0,1,.1402*b,.9333*c);a.arcTo(.0144*b,.0109*c,0,0,0,.1517*b,.9246*c);a.lineTo(.1524*b,.9181*c); -a.arcTo(.023*b,.0326*c,0,0,1,.143*b,.8877*c);a.arcTo(.0247*b,.0187*c,0,0,1,.1919*b,.8877*c);a.arcTo(.023*b,.0326*c,0,0,1,.1847*b,.9181*c);a.arcTo(.0431*b,.0174*c,0,0,0,.1919*b,.9311*c);a.arcTo(.1437*b,.1087*c,0,0,1,.2307*b,.9453*c);a.lineTo(.2307*b,.9616*c);a.lineTo(.1028*b,.9616*c);a.close();a.fill();a.setStrokeColor("#ffffff");a.setStrokeWidth(2.5);a.setLineJoin("round");a.begin();a.moveTo(.79*b,.89*c);a.lineTo(.9*b,.89*c);a.lineTo(.9*b,.95*c);a.lineTo(.79*b,.95*c);a.lineTo(.76*b,.92*c);a.close(); -a.fillAndStroke();a.setStrokeColor("#0F1B2B");a.begin();a.moveTo(.82*b,.907*c);a.lineTo(.85*b,.933*c);a.moveTo(.82*b,.933*c);a.lineTo(.85*b,.907*c);a.stroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_ICALL_BUTTONS,mxShapeMockupiCallButtons);function mxShapeMockupiOption(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiOption,mxShape); -mxShapeMockupiOption.prototype.customProperties=[{name:"buttonText",dispName:"Text",type:"string"},{name:"barPos",dispName:"Callout Position",type:"float",min:0,defVal:80},{name:"pointerPos",dispName:"Callout Orientation",type:"enum",enumList:[{val:"bottom",dispName:"Bottom"},{val:"top",dispName:"Top"}]}];mxShapeMockupiOption.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeMockupiOption.prototype.background=function(a,d,e,b,c){e=mxUtils.getValue(this.style,mxMockupC.BAR_POS,"80");e=Math.min(e,100);e=Math.max(e,0);d=mxUtils.getValue(this.style,mxMockupC.POINTER_POS,mxMockupC.POINTER_BOTTOM);e=10+(b-20)*e/100;a.setStrokeWidth(.5);a.setStrokeColor("#000000");a.setAlpha(.9);a.begin();d===mxMockupC.POINTER_BOTTOM?(a.setGradient("#000000","#888888",0,0,b,c,mxConstants.DIRECTION_NORTH,1,1),a.moveTo(0,2.5),a.arcTo(2.5,2.5,0,0,1,2.5,0),a.lineTo(b-2.5,0),a.arcTo(2.5,2.5, -0,0,1,b,2.5),a.lineTo(b,c-2.5-7.5),a.arcTo(2.5,2.5,0,0,1,b-2.5,c-7.5),a.lineTo(e+7.5,c-7.5),a.lineTo(e,c),a.lineTo(e-7.5,c-7.5),a.lineTo(2.5,c-7.5),a.arcTo(2.5,2.5,0,0,1,0,c-2.5-7.5)):d===mxMockupC.POINTER_TOP&&(a.setGradient("#000000","#888888",0,0,b,c,mxConstants.DIRECTION_NORTH,1,1),a.moveTo(0,10),a.arcTo(2.5,2.5,0,0,1,2.5,7.5),a.lineTo(e-7.5,7.5),a.lineTo(e,0),a.lineTo(e+7.5,7.5),a.lineTo(b-2.5,7.5),a.arcTo(2.5,2.5,0,0,1,b,10),a.lineTo(b,c-2.5),a.arcTo(2.5,2.5,0,0,1,b-2.5,c),a.lineTo(2.5,c),a.arcTo(2.5, -2.5,0,0,1,0,c-2.5));a.close();a.fillAndStroke()}; -mxShapeMockupiOption.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Some Location");e=mxUtils.getValue(this.style,mxMockupC.POINTER_POS,mxMockupC.POINTER_BOTTOM);a.setAlpha(1);a.setFontColor("#ffffff");a.setFontSize(9.5);e===mxMockupC.POINTER_BOTTOM?a.text(.5*b,.5*(c-7.5),0,0,d,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0):a.text(.5*b,.5*(c+7.5),0,0,d,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)}; -mxCellRenderer.registerShape(mxMockupC.SHAPE_IOPTION,mxShapeMockupiOption);function mxShapeMockupiAlphaList(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiAlphaList,mxShape); -mxShapeMockupiAlphaList.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.setShadow(!1);d=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8");a.setFontColor("#999999");a.setFontSize(d);a.text(.5*b,.069*c,0,0,"A",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.1035*c,0,0,"B",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.138*c,0,0,"C",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.1725* -c,0,0,"D",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.207*c,0,0,"E",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.2415*c,0,0,"F",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.276*c,0,0,"G",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.3105*c,0,0,"H",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.345*c,0,0,"I",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE, -0,null,0,0,0);a.text(.5*b,.3795*c,0,0,"J",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.414*c,0,0,"K",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.4485*c,0,0,"L",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.483*c,0,0,"M",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.5175*c,0,0,"N",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.552*c,0,0,"O",mxConstants.ALIGN_CENTER, -mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.5865*c,0,0,"P",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.621*c,0,0,"Q",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.6555*c,0,0,"R",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.69*c,0,0,"S",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.7245*c,0,0,"T",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5* -b,.759*c,0,0,"U",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.7935*c,0,0,"V",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.828*c,0,0,"W",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.8625*c,0,0,"X",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.897*c,0,0,"Y",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.9315*c,0,0,"Z",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE, -0,null,0,0,0);a.text(.5*b,.966*c,0,0,"#",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setStrokeColor("#999999");a.ellipse(.5*b-2.25,.0345*c-3.5,4.5,4.5);a.stroke();a.begin();a.moveTo(.5*b-4.25,.0345*c+3);a.lineTo(.5*b-1.75,.0345*c);a.stroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_IALPHA_LIST,mxShapeMockupiAlphaList);function mxShapeMockupiHorButtonBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} -mxUtils.extend(mxShapeMockupiHorButtonBar,mxShape);mxShapeMockupiHorButtonBar.prototype.customProperties=[{name:"buttonText",dispName:"Labels",type:"string"},{name:"textColor",dispName:"Text Color",type:"color"},{name:"textColor2",dispName:"Text2 Color",type:"color"},{name:"strokeColor2",dispName:"Stroke2 Color",type:"color"}]; -mxShapeMockupiHorButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR,"#666666"),h=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8.5").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxMockupC.STYLE_STROKECOLOR2, -"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxMockupC.STYLE_FILLCOLOR2,"#008cff"),q=f.length,r=Array(q),t=0,u=-1,v=0;vl&&(l=q)}a.roundrect(0,0,Math.max(b,5+l+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);a.setStrokeColor(h);for(p=0;pl&&(l=q)}a.roundrect(0,0,Math.max(b,5+l+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);a.setStrokeColor(h);a.setFillColor(h);for(p=0;pk&&(k=m)}g*=1.5;k=h*g;c=Math.max(c,k);a.translate(d,e);a.rect(0,0,b,c);a.fillAndStroke();a.setShadow(!1);a.begin();for(l=1;lk&&(k+=2*Math.PI);h=0;k>=Math.PI&&(h=1);a.begin();f%=1;g%=1;0==f&&.5==g?(a.moveTo(d,e),a.lineTo(l,m),a.arcTo(d, -e,0,0,1,b,.5*c),a.arcTo(d,e,0,0,1,.5*b,c)):.5==f&&0==g?(a.moveTo(d,e),a.lineTo(l,m),a.arcTo(d,e,0,0,1,0,.5*c),a.arcTo(d,e,0,0,1,.5*b,0)):(a.moveTo(d,e),a.lineTo(l,m),a.arcTo(d,e,0,h,1,n,p));a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicPie.prototype.cst.PIE,mxShapeBasicPie);mxShapeBasicPie.prototype.constraints=null; -Graph.handleFactory[mxShapeBasicPie.prototype.cst.PIE]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,b){var c=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(b.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1,(b.y-a.y-.5* -a.height)/(.5*a.height))))/100)/Math.PI;0>c&&(c=1+c);this.state.style.startAngle=c})];a=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,b){var c=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(b.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1,(b.y- -a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>c&&(c=1+c);this.state.style.endAngle=c});d.push(a);return d};function mxShapeBasicArc(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75}mxUtils.extend(mxShapeBasicArc,mxActor);mxShapeBasicArc.prototype.customProperties=[{name:"startAngle",dispName:"Start Angle",type:"float",min:0,max:1,defVal:.3},{name:"endAngle",dispName:"End Angle",type:"float",min:0,max:1,defVal:.1}]; -mxShapeBasicArc.prototype.cst={ARC:"mxgraph.basic.arc"}; -mxShapeBasicArc.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=2*Math.PI*f,k=2*Math.PI*g;d=.5*b;e=.5*c;var l=d+Math.sin(h)*d,m=e-Math.cos(h)*e,n=d+Math.sin(k)*d,p=e-Math.cos(k)*e,k=k-h;0>k&&(k+=2*Math.PI);h=0;k>Math.PI&&(h=1);a.begin();f%=1;g%=1;0==f&&.5==g?(a.moveTo(l,m),a.arcTo(d,e,0,0,1, -b,.5*c),a.arcTo(d,e,0,0,1,.5*b,c)):.5==f&&0==g?(a.moveTo(l,m),a.arcTo(d,e,0,0,1,0,.5*c),a.arcTo(d,e,0,0,1,.5*b,0)):(a.moveTo(l,m),a.arcTo(d,e,0,h,1,n,p));a.stroke()};mxCellRenderer.registerShape(mxShapeBasicArc.prototype.cst.ARC,mxShapeBasicArc);mxShapeBasicArc.prototype.constraints=null; -Graph.handleFactory[mxShapeBasicArc.prototype.cst.ARC]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,b){var c=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(b.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1,(b.y-a.y-.5* -a.height)/(.5*a.height))))/100)/Math.PI;0>c&&(c=1+c);this.state.style.startAngle=c})];a=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,b){var c=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(b.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1,(b.y- -a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>c&&(c=1+c);this.state.style.endAngle=c});d.push(a);return d};function mxShapeBasicPartConcEllipse(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeBasicPartConcEllipse,mxActor); -mxShapeBasicPartConcEllipse.prototype.customProperties=[{name:"startAngle",dispName:"Start Angle",type:"float",min:0,max:1,defVal:.25},{name:"endAngle",dispName:"End Angle",type:"float",min:0,max:1,defVal:.1},{name:"arcWidth",dispName:"Arc Width",type:"float",min:0,max:1,defVal:.5}];mxShapeBasicPartConcEllipse.prototype.cst={PART_CONC_ELLIPSE:"mxgraph.basic.partConcEllipse"}; -mxShapeBasicPartConcEllipse.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle))));d=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle))));var g=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));b*=.5;c*=.5;e=b*g;var g=c*g,h=d-f;0>h?h+=2*Math.PI:h==Math.PI&&(d+=1E-5);var k=b+Math.sin(f)*b,l=c- -Math.cos(f)*c,m=b+Math.sin(f)*e,f=c-Math.cos(f)*g,n=b+Math.sin(d)*b,p=c-Math.cos(d)*c,q=b+Math.sin(d)*e;d=c-Math.cos(d)*g;var r=0;h>=Math.PI&&(r=1);a.begin();a.moveTo(k,l);a.arcTo(b,c,0,r,1,n,p);a.lineTo(q,d);a.arcTo(e,g,0,r,0,m,f);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE,mxShapeBasicPartConcEllipse);mxShapeBasicPartConcEllipse.prototype.constraints=null; -Graph.handleFactory[mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1, -Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1, -Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.endAngle=b});d.push(e);a=Graph.createHandle(a,["arcWidth"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"arcWidth",this.arcWidth))));return new mxPoint(a.x+a.width/2,a.y+b*a.height*.5)},function(a,c){this.state.style.arcWidth=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,(c.y-a.y)/(.5*a.height))))/100});d.push(a);return d}; -function mxShapeBasicNumEntryVert(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=.5}mxUtils.extend(mxShapeBasicNumEntryVert,mxActor);mxShapeBasicNumEntryVert.prototype.cst={NUM_ENTRY_VERT:"mxgraph.basic.numberedEntryVert"}; -mxShapeBasicNumEntryVert.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));d=Math.min(d,b-10,c-5);a.ellipse(.5*b-.5*d,0,d,d);a.fillAndStroke();a.begin();a.moveTo(0,.5*d);a.lineTo(.5*b-.5*d-5,.5*d);a.arcTo(.5*d+5,.5*d+5,0,0,0,.5*b+.5*d+5,.5*d);a.lineTo(b,.5*d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicNumEntryVert.prototype.cst.NUM_ENTRY_VERT,mxShapeBasicNumEntryVert); -mxShapeBasicNumEntryVert.prototype.constraints=null;Graph.handleFactory[mxShapeBasicNumEntryVert.prototype.cst.NUM_ENTRY_VERT]=function(a){return[Graph.createHandle(a,["dy"],function(a){var d=Math.max(0,Math.min(a.width,a.width,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+a.width/2,a.y+d)},function(a,e){this.state.style.dy=Math.round(100*Math.max(0,Math.min(a.height,a.width,e.y-a.y)))/100})]}; -function mxShapeBasicBendingArch(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeBasicBendingArch,mxActor);mxShapeBasicBendingArch.prototype.cst={BENDING_ARCH:"mxgraph.basic.bendingArch"}; -mxShapeBasicBendingArch.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,h=e*h,l=d+Math.sin(f)*d,m=e-Math.cos(f)*e,n=d+Math.sin(f)*k,p=e-Math.cos(f)*h,q=d+Math.sin(g)* -d,r=e-Math.cos(g)*e,t=d+Math.sin(g)*k,u=e-Math.cos(g)*h,g=g-f;0>g&&(g+=2*Math.PI);f=0;g>Math.PI&&(f=1);var g=k-5,v=h-5;a.ellipse(.5*b-g,.5*c-v,2*g,2*v);a.fillAndStroke();a.begin();a.moveTo(l,m);a.arcTo(d,e,0,f,1,q,r);a.lineTo(t,u);a.arcTo(k,h,0,f,0,n,p);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicBendingArch.prototype.cst.BENDING_ARCH,mxShapeBasicBendingArch);mxShapeBasicBendingArch.prototype.constraints=null; -Graph.handleFactory[mxShapeBasicBendingArch.prototype.cst.BENDING_ARCH]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1, -(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1, -(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.endAngle=b});d.push(e);a=Graph.createHandle(a,["arcWidth"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"arcWidth",this.arcWidth))));return new mxPoint(a.x+a.width/2,a.y+b*a.height*.5)},function(a,c){this.state.style.arcWidth=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,(c.y-a.y)/(.5*a.height))))/100});d.push(a);return d}; -function mxShapeBasicThreeCornerRoundRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=.5}mxUtils.extend(mxShapeBasicThreeCornerRoundRect,mxActor);mxShapeBasicThreeCornerRoundRect.prototype.customProperties=[{name:"dx",dispName:"Rounding Size",type:"float",min:0,defVal:6}];mxShapeBasicThreeCornerRoundRect.prototype.cst={THREE_CORNER_ROUND_RECT:"mxgraph.basic.three_corner_round_rect"}; -mxShapeBasicThreeCornerRoundRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=2*Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));d=Math.min(.5*b,.5*c,d);a.begin();a.moveTo(d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c-d);a.arcTo(d,d,0,0,1,b-d,c);a.lineTo(0,c);a.lineTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicThreeCornerRoundRect.prototype.cst.THREE_CORNER_ROUND_RECT,mxShapeBasicThreeCornerRoundRect); -mxShapeBasicThreeCornerRoundRect.prototype.constraints=null;Graph.handleFactory[mxShapeBasicThreeCornerRoundRect.prototype.cst.THREE_CORNER_ROUND_RECT]=function(a){return[Graph.createHandle(a,["dx"],function(a){var d=Math.max(0,Math.min(a.width/4,a.width/4,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx))));return new mxPoint(a.x+d,a.y+d)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.height/4,a.width/4,e.x-a.x)))/100})]}; -mxShapeBasicThreeCornerRoundRect.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));return a}; -function mxShapeBasicRect2(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize=!0;this.indent=2;this.rectOutline="single"}mxUtils.extend(mxShapeBasicRect2,mxActor);mxShapeBasicRect2.prototype.cst={RECT2:"mxgraph.basic.rect"}; -mxShapeBasicRect2.prototype.customProperties=[{name:"rectStyle",dispName:"Style",type:"enum",defVal:"square",enumList:[{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"size",dispName:"Corner Size",type:"float",defVal:10},{name:"absoluteCornerSize",dispName:"Abs. Corner Size",type:"bool",defVal:!0},{name:"indent",dispName:"Indent",type:"float",defVal:2},{name:"rectOutline",dispName:"Outline", -type:"enum",defVal:"single",enumList:[{val:"single",dispName:"Single"},{val:"double",dispName:"Double"},{val:"frame",dispName:"Frame"}]},{name:"fillColor2",dispName:"Inside Fill Color",type:"color",defVal:"none"},{name:"gradientColor2",dispName:"Inside Gradient Color",type:"color",defVal:"none"},{name:"gradientDirection2",dispName:"Inside Gradient Direction",type:"enum",defVal:"south",enumList:[{val:"south",dispName:"South"},{val:"west",dispName:"West"},{val:"north",dispName:"North"},{val:"east", -dispName:"East"}]},{name:"top",dispName:"Top Line",type:"bool",defVal:!0},{name:"right",dispName:"Right",type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left ",type:"bool",defVal:!0},{name:"topLeftStyle",dispName:"Top Left Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold", -dispName:"Fold"}]},{name:"topRightStyle",dispName:"Top Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomRightStyle",dispName:"Bottom Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"}, -{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomLeftStyle",dispName:"Bottom Left Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]}]; -mxShapeBasicRect2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,"rectStyle",this.rectStyle),g=mxUtils.getValue(this.style,"absoluteCornerSize",this.absoluteCornerSize),h=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),k=Math.max(0,Math.min(50,h)),h=Math.min(.5*c,.5*b,h);g||(h=k*Math.min(b,c)/100);var k=mxUtils.getValue(this.style,"rectOutline",this.rectOutline),l=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style, -"indent",this.indent)))),m=Math.max(0,Math.min(50,l)),h=Math.min(h,.5*Math.min(b,c));g||(l=Math.min(m*Math.min(b,c)/100));var l=Math.min(l,.5*Math.min(b,c)-h),g=mxUtils.getValue(this.style,"top",!0),m=mxUtils.getValue(this.style,"right",!0),n=mxUtils.getValue(this.style,"bottom",!0),p=mxUtils.getValue(this.style,"left",!0),q=mxUtils.getValue(this.style,"topLeftStyle","default"),r=mxUtils.getValue(this.style,"topRightStyle","default"),t=mxUtils.getValue(this.style,"bottomRightStyle","default"),u=mxUtils.getValue(this.style, -"bottomLeftStyle","default"),v=mxUtils.getValue(this.style,"fillColor","none"),w;mxUtils.getValue(this.style,"fillColor2","none");var x=mxUtils.getValue(this.style,"gradientColor2","none"),A=mxUtils.getValue(this.style,"gradientDirection2","south"),y=mxUtils.getValue(this.style,"opacity","100");if((g||m||n||p)&&"frame"!=k){a.begin();g?mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p):a.moveTo(0,0);g&&mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p);mxShapeBasicRect2.prototype.paintTop(a, -d,e,b,c,f,r,h,m);m&&mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g);mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n);n&&mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m);mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p);p&&mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n);mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g);a.close();a.fill();a.setShadow(!1);w=mxUtils.getValue(this.style,"fillColor2","none");a.setFillColor(w);var z=y;"none"==w&&(z=0);"none"== -x&&(y=0);a.setGradient(w,x,0,0,b,c,A,z,y);a.begin();g?mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p):a.moveTo(l,0);mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p);p&&n&&mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n);mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n);n&&m&&mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l);mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m);m&&g&&mxShapeBasicRect2.prototype.paintNEInner(a, -d,e,b,c,f,r,h,l);mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g);g&&p&&mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l);a.fill();"none"==v&&(a.begin(),mxShapeBasicRect2.prototype.paintFolds(a,d,e,b,c,f,q,r,t,u,h,g,m,n,p),a.stroke())}g||m||n||!p?g||m||!n||p?!g&&!m&&n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a, -d,e,b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a, -d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),a.close(),a.fillAndStroke()):g||!m||n||p?!g&&m&&!n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a, -d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke(),a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a, -d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke(),a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):!g&&m&&n&&!p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a, -d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a, -d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):!g&&m&&n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h, -g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a, -d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c, -f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):!g||m||n||p?g&&!m&&!n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSW(a, -d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a, -d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke()):g&&!m&&n&&!p?"frame"!=k?(a.begin(), -mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g)),a.stroke(),a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a, -d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),a.close(),a.fillAndStroke(),a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a, -d,e,b,c,f,t,h,l,m,n),a.close(),a.fillAndStroke()):g&&!m&&n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a, -d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a, -d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t, -h,l,m,n),a.close(),a.fillAndStroke()):g&&m&&!n&&!p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a, -d,e,b,c,f,q,h,l,p,g)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d, -e,b,c,f,q,h,l,p,g),a.close(),a.fillAndStroke()):g&&m&&!n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a, -d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a, -d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h, -l,n,p),a.close(),a.fillAndStroke()):g&&m&&n&&!p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a, -d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a, -d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f, -q,h,l,p,g),a.close(),a.fillAndStroke()):g&&m&&n&&p&&("frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a, -d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),a.close(),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a, -d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close()),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e, -b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),a.close(),mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f, -r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke())):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a, -d,e,b,c,f,q,h,l,p,g)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),a.close(),a.fillAndStroke()):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d, -e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b, -c,f,u,h,p),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),a.close(),a.fillAndStroke()):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSW(a, -d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke()); -a.begin();mxShapeBasicRect2.prototype.paintFolds(a,d,e,b,c,f,q,r,t,u,h,g,m,n,p);a.stroke()};mxShapeBasicRect2.prototype.moveNW=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(0,0):a.moveTo(0,h)};mxShapeBasicRect2.prototype.moveNE=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(b,0):a.moveTo(b-h,0)};mxShapeBasicRect2.prototype.moveSE=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(b,c):a.moveTo(b,c-h)}; -mxShapeBasicRect2.prototype.moveSW=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(0,c):a.moveTo(h,c)};mxShapeBasicRect2.prototype.paintNW=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,h,0)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(h,0);else a.lineTo(0,0)}; -mxShapeBasicRect2.prototype.paintTop=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(b,0):a.lineTo(b-h,0)};mxShapeBasicRect2.prototype.paintNE=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,b,h)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b,h);else a.lineTo(b,0)}; -mxShapeBasicRect2.prototype.paintRight=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(b,c):a.lineTo(b,c-h)};mxShapeBasicRect2.prototype.paintLeft=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(0,0):a.lineTo(0,h)}; -mxShapeBasicRect2.prototype.paintSE=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,b-h,c)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b-h,c);else a.lineTo(b,c)};mxShapeBasicRect2.prototype.paintBottom=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(0,c):a.lineTo(h,c)}; -mxShapeBasicRect2.prototype.paintSW=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,0,c-h)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(0,c-h);else a.lineTo(0,c)}; -mxShapeBasicRect2.prototype.paintNWInner=function(a,d,e,b,c,f,g,h,k){if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,k,.5*k+h);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,k,k+h);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(k,.5*k+h);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(k+h,k+h),a.lineTo(k,k+h)}; -mxShapeBasicRect2.prototype.paintTopInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(0,k):l&&!m?a.lineTo(k,0):l?"square"==g||"default"==g&&"square"==f?a.lineTo(k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(h+.5*k,k):a.lineTo(h+k,k):a.lineTo(0,k):a.lineTo(0,0)}; -mxShapeBasicRect2.prototype.paintNEInner=function(a,d,e,b,c,f,g,h,k){if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,b-h-.5*k,k);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,b-h-k,k);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(b-h-.5*k,k);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(b-h-k,h+k),a.lineTo(b-h-k,k)}; -mxShapeBasicRect2.prototype.paintRightInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(b-k,0):l&&!m?a.lineTo(b,k):l?"square"==g||"default"==g&&"square"==f?a.lineTo(b-k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-k,h+.5*k):a.lineTo(b-k,h+k):a.lineTo(b-k,0):a.lineTo(b,0)}; -mxShapeBasicRect2.prototype.paintLeftInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(k,c):l&&!m?a.lineTo(0,c-k):l?"square"==g||"default"==g&&"square"==f?a.lineTo(k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(k,c-h-.5*k):a.lineTo(k,c-h-k):a.lineTo(k,c):a.lineTo(0,c)}; -mxShapeBasicRect2.prototype.paintSEInner=function(a,d,e,b,c,f,g,h,k){if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,b-k,c-h-.5*k);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,b-k,c-h-k);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(b-k,c-h-.5*k);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(b-h-k,c-h-k),a.lineTo(b-k,c-h-k)}; -mxShapeBasicRect2.prototype.paintBottomInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(b,c-k):l&&!m?a.lineTo(b-k,c):"square"==g||"default"==g&&"square"==f||!l?a.lineTo(b-k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-h-.5*k,c-k):a.lineTo(b-h-k,c-k):a.lineTo(b,c)}; -mxShapeBasicRect2.prototype.paintSWInner=function(a,d,e,b,c,f,g,h,k,l){if(!l)a.lineTo(k,c);else if("square"==g||"default"==g&&"square"==f)a.lineTo(k,c-k);else if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,h+.5*k,c-k);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,h+k,c-k);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(h+.5*k,c-k);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(k+h,c-h-k),a.lineTo(k+h,c-k)}; -mxShapeBasicRect2.prototype.moveSWInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.moveTo(k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(k,c-h-k):a.moveTo(0,c-k)}; -mxShapeBasicRect2.prototype.lineSWInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.lineTo(k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(k,c-h-k):a.lineTo(0,c-k)}; -mxShapeBasicRect2.prototype.moveSEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.moveTo(b-k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(b-k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(b-k,c-h-k):a.moveTo(b-k,c)}; -mxShapeBasicRect2.prototype.lineSEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.lineTo(b-k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b-k,c-h-k):a.lineTo(b-k,c)}; -mxShapeBasicRect2.prototype.moveNEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f||l?a.moveTo(b-k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(b-k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(b-k,h+k):a.moveTo(b,k)}; -mxShapeBasicRect2.prototype.lineNEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f||l?a.lineTo(b-k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b-k,h+k):a.lineTo(b,k)}; -mxShapeBasicRect2.prototype.moveNWInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.moveTo(k,0):l&&!m?a.moveTo(0,k):"square"==g||"default"==g&&"square"==f?a.moveTo(k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(k,h+k):a.moveTo(0,0)}; -mxShapeBasicRect2.prototype.lineNWInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(k,0):l&&!m?a.lineTo(0,k):"square"==g||"default"==g&&"square"==f?a.lineTo(k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(k,h+k):a.lineTo(0,0)}; -mxShapeBasicRect2.prototype.paintFolds=function(a,d,e,b,c,f,g,h,k,l,m,n,p,q,r){if("fold"==f||"fold"==g||"fold"==h||"fold"==k||"fold"==l)("fold"==g||"default"==g&&"fold"==f)&&n&&r&&(a.moveTo(0,m),a.lineTo(m,m),a.lineTo(m,0)),("fold"==h||"default"==h&&"fold"==f)&&n&&p&&(a.moveTo(b-m,0),a.lineTo(b-m,m),a.lineTo(b,m)),("fold"==k||"default"==k&&"fold"==f)&&q&&p&&(a.moveTo(b-m,c),a.lineTo(b-m,c-m),a.lineTo(b,c-m)),("fold"==l||"default"==l&&"fold"==f)&&q&&r&&(a.moveTo(0,c-m),a.lineTo(m,c-m),a.lineTo(m,c))}; -mxCellRenderer.registerShape(mxShapeBasicRect2.prototype.cst.RECT2,mxShapeBasicRect2);mxShapeBasicRect2.prototype.constraints=null; -Graph.handleFactory[mxShapeBasicRect2.prototype.cst.DIAG_ROUND_RECT]=function(a){var d=[Graph.createHandle(a,["size"],function(a){var b=Math.max(0,Math.min(a.width/2,a.height/2,parseFloat(mxUtils.getValue(this.state.style,"size",this.size))));return new mxPoint(a.x+b,a.y+b)},function(a,b){this.state.style.size=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,b.x-a.x)))/100})];a=Graph.createHandle(a,["indent"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style, -"indent",this.dx2))));return new mxPoint(a.x+.75*a.width,a.y+b*a.height/200)},function(a,b){this.state.style.indent=Math.round(100*Math.max(0,Math.min(100,200*(b.y-a.y)/a.height)))/100});d.push(a);return d};function mxShapeBootstrapRRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRRect,mxShape);mxShapeBootstrapRRect.prototype.cst={PACKAGE:"mxgraph.bootstrap.rrect",R_SIZE:"rSize"}; -mxShapeBootstrapRRect.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];mxShapeBootstrapRRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapRRect.prototype.cst.R_SIZE,"10"));a.roundrect(0,0,b,c,d);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapRRect.prototype.cst.PACKAGE,mxShapeBootstrapRRect); -function mxShapeBootstrapTopButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapTopButton,mxShape);mxShapeBootstrapTopButton.prototype.cst={TOP_BUTTON:"mxgraph.bootstrap.topButton",R_SIZE:"rSize"};mxShapeBootstrapTopButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}]; -mxShapeBootstrapTopButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapTopButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapTopButton.prototype.cst.TOP_BUTTON,mxShapeBootstrapTopButton); -function mxShapeBootstrapBottomButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapBottomButton,mxShape);mxShapeBootstrapBottomButton.prototype.cst={BOTTOM_BUTTON:"mxgraph.bootstrap.bottomButton",R_SIZE:"rSize"};mxShapeBootstrapBottomButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}]; -mxShapeBootstrapBottomButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapBottomButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c-d);a.arcTo(d,d,0,0,1,b-d,c);a.lineTo(d,c);a.arcTo(d,d,0,0,1,0,c-d);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapBottomButton.prototype.cst.BOTTOM_BUTTON,mxShapeBootstrapBottomButton); -function mxShapeBootstrapRightButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRightButton,mxShape);mxShapeBootstrapRightButton.prototype.cst={RIGHT_BUTTON:"mxgraph.bootstrap.rightButton",R_SIZE:"rSize"};mxShapeBootstrapRightButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}]; -mxShapeBootstrapRightButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapRightButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(0,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c-d);a.arcTo(d,d,0,0,1,b-d,c);a.lineTo(0,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapRightButton.prototype.cst.RIGHT_BUTTON,mxShapeBootstrapRightButton); -function mxShapeBootstrapLeftButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapLeftButton,mxShape);mxShapeBootstrapLeftButton.prototype.cst={LEFT_BUTTON:"mxgraph.bootstrap.leftButton",R_SIZE:"rSize"};mxShapeBootstrapLeftButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}]; -mxShapeBootstrapLeftButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapLeftButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(b,0);a.lineTo(b,c);a.lineTo(d,c);a.arcTo(d,d,0,0,1,0,c-d);a.lineTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapLeftButton.prototype.cst.LEFT_BUTTON,mxShapeBootstrapLeftButton); -function mxShapeBootstrapLeftButtonStriped(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapLeftButtonStriped,mxShape);mxShapeBootstrapLeftButtonStriped.prototype.cst={LEFT_BUTTON_STRIPED:"mxgraph.bootstrap.leftButtonStriped"}; -mxShapeBootstrapLeftButtonStriped.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);rSize=5;a.begin();a.moveTo(b,0);a.lineTo(b,c);a.lineTo(rSize,c);a.arcTo(rSize,rSize,0,0,1,0,c-rSize);a.lineTo(0,rSize);a.arcTo(rSize,rSize,0,0,1,rSize,0);a.close();a.fill();a.setAlpha("0.2");d=.5*c;a.setFillColor("#ffffff");a.begin();a.moveTo(0,.75*c);a.lineTo(0,.25*c);a.lineTo(.75*c,c);a.lineTo(.25*c,c);a.close();a.fill();e=!1;for(var f=.5*d;!e;)a.begin(),a.moveTo(f,0),f+d>=b?(a.lineTo(b,0),a.lineTo(b, -b-f)):(a.lineTo(f+d,0),f+d+c>b?(a.lineTo(b,b-f-d),b-f>c?(a.lineTo(b,c),a.lineTo(f+c,c)):a.lineTo(b,b-f)):(a.lineTo(f+d+c,c),a.lineTo(f+c,c))),a.close(),a.fill(),f+=2*d,f>b&&(e=!0)};mxCellRenderer.registerShape(mxShapeBootstrapLeftButtonStriped.prototype.cst.LEFT_BUTTON_STRIPED,mxShapeBootstrapLeftButtonStriped);function mxShapeBootstrapRoundedButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRoundedButton,mxShape); -mxShapeBootstrapRoundedButton.prototype.cst={ROUNDED_BUTTON:"mxgraph.bootstrap.roundedButton"};mxShapeBootstrapRoundedButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);b>c?(d=.5*c,a.begin(),a.moveTo(b-d,0),a.arcTo(d,d,0,0,1,b-d,c),a.lineTo(d,c),a.arcTo(d,d,0,0,1,d,0)):(d=.5*b,a.begin(),a.moveTo(0,c-d),a.arcTo(d,d,0,0,0,b,c-d),a.lineTo(b,d),a.arcTo(d,d,0,0,0,0,d));a.close();a.fillAndStroke()}; -mxCellRenderer.registerShape(mxShapeBootstrapRoundedButton.prototype.cst.ROUNDED_BUTTON,mxShapeBootstrapRoundedButton);function mxShapeBootstrapArrow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapArrow,mxShape);mxShapeBootstrapArrow.prototype.cst={ARROW:"mxgraph.bootstrap.arrow"}; -mxShapeBootstrapArrow.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.moveTo(.9*b,0);a.lineTo(b,.5*c);a.lineTo(.9*b,c);a.stroke()};mxCellRenderer.registerShape(mxShapeBootstrapArrow.prototype.cst.ARROW,mxShapeBootstrapArrow);function mxShapeBootstrapTabTop(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapTabTop,mxShape); -mxShapeBootstrapTabTop.prototype.cst={TAB_TOP:"mxgraph.bootstrap.tabTop",R_SIZE:"rSize"};mxShapeBootstrapTabTop.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:5}]; -mxShapeBootstrapTabTop.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapTopButton.prototype.cst.R_SIZE,"10"));e=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");var f=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff");a.setStrokeColor(f);a.begin();a.moveTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke();a.setStrokeColor(e); -a.begin();a.moveTo(0,c);a.lineTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c);a.stroke()};mxCellRenderer.registerShape(mxShapeBootstrapTabTop.prototype.cst.TAB_TOP,mxShapeBootstrapTabTop);function mxShapeBootstrapImage(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapImage,mxShape);mxShapeBootstrapImage.prototype.cst={IMAGE:"mxgraph.bootstrap.image",R_SIZE:"rSize"}; -mxShapeBootstrapImage.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:5}]; -mxShapeBootstrapImage.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,parseInt(mxUtils.getValue(this.style,mxShapeBootstrapTopButton.prototype.cst.R_SIZE,"10")));mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff");a.begin();a.moveTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c-d);a.arcTo(d,d,0,0,1,b-d,c);a.lineTo(d,c);a.arcTo(d,d,0,0,1,0,c-d);a.close(); -a.stroke();e=.5*d;a.translate(e,e);b=Math.max(0,b-d);c=Math.max(0,c-d);a.begin();a.moveTo(0,e);a.arcTo(e,e,0,0,1,e,0);a.lineTo(b-e,0);a.arcTo(e,e,0,0,1,b,e);a.lineTo(b,c-e);a.arcTo(e,e,0,0,1,b-e,c);a.lineTo(e,c);a.arcTo(e,e,0,0,1,0,c-e);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeBootstrapImage.prototype.cst.IMAGE,mxShapeBootstrapImage);function mxShapeBootstrapCheckbox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} -mxUtils.extend(mxShapeBootstrapCheckbox,mxShape);mxShapeBootstrapCheckbox.prototype.cst={CHECKBOX:"mxgraph.bootstrap.checkbox"};mxShapeBootstrapCheckbox.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.roundrect(0,0,b,c,3,3);a.fillAndStroke();a.setStrokeWidth("3");a.begin();a.moveTo(.8*b,.2*c);a.lineTo(.4*b,.8*c);a.lineTo(.25*b,.6*c);a.stroke()};mxCellRenderer.registerShape(mxShapeBootstrapCheckbox.prototype.cst.CHECKBOX,mxShapeBootstrapCheckbox); -function mxShapeBootstrapRadioButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRadioButton,mxShape);mxShapeBootstrapRadioButton.prototype.cst={RADIO_BUTTON:"mxgraph.bootstrap.radioButton"}; -mxShapeBootstrapRadioButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.ellipse(0,0,b,c);a.fillAndStroke();a.setFillColor(d);a.ellipse(.25*b,.25*c,.5*b,.5*c);a.fill()};mxCellRenderer.registerShape(mxShapeBootstrapRadioButton.prototype.cst.RADIO_BUTTON,mxShapeBootstrapRadioButton); -function mxShapeBootstrapHorLines(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapHorLines,mxShape);mxShapeBootstrapHorLines.prototype.cst={HOR_LINES:"mxgraph.bootstrap.horLines"};mxShapeBootstrapHorLines.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.rect(0,0,b,c);a.fill();a.begin();a.moveTo(0,0);a.lineTo(b,0);a.moveTo(0,c);a.lineTo(b,c);a.stroke()}; -mxCellRenderer.registerShape(mxShapeBootstrapHorLines.prototype.cst.HOR_LINES,mxShapeBootstrapHorLines);function mxShapeBootstrapUserTwo(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapUserTwo,mxShape);mxShapeBootstrapUserTwo.prototype.cst={USER2:"mxgraph.bootstrap.user2"}; -mxShapeBootstrapUserTwo.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,.95*c);a.arcTo(.3*b,.3*c,0,0,1,.02*b,.87*c);a.arcTo(.1*b,.1*c,0,0,1,.08*b,.812*c);a.arcTo(3*b,3*c,0,0,1,.29*b,.732*c);a.arcTo(.15*b,.15*c,0,0,0,.385*b,.607*c);a.arcTo(.11*b,.11*c,0,0,0,.355*b,.53*c);a.arcTo(.3*b,.3*c,0,0,1,.305*b,.44*c);a.arcTo(.33*b,.38*c,0,0,1,.312*b,.15*c);a.arcTo(.218*b,.218*c,0,0,1,.688*b,.15*c);a.arcTo(.33*b,.38*c,0,0,1,.693*b,.44*c);a.arcTo(.25*b,.25*c,0,0,1,.645*b, -.53*c);a.arcTo(.1*b,.1*c,0,0,0,.612*b,.6*c);a.arcTo(.15*b,.15*c,0,0,0,.7*b,.726*c);a.arcTo(3*b,3*c,0,0,1,.92*b,.812*c);a.arcTo(.1*b,.1*c,0,0,1,.97*b,.865*c);a.arcTo(.2*b,.2*c,0,0,1,.995*b,.952*c);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeBootstrapUserTwo.prototype.cst.USER2,mxShapeBootstrapUserTwo);function mxShapeBootstrapRating(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRating,mxShape); -mxShapeBootstrapRating.prototype.cst={RATING:"mxgraph.bootstrap.rating",RATING_STYLE:"ratingStyle",RATING_SCALE:"ratingScale",RATING_HEART:"heart",RATING_STAR:"star",EMPTY_FILL_COLOR:"emptyFillColor",GRADE:"grade"}; -mxShapeBootstrapRating.prototype.customProperties=[{name:"ratingStyle",dispName:"Rating Style",type:"enum",enumList:[{val:"heart",dispName:"Heart"},{val:"star",dispName:"Star"}]},{name:"ratingScale",dispName:"Rating Scale",type:"int",min:1,defVal:5},{name:"emptyFillColor",dispName:"Inactive Color",type:"color",defVal:"none"},{name:"grade",dispName:"Grade",type:"int",min:1,defVal:3}]; -mxShapeBootstrapRating.prototype.paintVertexShape=function(a,d,e,b,c){b=mxUtils.getValue(this.style,mxShapeBootstrapRating.prototype.cst.RATING_STYLE,mxShapeBootstrapRating.prototype.cst.RATING_STAR);var f=mxUtils.getValue(this.style,mxShapeBootstrapRating.prototype.cst.GRADE,"5"),g=mxUtils.getValue(this.style,mxShapeBootstrapRating.prototype.cst.RATING_SCALE,"10");a.translate(d,e);if(b===mxShapeBootstrapRating.prototype.cst.RATING_STAR)for(d=0;d=4*e&&(a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1)),a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1)));return a};function mxShapeDFDArchive(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} -mxUtils.extend(mxShapeDFDArchive,mxShape);mxShapeDFDArchive.prototype.cst={ARCHIVE:"mxgraph.dfd.archive"};mxShapeDFDArchive.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(.5*b,c);a.close();a.fillAndStroke();a.setShadow(!1);a.begin();a.moveTo(.1*b,.2*c);a.lineTo(.9*b,.2*c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDArchive.prototype.cst.ARCHIVE,mxShapeDFDArchive); -mxShapeDFDArchive.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.875,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.625, -.75),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.375,.75),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.125,.25),!1));return a};function mxShapeDFDCheck2(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDCheck2,mxShape);mxShapeDFDCheck2.prototype.cst={CHECK2:"mxgraph.dfd.check2"}; -mxShapeDFDCheck2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(.5*c,.5*b);a.begin();a.moveTo(0,.5*c);a.lineTo(d,0);a.lineTo(b-d,0);a.lineTo(b,.5*c);a.lineTo(b-d,c);a.lineTo(d,c);a.lineTo(0,.5*c);a.close();a.fillAndStroke();a.setShadow(!1);a.begin();a.moveTo(b-d,0);a.lineTo(b-2*d,.5*c);a.lineTo(b-d,c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDCheck2.prototype.cst.CHECK2,mxShapeDFDCheck2); -mxShapeDFDCheck2.prototype.getConstraints=function(a,d,e){a=[];var b=Math.min(.5*e,.5*d);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,.25*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,.25*e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*b,.75*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,.75*e));d>e&&(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,e)));4*b<=d&&(a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.25, -1),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1)));return a};function mxShapeDFDDataStoreID(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDDataStoreID,mxShape);mxShapeDFDDataStoreID.prototype.cst={DATA_STORE_ID:"mxgraph.dfd.dataStoreID"}; -mxShapeDFDDataStoreID.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(b,c);a.lineTo(0,c);a.lineTo(0,0);a.lineTo(b,0);a.stroke();a.setShadow(!1);d=Math.min(30,b);a.begin();a.moveTo(d,0);a.lineTo(d,c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDDataStoreID.prototype.cst.DATA_STORE_ID,mxShapeDFDDataStoreID);mxShapeDFDDataStoreID.prototype.constraints=null; -function mxShapeDFDExternalEntity(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDExternalEntity,mxShape);mxShapeDFDExternalEntity.prototype.cst={EXTERNAL_ENTITY:"mxgraph.dfd.externalEntity"}; -mxShapeDFDExternalEntity.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b-10,0);a.lineTo(b,10);a.lineTo(b,c);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillColor("#000000");a.setAlpha(.5);a.begin();a.moveTo(0,0);a.lineTo(b-10,0);a.lineTo(b,10);a.lineTo(10,10);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.fill();d=parseFloat(mxUtils.getValue(this.style,"opacity","100"));a.setAlpha(d/100);a.begin();a.moveTo(0,0);a.lineTo(b- -10,0);a.lineTo(b,10);a.lineTo(b,c);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.moveTo(10,c);a.lineTo(10,10);a.lineTo(b,10);a.moveTo(0,0);a.lineTo(10,10);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDExternalEntity.prototype.cst.EXTERNAL_ENTITY,mxShapeDFDExternalEntity); -mxShapeDFDExternalEntity.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*(d-10),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-10),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*(d-10),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-10,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,10,e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.25*(d-10)+10,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-10)+10,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*(d-10)+10,e));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,10));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,10+.25*(e-10)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,10+.5*(e-10)));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d,10+.75*(e-10)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(e-10)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(e-10)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.75*(e-10)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e-10));return a};function mxShapeDFDLoop(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDLoop,mxShape); -mxShapeDFDLoop.prototype.cst={LOOP:"mxgraph.dfd.loop"};mxShapeDFDLoop.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(.8*c,.8*b);a.begin();a.moveTo(b-.25*d,0);a.arcTo(d,d,0,0,1,b-.25*d,c);a.lineTo(.25*d,c);a.arcTo(d,d,0,0,1,.25*d,0);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeDFDLoop.prototype.cst.LOOP,mxShapeDFDLoop); -mxShapeDFDLoop.prototype.getConstraints=function(a,d,e){a=[];var b=Math.min(.8*e,.8*d);a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.25*b,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.25*b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*b,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*b,e));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));return a}; -function mxShapeEipMessageExpiration(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeEipMessageExpiration,mxShape);mxShapeEipMessageExpiration.prototype.cst={SHAPE_MESS_EXP:"mxgraph.eip.messExp"};mxShapeEipMessageExpiration.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)}; -mxShapeEipMessageExpiration.prototype.background=function(a,d,e,b,c){a.ellipse(0,0,b,c);a.stroke();a.setStrokeColor("#808080");a.begin();a.moveTo(.5*b,.1*c);a.lineTo(.5*b,.5*c);a.lineTo(.6*b,.8*c);a.stroke()};mxCellRenderer.registerShape(mxShapeEipMessageExpiration.prototype.cst.SHAPE_MESS_EXP,mxShapeEipMessageExpiration); -mxShapeEipMessageExpiration.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(.145,.145),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,.145),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));return a};function mxShapeEipReturnAddress(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeEipReturnAddress,mxShape);mxShapeEipReturnAddress.prototype.cst={SHAPE_RET_ADDR:"mxgraph.eip.retAddr"};mxShapeEipReturnAddress.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeEipReturnAddress.prototype.background=function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke()}; -mxShapeEipReturnAddress.prototype.foreground=function(a,d,e,b,c){a.begin();a.moveTo(.05*b,.11*c);a.lineTo(.25*b,.11*c);a.moveTo(.05*b,.18*c);a.lineTo(.25*b,.18*c);a.moveTo(.05*b,.25*c);a.lineTo(.25*b,.25*c);a.setStrokeWidth(2);a.moveTo(.3*b,.63*c);a.lineTo(.8*b,.63*c);a.moveTo(.3*b,.72*c);a.lineTo(.8*b,.72*c);a.moveTo(.3*b,.8*c);a.lineTo(.8*b,.8*c);a.stroke();a.setFillColor("#EDEDED");a.rect(.8*b,.1*c,.12*b,.19*c);a.fillAndStroke()}; -mxCellRenderer.registerShape(mxShapeEipReturnAddress.prototype.cst.SHAPE_RET_ADDR,mxShapeEipReturnAddress); -mxShapeEipReturnAddress.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1, -.75),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.75),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.25),!1));return a}; -function mxShapeEipAnchor(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeEipAnchor,mxShape);mxShapeEipAnchor.prototype.cst={SHAPE_ANCHOR:"mxgraph.eip.anchor"};mxShapeEipAnchor.prototype.paintVertexShape=function(a,d,e,b,c){};mxCellRenderer.registerShape(mxShapeEipAnchor.prototype.cst.SHAPE_ANCHOR,mxShapeEipAnchor); -function mxShapeEipMessageChannel(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeEipMessageChannel,mxShape);mxShapeEipMessageChannel.prototype.cst={SHAPE_MESSAGE_CHANNEL:"mxgraph.eip.messageChannel"};mxShapeEipMessageChannel.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeEipMessageChannel.prototype.background=function(a,d,e,b,c){a.setGradient("#e6e6e6","#808080",0,0,b,c,mxConstants.DIRECTION_SOUTH,1,1);a.begin();a.moveTo(8,.5*c+10);a.arcTo(12,12,0,0,1,8,.5*c-10);a.lineTo(b-8,.5*c-10);a.arcTo(12,12,0,0,1,b-8,.5*c+10);a.close();a.fillAndStroke()};mxShapeEipMessageChannel.prototype.foreground=function(a,d,e,b,c){a.setFillColor("#e6e6e6");a.begin();a.moveTo(b-8,.5*c-10);a.arcTo(12,12,0,0,1,b-8,.5*c+10);a.arcTo(12,12,0,0,1,b-8,.5*c-10);a.fillAndStroke()}; -mxCellRenderer.registerShape(mxShapeEipMessageChannel.prototype.cst.SHAPE_MESSAGE_CHANNEL,mxShapeEipMessageChannel);mxShapeEipMessageChannel.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,2.7,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null,-2.7,0));for(e=10;eb&&(a.begin(),a.moveTo(.5*b,e),a.lineTo(.5*b,c),a.stroke())};mxCellRenderer.registerShape(mxShapeElectricalTestPoint.prototype.cst.SHAPE_TEST_POINT,mxShapeElectricalTestPoint); -mxShapeElectricalTestPoint.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0)];function mxShapeElectricalStraightBus(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeElectricalStraightBus,mxShape);mxShapeElectricalStraightBus.prototype.cst={SHAPE_STRAIGHT_BUS:"mxgraph.electrical.transmission.straightBus"}; -mxShapeElectricalStraightBus.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=.2*b;e=b>c?.5*c:b/2;a.begin();a.moveTo(b-d,0);a.lineTo(b-d,c-e);a.lineTo(b,c-e);a.lineTo(.5*b,c);a.lineTo(0,c-e);a.lineTo(d,c-e);a.lineTo(d,0);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeElectricalStraightBus.prototype.cst.SHAPE_STRAIGHT_BUS,mxShapeElectricalStraightBus); -mxShapeElectricalStraightBus.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0)];function mxShapeElectricalTwoLineBusElbow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=0}mxUtils.extend(mxShapeElectricalTwoLineBusElbow,mxShape);mxShapeElectricalTwoLineBusElbow.prototype.cst={SHAPE_TWO_LINE_BUS_ELBOW:"mxgraph.electrical.transmission.twoLineBusElbow"}; -mxShapeElectricalTwoLineBusElbow.prototype.customProperties=[{name:"notch",dispName:"Spacing",type:"float",min:0,defVal:25}];mxShapeElectricalTwoLineBusElbow.prototype.paintVertexShape=function(a,d,e,b,c){var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.translate(d,e);a.begin();a.moveTo(0,c);a.lineTo(b,c);a.lineTo(b,0);a.stroke();d=Math.min(b,f);f=Math.min(c,f);a.begin();a.moveTo(0,c-f);a.lineTo(b-d,c-f);a.lineTo(b-d,0);a.stroke()}; -mxCellRenderer.registerShape(mxShapeElectricalTwoLineBusElbow.prototype.cst.SHAPE_TWO_LINE_BUS_ELBOW,mxShapeElectricalTwoLineBusElbow);mxShapeElectricalTwoLineBusElbow.prototype.constraints=null; -Graph.handleFactory[mxShapeElectricalTwoLineBusElbow.prototype.cst.SHAPE_TWO_LINE_BUS_ELBOW]=function(a){return[Graph.createHandle(a,["notch"],function(a){var d=Math.max(Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))),0);return new mxPoint(a.x+a.width/4,a.y+a.height-d)},function(a,e){this.state.style.notch=Math.round(.2*Math.max(0,a.width-e.y+a.y))/.2})]}; -function mxShapeElectricalThreeLineBusElbow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=0}mxUtils.extend(mxShapeElectricalThreeLineBusElbow,mxShape);mxShapeElectricalThreeLineBusElbow.prototype.cst={SHAPE_THREE_LINE_BUS_ELBOW:"mxgraph.electrical.transmission.threeLineBusElbow"};mxShapeElectricalThreeLineBusElbow.prototype.customProperties=[{name:"notch",dispName:"Spacing",type:"float",min:0,defVal:30}]; -mxShapeElectricalThreeLineBusElbow.prototype.paintVertexShape=function(a,d,e,b,c){var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.translate(d,e);a.begin();a.moveTo(0,c);a.lineTo(b,c);a.lineTo(b,0);a.stroke();d=Math.min(b,f);f=Math.min(c,f);a.begin();a.moveTo(0,c-f);a.lineTo(b-d,c-f);a.lineTo(b-d,0);a.stroke();a.begin();a.moveTo(0,c-f/2);a.lineTo(b-d/2,c-f/2);a.lineTo(b-d/2,0);a.stroke()}; -mxCellRenderer.registerShape(mxShapeElectricalThreeLineBusElbow.prototype.cst.SHAPE_THREE_LINE_BUS_ELBOW,mxShapeElectricalThreeLineBusElbow);mxShapeElectricalThreeLineBusElbow.prototype.constraints=null; -Graph.handleFactory[mxShapeElectricalThreeLineBusElbow.prototype.cst.SHAPE_THREE_LINE_BUS_ELBOW]=function(a){return[Graph.createHandle(a,["notch"],function(a){var d=Math.max(Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))),0);return new mxPoint(a.x+a.width/4,a.y+a.height-d)},function(a,e){this.state.style.notch=Math.round(.2*Math.max(0,a.width-e.y+a.y))/.2})]}; -function mxShapeElectricalFourLineBusElbow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=0}mxUtils.extend(mxShapeElectricalFourLineBusElbow,mxShape);mxShapeElectricalFourLineBusElbow.prototype.cst={SHAPE_FOUR_LINE_BUS_ELBOW:"mxgraph.electrical.transmission.fourLineBusElbow"};mxShapeElectricalFourLineBusElbow.prototype.customProperties=[{name:"notch",dispName:"Spacing",type:"float",min:0,defVal:75}]; -mxShapeElectricalFourLineBusElbow.prototype.paintVertexShape=function(a,d,e,b,c){var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.translate(d,e);a.begin();a.moveTo(0,c);a.lineTo(b,c);a.lineTo(b,0);a.stroke();d=Math.min(b,f);f=Math.min(c,f);a.begin();a.moveTo(0,c-f);a.lineTo(b-d,c-f);a.lineTo(b-d,0);a.stroke();a.begin();a.moveTo(0,c-f/3);a.lineTo(b-d/3,c-f/3);a.lineTo(b-d/3,0);a.stroke();a.begin();a.moveTo(0,c-2*f/3);a.lineTo(b-2*d/3,c-2*f/3);a.lineTo(b-2* -d/3,0);a.stroke()};mxCellRenderer.registerShape(mxShapeElectricalFourLineBusElbow.prototype.cst.SHAPE_FOUR_LINE_BUS_ELBOW,mxShapeElectricalFourLineBusElbow);mxShapeElectricalFourLineBusElbow.prototype.constraints=null; -Graph.handleFactory[mxShapeElectricalFourLineBusElbow.prototype.cst.SHAPE_FOUR_LINE_BUS_ELBOW]=function(a){return[Graph.createHandle(a,["notch"],function(a){var d=Math.max(Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))),0);return new mxPoint(a.x+a.width/4,a.y+a.height-d)},function(a,e){this.state.style.notch=Math.round(.2*Math.max(0,a.width-e.y+a.y))/.2})]}; -function mxShapeElectricalEightLineBusElbow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=0}mxUtils.extend(mxShapeElectricalEightLineBusElbow,mxShape);mxShapeElectricalEightLineBusElbow.prototype.cst={SHAPE_EIGHT_LINE_BUS_ELBOW:"mxgraph.electrical.transmission.eightLineBusElbow"};mxShapeElectricalEightLineBusElbow.prototype.customProperties=[{name:"notch",dispName:"Spacing",type:"float",min:0,defVal:180}]; -mxShapeElectricalEightLineBusElbow.prototype.paintVertexShape=function(a,d,e,b,c){var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.translate(d,e);a.begin();a.moveTo(0,c);a.lineTo(b,c);a.lineTo(b,0);a.stroke();d=Math.min(b,f);f=Math.min(c,f);a.begin();a.moveTo(0,c-f);a.lineTo(b-d,c-f);a.lineTo(b-d,0);a.stroke();a.begin();a.moveTo(0,c-f/7);a.lineTo(b-d/7,c-f/7);a.lineTo(b-d/7,0);a.stroke();a.begin();a.moveTo(0,c-2*f/7);a.lineTo(b-2*d/7,c-2*f/7);a.lineTo(b- -2*d/7,0);a.stroke();a.begin();a.moveTo(0,c-3*f/7);a.lineTo(b-3*d/7,c-3*f/7);a.lineTo(b-3*d/7,0);a.stroke();a.begin();a.moveTo(0,c-4*f/7);a.lineTo(b-4*d/7,c-4*f/7);a.lineTo(b-4*d/7,0);a.stroke();a.begin();a.moveTo(0,c-5*f/7);a.lineTo(b-5*d/7,c-5*f/7);a.lineTo(b-5*d/7,0);a.stroke();a.begin();a.moveTo(0,c-6*f/7);a.lineTo(b-6*d/7,c-6*f/7);a.lineTo(b-6*d/7,0);a.stroke()};mxCellRenderer.registerShape(mxShapeElectricalEightLineBusElbow.prototype.cst.SHAPE_EIGHT_LINE_BUS_ELBOW,mxShapeElectricalEightLineBusElbow); -mxShapeElectricalEightLineBusElbow.prototype.constraints=null;Graph.handleFactory[mxShapeElectricalEightLineBusElbow.prototype.cst.SHAPE_EIGHT_LINE_BUS_ELBOW]=function(a){return[Graph.createHandle(a,["notch"],function(a){var d=Math.max(Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))),0);return new mxPoint(a.x+a.width/4,a.y+a.height-d)},function(a,e){this.state.style.notch=Math.round(.2*Math.max(0,a.width-e.y+a.y))/.2})]}; -function mxShapeElectricalLogicGate(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeElectricalLogicGate,mxShape);mxShapeElectricalLogicGate.prototype.cst={SHAPE_LOGIC_GATE:"mxgraph.electrical.logic_gates.logic_gate"}; -mxShapeElectricalLogicGate.prototype.customProperties=[{name:"operation",dispName:"Operation",type:"enum",defVal:"and",enumList:[{val:"and",dispName:"And"},{val:"or",dispName:"Or"},{val:"xor",dispName:"Xor"}]},{name:"numInputs",dispName:"Inputs",type:"int",min:2,defVal:2},{name:"negating",dispName:"Negating",type:"bool",defVal:0}]; -mxShapeElectricalLogicGate.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,"numInputs","2"));e=c/d;var f=.5*e;a.begin();a.moveTo(.8*b,.5*c);a.lineTo(b,.5*c);for(var g=mxUtils.getValue(this.style,"operation","and"),h=0;h=d&&a.setFillColor("#bebebe");a.begin();a.moveTo(0,.5*c+22.5);a.lineTo(d*b,.5*c+22.5);a.fillAndStroke();a.begin();a.moveTo(d*b,.5*c+15.5);a.lineTo(d*b-10.5,.5*c+2.5);a.arcTo(15,15,0,0,1,d*b,.5*c-22.5);a.arcTo(15,15,0,0,1,d*b+10.5,.5*c+2.5);a.close();a.fill();"1"==g?a.setFillColor("#000000"):a.setFillColor("#ffffff");a.ellipse(-1.5,.5*c+21,3,3);a.fill();a.ellipse(.2*b-1.5,.5*c+21,3,3); -a.fill();a.ellipse(.4*b-1.5,.5*c+21,3,3);a.fill();a.ellipse(.6*b-1.5,.5*c+21,3,3);a.fill();a.ellipse(.8*b-1.5,.5*c+21,3,3);a.fill();a.ellipse(b-1.5,.5*c+21,3,3);a.fill();a.setFontSize(e);a.setFontColor(f);a.text(d*b,.5*c-9,0,0,Math.round(100*d).toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeGmdlSliderDiscreteDots.prototype.cst.SHAPE_DISCRETE_DOTS,mxShapeGmdlSliderDiscreteDots);mxShapeGmdlSliderDiscreteDots.prototype.constraints=null; -Graph.handleFactory[mxShapeGmdlSliderDiscreteDots.prototype.cst.SHAPE_DISCRETE_DOTS]=function(a){return[Graph.createHandle(a,["barPos"],function(a){var d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"barPos",.4))));return new mxPoint(a.x+d*a.width/100,a.y+a.height/2+22.5)},function(a,e){this.state.style.barPos=Math.round(.05*Math.max(0,Math.min(100,100*(e.x-a.x)/a.width)))/.05})]}; -function mxShapeGmdlProgressBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx1=.8}mxUtils.extend(mxShapeGmdlProgressBar,mxShape);mxShapeGmdlProgressBar.prototype.cst={PROGRESS_BAR:"mxgraph.gmdl.progressBar"};mxShapeGmdlProgressBar.prototype.customProperties=[{name:"dx1",dispName:"Handle Position",type:"int",min:0,defVal:.8}]; -mxShapeGmdlProgressBar.prototype.paintVertexShape=function(a,d,e,b,c){var f=b*Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx1",this.dx1))));a.translate(d,e);a.save();a.setStrokeColor("#aaaaaa");a.begin();a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.stroke();a.restore();a.setShadow(!1);a.begin();a.moveTo(0,.5*c);a.lineTo(f,.5*c);a.stroke()};mxCellRenderer.registerShape(mxShapeGmdlProgressBar.prototype.cst.PROGRESS_BAR,mxShapeGmdlProgressBar);mxShapeGmdlProgressBar.prototype.constraints=null; -Graph.handleFactory[mxShapeGmdlProgressBar.prototype.cst.PROGRESS_BAR]=function(a){var d=[Graph.createHandle(a,["dx1"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"dx1",this.dx1))));return new mxPoint(a.x+b*a.width,a.y+a.height/2)},function(a,b){this.state.style.dx1=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100})];a=Graph.createHandle(a,["dx2"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"dx2",this.dx1)))); -return new mxPoint(a.x+b*a.width,a.y+a.height/2)},function(a,b){this.state.style.dx2=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100});d.push(a);return d};function mxShapeInfographicNumEntryVert(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=.5}mxUtils.extend(mxShapeInfographicNumEntryVert,mxActor);mxShapeInfographicNumEntryVert.prototype.cst={NUM_ENTRY_VERT:"mxgraph.infographic.numberedEntryVert"}; -mxShapeInfographicNumEntryVert.prototype.customProperties=[{name:"dy",dispName:"Circle Size",min:0,defVal:25}]; -mxShapeInfographicNumEntryVert.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));d=Math.min(d,b-10,c-5);a.ellipse(.5*b-.5*d,0,d,d);a.fillAndStroke();a.begin();a.moveTo(0,.5*d);a.lineTo(.5*b-.5*d-5,.5*d);a.arcTo(.5*d+5,.5*d+5,0,0,0,.5*b+.5*d+5,.5*d);a.lineTo(b,.5*d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()}; -mxCellRenderer.registerShape(mxShapeInfographicNumEntryVert.prototype.cst.NUM_ENTRY_VERT,mxShapeInfographicNumEntryVert); -Graph.handleFactory[mxShapeInfographicNumEntryVert.prototype.cst.NUM_ENTRY_VERT]=function(a){return[Graph.createHandle(a,["dy"],function(a){var d=Math.max(0,Math.min(a.width,a.width,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+a.width/2,a.y+d)},function(a,e){this.state.style.dy=Math.round(100*Math.max(0,Math.min(a.height,a.width,e.y-a.y)))/100})]}; -mxShapeInfographicNumEntryVert.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));d=Math.min(b,d-10,e-5);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*d));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,0,.25*d)); -a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null,0,.25*d));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));return a};function mxShapeInfographicBendingArch(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeInfographicBendingArch,mxActor);mxShapeInfographicBendingArch.prototype.cst={BENDING_ARCH:"mxgraph.infographic.bendingArch"}; -mxShapeInfographicBendingArch.prototype.customProperties=[{name:"startAngle",dispName:"Start Angle",min:0,max:1,defVal:.75},{name:"endAngle",dispName:"End Angle",min:0,max:1,defVal:.25},{name:"arcWidth",dispName:"Arc Width",min:0,max:1,defVal:.25}]; -mxShapeInfographicBendingArch.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,h=e*h,l=d+Math.sin(f)*d,m=e-Math.cos(f)*e,n=d+Math.sin(f)*k,p=e-Math.cos(f)*h, -q=d+Math.sin(g)*d,r=e-Math.cos(g)*e,t=d+Math.sin(g)*k,u=e-Math.cos(g)*h,g=g-f;0>g&&(g+=2*Math.PI);f=0;g>Math.PI&&(f=1);var g=k-5,v=h-5;a.ellipse(.5*b-g,.5*c-v,2*g,2*v);a.fillAndStroke();a.begin();a.moveTo(l,m);a.arcTo(d,e,0,f,1,q,r);a.lineTo(t,u);a.arcTo(k,h,0,f,0,n,p);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeInfographicBendingArch.prototype.cst.BENDING_ARCH,mxShapeInfographicBendingArch);mxShapeInfographicBendingArch.prototype.constraints=null; -Graph.handleFactory[mxShapeInfographicBendingArch.prototype.cst.BENDING_ARCH]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1, -Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1, -Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.endAngle=b});d.push(e);a=Graph.createHandle(a,["arcWidth"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"arcWidth",this.arcWidth))));return new mxPoint(a.x+a.width/2,a.y+b*a.height*.5)},function(a,c){this.state.style.arcWidth=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,(c.y-a.y)/(.5*a.height))))/100});d.push(a);return d}; -function mxShapeInfographicParallelogram(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=10}mxUtils.extend(mxShapeInfographicParallelogram,mxActor);mxShapeInfographicParallelogram.prototype.cst={PARALLELOGRAM:"mxgraph.infographic.parallelogram"};mxShapeInfographicParallelogram.prototype.customProperties=[{name:"dx",dispName:"Angle",min:0,defVal:15}]; -mxShapeInfographicParallelogram.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(.5*b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));a.begin();a.moveTo(0,c);a.lineTo(2*d,0);a.lineTo(b,0);a.lineTo(b-2*d,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeInfographicParallelogram.prototype.cst.PARALLELOGRAM,mxShapeInfographicParallelogram); -Graph.handleFactory[mxShapeInfographicParallelogram.prototype.cst.PARALLELOGRAM]=function(a){return[Graph.createHandle(a,["dx"],function(a){var d=Math.max(0,Math.min(a.width/2,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx))));return new mxPoint(a.x+d,a.y+a.height/2)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width/2,e.x-a.x)))/100})]}; -mxShapeInfographicParallelogram.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(.5*d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=d-2*b;a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2*b,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2*b+.5*c,0));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,b,0));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d-2*b,e));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,d-b,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,e));return a};function mxShapeInfographicRibbonRolled(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=185;this.dy=15}mxUtils.extend(mxShapeInfographicRibbonRolled,mxActor);mxShapeInfographicRibbonRolled.prototype.cst={RIBBON_ROLLED:"mxgraph.infographic.ribbonRolled"}; -mxShapeInfographicRibbonRolled.prototype.customProperties=[{name:"dx",dispName:"Roll Length",min:0,defVal:185},{name:"dy",dispName:"Ribbon Width",min:0,defVal:15}]; -mxShapeInfographicRibbonRolled.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(.5*c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b,c-e);a.lineTo(b-d,c);a.lineTo(b-d,c-e);a.lineTo(0,c-e);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(0, -e);a.lineTo(d,0);a.lineTo(d,e);a.close();a.moveTo(b,c-e);a.lineTo(b-d,c);a.lineTo(b-d,c-e);a.close();a.fill();a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b,c-e);a.lineTo(b-d,c);a.lineTo(b-d,c-e);a.lineTo(0,c-e);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicRibbonRolled.prototype.cst.RIBBON_ROLLED,mxShapeInfographicRibbonRolled); -Graph.handleFactory[mxShapeInfographicRibbonRolled.prototype.cst.RIBBON_ROLLED]=function(a){return[Graph.createHandle(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),b=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+d,a.y+b)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,e.x-a.x)))/100;this.state.style.dy=Math.round(100*Math.max(0, -Math.min(a.height/2,e.y-a.y)))/100})]}; -mxShapeInfographicRibbonRolled.prototype.getConstraints=function(a,d,e){a=[];parseFloat(mxUtils.getValue(this.style,"dx",this.dx));var b=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));e-=b;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(1, -0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1,null,0,-b));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));return a}; -function mxShapeInfographicRibbonDoubleFolded(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=25;this.dy=15}mxUtils.extend(mxShapeInfographicRibbonDoubleFolded,mxActor);mxShapeInfographicRibbonDoubleFolded.prototype.cst={RIBBON_DOUBLE_FOLDED:"mxgraph.infographic.ribbonDoubleFolded"};mxShapeInfographicRibbonDoubleFolded.prototype.customProperties=[{name:"dx",dispName:"Fold Length",min:0,defVal:25},{name:"dy",dispName:"Ribbon Width",min:0,defVal:15}]; -mxShapeInfographicRibbonDoubleFolded.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(.5*c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b,c-e);a.lineTo(b-d,c);a.lineTo(b-d,c-e);a.lineTo(0,c-e);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(0, -e);a.lineTo(d,0);a.lineTo(d,c-2*e);a.lineTo(0,c-e);a.close();a.moveTo(b,c-e);a.lineTo(b-d,c);a.lineTo(b-d,c-e);a.close();a.fill();a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b,c-e);a.lineTo(b-d,c);a.lineTo(b-d,c-e);a.lineTo(0,c-e);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicRibbonDoubleFolded.prototype.cst.RIBBON_DOUBLE_FOLDED,mxShapeInfographicRibbonDoubleFolded); -Graph.handleFactory[mxShapeInfographicRibbonDoubleFolded.prototype.cst.RIBBON_DOUBLE_FOLDED]=function(a){return[Graph.createHandle(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),b=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+d,a.y+b)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,e.x-a.x)))/100;this.state.style.dy=Math.round(100* -Math.max(0,Math.min(a.height/2,e.y-a.y)))/100})]}; -mxShapeInfographicRibbonDoubleFolded.prototype.getConstraints=function(a,d,e){a=[];parseFloat(mxUtils.getValue(this.style,"dx",this.dx));d=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(1, -0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,e-d));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,e-d));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1,null,0,e-d));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,e-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e-d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));return a}; -function mxShapeInfographicRibbonFrontFolded(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=this.dy=this.dx=.5}mxUtils.extend(mxShapeInfographicRibbonFrontFolded,mxActor);mxShapeInfographicRibbonFrontFolded.prototype.cst={RIBBON_FRONT_FOLDED:"mxgraph.infographic.ribbonFrontFolded"}; -mxShapeInfographicRibbonFrontFolded.prototype.customProperties=[{name:"dx",dispName:"Fold Length",min:0,defVal:25},{name:"dy",dispName:"Ribbon Width",min:0,defVal:15},{name:"notch",dispName:"Notch",min:0,defVal:15}]; -mxShapeInfographicRibbonFrontFolded.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(.5*c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));var f=Math.max(0,Math.min(b-d,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b-f,(c-e)/2+e);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke(); -a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,c-e);a.lineTo(0,c);a.close();a.fill();a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b-f,(c-e)/2+e);a.lineTo(b,c);a.lineTo(0,c);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicRibbonFrontFolded.prototype.cst.RIBBON_FRONT_FOLDED,mxShapeInfographicRibbonFrontFolded); -Graph.handleFactory[mxShapeInfographicRibbonFrontFolded.prototype.cst.RIBBON_FRONT_FOLDED]=function(a){var d=[Graph.createHandle(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),c=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,b.x-a.x)))/100;this.state.style.dy=Math.round(100* -Math.max(0,Math.min(a.height/2,b.y-a.y)))/100})];a=Graph.createHandle(a,["notch"],function(a){var b=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy)))),c=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))));return new mxPoint(a.x+a.width-c,a.y+b+.5*(a.height-b))},function(a,b){this.state.style.notch=Math.round(100*Math.max(0,Math.min(a.width,a.width+a.x-b.x)))/100});d.push(a);return d}; -mxShapeInfographicRibbonFrontFolded.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),b=Math.max(0,Math.min(d-b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.5, -0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,.5*(e+c)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1), -!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(e+c)));return a};function mxShapeInfographicRibbonBackFolded(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=this.dy=this.dx=.5}mxUtils.extend(mxShapeInfographicRibbonBackFolded,mxActor);mxShapeInfographicRibbonBackFolded.prototype.cst={RIBBON_BACK_FOLDED:"mxgraph.infographic.ribbonBackFolded"}; -mxShapeInfographicRibbonBackFolded.prototype.customProperties=[{name:"dx",dispName:"Fold Length",min:0,defVal:25},{name:"dy",dispName:"Ribbon Width",min:0,defVal:15},{name:"notch",dispName:"Notch",min:0,defVal:15}]; -mxShapeInfographicRibbonBackFolded.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(.5*c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));var f=Math.max(0,Math.min(b-d,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b-f,(c-e)/2+e);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke();a.setShadow(!1); -a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.close();a.fill();a.begin();a.moveTo(0,e);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(b,e);a.lineTo(b-f,(c-e)/2+e);a.lineTo(b,c);a.lineTo(0,c);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicRibbonBackFolded.prototype.cst.RIBBON_BACK_FOLDED,mxShapeInfographicRibbonBackFolded); -Graph.handleFactory[mxShapeInfographicRibbonBackFolded.prototype.cst.RIBBON_BACK_FOLDED]=function(a){var d=[Graph.createHandle(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),c=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,b.x-a.x)))/100;this.state.style.dy=Math.round(100* -Math.max(0,Math.min(a.height/2,b.y-a.y)))/100})];a=Graph.createHandle(a,["notch"],function(a){var b=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy)))),c=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))));return new mxPoint(a.x+a.width-c,a.y+b+.5*(a.height-b))},function(a,b){this.state.style.notch=Math.round(100*Math.max(0,Math.min(a.width,a.width+a.x-b.x)))/100});d.push(a);return d}; -mxShapeInfographicRibbonBackFolded.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),b=Math.max(0,Math.min(d-b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.5, -0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,.5*(e+c)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1), -!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(e+c)));return a};function mxShapeInfographicBanner(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=this.dy=this.dx=.5}mxUtils.extend(mxShapeInfographicBanner,mxActor);mxShapeInfographicBanner.prototype.cst={BANNER:"mxgraph.infographic.banner"}; -mxShapeInfographicBanner.prototype.customProperties=[{name:"dx",dispName:"Fold Length",min:0,defVal:25},{name:"dy",dispName:"Ribbon Width",min:0,defVal:15},{name:"notch",dispName:"Notch",min:0,defVal:15}]; -mxShapeInfographicBanner.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b/2,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(.5*c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));d=Math.min(b/2-2*e,d);f=Math.min(d,f);a.begin();a.moveTo(0,e);a.lineTo(d,e);a.lineTo(d,0);a.lineTo(b-d,0);a.lineTo(b-d,e);a.lineTo(b,e);a.lineTo(b-f,.5*(c-e)+ -e);a.lineTo(b,c);a.lineTo(b-d-2*e,c);a.lineTo(b-d-2*e,c-e);a.lineTo(d+2*e,c-e);a.lineTo(d+2*e,c);a.lineTo(0,c);a.lineTo(f,.5*(c-e)+e);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(0,e);a.lineTo(d,e);a.lineTo(d,c-e);a.lineTo(d+2*e,c);a.lineTo(0,c);a.lineTo(f,.5*(c-e)+e);a.close();a.moveTo(b,e);a.lineTo(b-d,e);a.lineTo(b-d,c-e);a.lineTo(b-d-2*e,c);a.lineTo(b,c);a.lineTo(b-f,.5*(c-e)+e);a.close();a.fill();a.setFillAlpha("0.4");a.begin(); -a.moveTo(d,c-e);a.lineTo(d+2*e,c-e);a.lineTo(d+2*e,c);a.close();a.moveTo(b-d,c-e);a.lineTo(b-d-2*e,c-e);a.lineTo(b-d-2*e,c);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeInfographicBanner.prototype.cst.BANNER,mxShapeInfographicBanner); -Graph.handleFactory[mxShapeInfographicBanner.prototype.cst.BANNER]=function(a){var d=[Graph.createHandle(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width/2,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),c=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+a.width-b,a.y+c)},function(a,b){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width/2,a.x+a.width-b.x)))/100;this.state.style.dy=Math.round(100* -Math.max(0,Math.min(a.height/2,b.y-a.y)))/100})];a=Graph.createHandle(a,["notch"],function(a){var b=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy)))),c=Math.max(0,Math.min(a.width/2,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),c=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))));return new mxPoint(a.x+a.width-c,a.y+b+.5*(a.height-b))},function(a,b){this.state.style.notch=Math.round(100*Math.max(0,Math.min(a.width, -a.width+a.x-b.x)))/100});d.push(a);return d}; -mxShapeInfographicBanner.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d/2,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),f=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"notch",this.notch)))),b=Math.min(d/2-2*c,b),f=Math.min(b,f),g=d-2*b;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.25* -g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.5*g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.75*g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+g,.5*(e-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+g,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.75*g,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.5*g,e-c)); -a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.25*g,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*(e-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,.5*(e+c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,.5*(e+c)));return a}; -function mxShapeInfographicCircularCallout(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=.5}mxUtils.extend(mxShapeInfographicCircularCallout,mxActor);mxShapeInfographicCircularCallout.prototype.cst={CIRCULAR_CALLOUT:"mxgraph.infographic.circularCallout"};mxShapeInfographicCircularCallout.prototype.customProperties=[{name:"dy",dispName:"Ribbon Width",min:0,defVal:15}]; -mxShapeInfographicCircularCallout.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(.5*c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));e=Math.max(0,Math.min(.5*b,.5*b-d));var f=Math.max(0,Math.min(.5*c,.5*c-d));a.begin();a.moveTo(b,.5*c);a.arcTo(.5*b,.5*c,0,0,1,.5*b,c);a.arcTo(.5*b,.5*c,0,0,1,0,.5*c);a.arcTo(.5*b,.5*c,0,0,1,.5*b,0);a.lineTo(b,0);a.close();a.moveTo(.5*b,d);a.arcTo(e,f,0,0,0,.5*b-e,.5*c);a.arcTo(e,f,0,0,0,.5*b,.5*c+f);a.arcTo(e,f,0,0,0, -.5*b+e,.5*c);a.arcTo(e,f,0,0,0,.5*b,.5*c-f);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeInfographicCircularCallout.prototype.cst.CIRCULAR_CALLOUT,mxShapeInfographicCircularCallout); -Graph.handleFactory[mxShapeInfographicCircularCallout.prototype.cst.CIRCULAR_CALLOUT]=function(a){return[Graph.createHandle(a,["dy"],function(a){var d=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+.5*a.width,a.y+d)},function(a,e){this.state.style.dy=Math.round(100*Math.max(0,Math.min(a.height/2,e.y-a.y)))/100})]}; -mxShapeInfographicCircularCallout.prototype.getConstraints=function(a,d,e){a=[];parseFloat(mxUtils.getValue(this.style,"dy",this.dy));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.145),!1));return a};function mxShapeInfographicShadedTriangle(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeInfographicShadedTriangle,mxActor);mxShapeInfographicShadedTriangle.prototype.cst={SHADED_TRIANGLE:"mxgraph.infographic.shadedTriangle"}; -mxShapeInfographicShadedTriangle.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,c);a.lineTo(.5*b,0);a.lineTo(b,c);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillColor("#ffffff");a.setFillAlpha("0.2");a.begin();a.moveTo(0,c);a.lineTo(.5*b,0);a.lineTo(.5*b,.67*c);a.close();a.fill();a.setFillColor("#000000");a.begin();a.moveTo(b,c);a.lineTo(.5*b,.67*c);a.lineTo(.5*b,0);a.close();a.fill();a.begin();a.moveTo(0,c);a.lineTo(.5*b,0);a.lineTo(b,c);a.close();a.stroke()}; -mxCellRenderer.registerShape(mxShapeInfographicShadedTriangle.prototype.cst.SHADED_TRIANGLE,mxShapeInfographicShadedTriangle); -mxShapeInfographicShadedTriangle.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,.5),!1));return a}; -function mxShapeInfographicShadedPyramid(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeInfographicShadedPyramid,mxActor);mxShapeInfographicShadedPyramid.prototype.cst={SHADED_PYRAMID:"mxgraph.infographic.shadedPyramid"}; -mxShapeInfographicShadedPyramid.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(c-.3*b,0);a.begin();a.moveTo(0,d);a.lineTo(.5*b,0);a.lineTo(b,d);a.lineTo(.5*b,c);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillColor("#ffffff");a.setFillAlpha("0.2");a.begin();a.moveTo(0,d);a.lineTo(.5*b,0);a.lineTo(.5*b,c);a.close();a.fill();a.setFillColor("#000000");a.begin();a.moveTo(b,d);a.lineTo(.5*b,c);a.lineTo(.5*b,0);a.close();a.fill();a.begin();a.moveTo(0,d);a.lineTo(.5*b,0); -a.lineTo(b,d);a.lineTo(.5*b,c);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicShadedPyramid.prototype.cst.SHADED_PYRAMID,mxShapeInfographicShadedPyramid); -mxShapeInfographicShadedPyramid.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(e-.3*d,0);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,.5*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,.5*(e+b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25* -d,.5*(e+b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,.5*b));return a};function mxShapeInfographicPyramidStep(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeInfographicPyramidStep,mxActor);mxShapeInfographicPyramidStep.prototype.cst={PYRAMID_STEP:"mxgraph.infographic.pyramidStep"}; -mxShapeInfographicPyramidStep.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(.1*b,0);a.begin();a.moveTo(0,d);a.lineTo(.5*b,0);a.lineTo(b,d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillColor("#ffffff");a.setFillAlpha("0.2");a.begin();a.moveTo(0,d);a.lineTo(.5*b,0);a.lineTo(.5*b,c);a.lineTo(0,c);a.close();a.fill();a.setFillColor("#000000");a.begin();a.moveTo(b,d);a.lineTo(b,c);a.lineTo(.5*b,c);a.lineTo(.5*b,0);a.close();a.fill();a.begin(); -a.moveTo(0,d);a.lineTo(.5*b,0);a.lineTo(b,d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicPyramidStep.prototype.cst.PYRAMID_STEP,mxShapeInfographicPyramidStep); -mxShapeInfographicPyramidStep.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(.1*d,0);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,.5*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.25*(e-b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.5*(e-b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null, -d,b+.75*(e-b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b+.75*(e-b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b+.5*(e-b))); -a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b+.25*(e-b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,.5*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));return a};function mxShapeInfographicCylinder(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeInfographicCylinder,mxActor);mxShapeInfographicCylinder.prototype.cst={CYLINDER:"mxgraph.infographic.cylinder"}; -mxShapeInfographicCylinder.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=.5*b;a.begin();a.moveTo(0,10);a.arcTo(d,10,0,0,1,b,10);a.lineTo(b,c-10);a.arcTo(d,10,0,0,1,0,c-10);a.close();a.fillAndStroke();a.setShadow(!1);a.setGradient("#000000","#ffffff",0,0,b,c,mxConstants.DIRECTION_EAST,.4,.4);a.begin();a.moveTo(0,10);a.arcTo(d,10,0,0,0,b,10);a.lineTo(b,c-10);a.arcTo(d,10,0,0,1,0,c-10);a.close();a.fill();a.begin();a.moveTo(0,10);a.arcTo(d,10,0,0,1,b,10);a.lineTo(b,c-10);a.arcTo(d, -10,0,0,1,0,c-10);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicCylinder.prototype.cst.CYLINDER,mxShapeInfographicCylinder); -mxShapeInfographicCylinder.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,10));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,10));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,10+.25*(e-20)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,10+.5*(e-20)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,10+.75*(e-20)));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d,e-10));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e-10));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,10+.75*(e-20)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,10+.5*(e-20)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,10+.25*(e-20)));return a}; -function mxShapeInfographicCircularCallout2(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=.5}mxUtils.extend(mxShapeInfographicCircularCallout2,mxActor);mxShapeInfographicCircularCallout2.prototype.cst={CIRCULAR_CALLOUT_2:"mxgraph.infographic.circularCallout2"}; -mxShapeInfographicCircularCallout2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"none");e=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"none");a.setFillColor(e);e=Math.max(0,Math.min(.5*b,.4*c,.5*c-7));a.begin();a.moveTo(.5*b-2,2.15*e);a.arcTo(.23*e,.23*e,0,0,0,.5*b-.2*e,1.97*e);a.arcTo(e,e,0,0,1,.5*b-e,e);a.arcTo(e,e,0,0,1,.5*b,0);a.arcTo(e,e,0,0,1,.5*b+e,e);a.arcTo(e,e,0,0,1,.5*b+.2*e,1.97*e);a.arcTo(.23*e, -.23*e,0,0,0,.5*b+2,2.15*e);var f=Math.max(.1*e,6);4<.04*e?(a.lineTo(.5*b+2,c-.22*e),a.arcTo(.05*e,.05*e,0,0,0,.5*b+.04*e,c-.19*e)):a.lineTo(.5*b+2,c-2*f);a.arcTo(f,f,0,0,1,.5*b+f,c-f);a.arcTo(f,f,0,0,1,.5*b,c);a.arcTo(f,f,0,0,1,.5*b-f,c-f);4<.04*e?(a.arcTo(f,f,0,0,1,.5*b-.04*e,c-.19*e),a.arcTo(.5*f,.5*f,0,0,0,.5*b-2,c-.22*e)):a.arcTo(f,f,0,0,1,.5*b-2,c-2*f);a.close();a.moveTo(.5*b,.2*e);a.arcTo(.8*e,.8*e,0,0,0,.5*b-.8*e,.8*e);a.arcTo(.8*e,.8*e,0,0,0,.5*b,1.8*e);a.arcTo(.8*e,.8*e,0,0,0,.5*b+.8*e,.8* -e);a.arcTo(.8*e,.8*e,0,0,0,.5*b,.2*e);a.close();a.moveTo(.5*b,c-1.75*f);a.arcTo(.75*f,.75*f,0,0,0,.5*b-.75*f,c-f);a.arcTo(.75*f,.75*f,0,0,0,.5*b,c-.25*f);a.arcTo(.75*f,.75*f,0,0,0,.5*b+.75*f,c-f);a.arcTo(.75*f,.75*f,0,0,0,.5*b,c-1.75*f);a.close();a.fill();a.setFillColor(d);a.setShadow(!1);a.begin();a.moveTo(.5*b,.2*e);a.arcTo(.8*e,.8*e,0,0,0,.5*b-.8*e,.8*e);a.arcTo(.8*e,.8*e,0,0,0,.5*b,1.8*e);a.arcTo(.8*e,.8*e,0,0,0,.5*b+.8*e,.8*e);a.arcTo(.8*e,.8*e,0,0,0,.5*b,.2*e);a.close();a.moveTo(.5*b,c-1.75* -f);a.arcTo(.75*f,.75*f,0,0,0,.5*b-.75*f,c-f);a.arcTo(.75*f,.75*f,0,0,0,.5*b,c-.25*f);a.arcTo(.75*f,.75*f,0,0,0,.5*b+.75*f,c-f);a.arcTo(.75*f,.75*f,0,0,0,.5*b,c-1.75*f);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeInfographicCircularCallout2.prototype.cst.CIRCULAR_CALLOUT_2,mxShapeInfographicCircularCallout2); -mxShapeInfographicCircularCallout2.prototype.getConstraints=function(a,d,e){a=[];e=Math.max(0,Math.min(.5*d,.4*e,.5*e-7));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d-e,e));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d+e,e));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));return a}; -function mxShapeInfographicBannerSingleFold(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=this.dx2=this.dy=this.dx=.5}mxUtils.extend(mxShapeInfographicBannerSingleFold,mxActor);mxShapeInfographicBannerSingleFold.prototype.cst={BANNER_SINGLE_FOLD:"mxgraph.infographic.bannerSingleFold"}; -mxShapeInfographicBannerSingleFold.prototype.customProperties=[{name:"dx",dispName:"Fold Length",type:"float",defVal:32,min:0},{name:"dy",dispName:"Banner Width",type:"float",defVal:17,min:0},{name:"notch",dispName:"Notch",type:"float",defVal:15,min:0}]; -mxShapeInfographicBannerSingleFold.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(.5*c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));d=Math.min(b-2*e,d);var g=Math.max(0,Math.min(b-d-2*e,parseFloat(mxUtils.getValue(this.style,"dx2",this.dx2)))),f=Math.min(d,f);a.begin();a.moveTo(g, -0);a.lineTo(b-d,0);a.lineTo(b-d,e);a.lineTo(b,e);a.lineTo(b-f,.5*(c-e)+e);a.lineTo(b,c);a.lineTo(b-d-2*e,c);a.lineTo(b-d-2*e,c-e);a.lineTo(g,c-e);a.lineTo(0,.5*(c-e));a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.05");a.setFillColor("#000000");a.begin();a.moveTo(b,e);a.lineTo(b-d,e);a.lineTo(b-d,c-e);a.lineTo(b-d-2*e,c);a.lineTo(b,c);a.lineTo(b-f,.5*(c-e)+e);a.close();a.fill();a.setFillAlpha("0.4");a.begin();a.moveTo(b-d,c-e);a.lineTo(b-d-2*e,c-e);a.lineTo(b-d-2*e,c);a.close();a.fill(); -a.begin();a.moveTo(g,0);a.lineTo(b-d,0);a.lineTo(b-d,e);a.lineTo(b,e);a.lineTo(b-f,.5*(c-e)+e);a.lineTo(b,c);a.lineTo(b-d-2*e,c);a.lineTo(b-d-2*e,c-e);a.lineTo(g,c-e);a.lineTo(0,.5*(c-e));a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeInfographicBannerSingleFold.prototype.cst.BANNER_SINGLE_FOLD,mxShapeInfographicBannerSingleFold); -Graph.handleFactory[mxShapeInfographicBannerSingleFold.prototype.cst.BANNER_SINGLE_FOLD]=function(a){var d=[Graph.createHandle(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),d=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+a.width-b,a.y+d)},function(a,c){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,a.x+a.width-c.x)))/100;this.state.style.dy= -Math.round(100*Math.max(0,Math.min(a.height/2,c.y-a.y)))/100})],e=Graph.createHandle(a,["notch"],function(a){var b=Math.max(0,Math.min(a.height/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy)))),d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),d=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))));return new mxPoint(a.x+a.width-d,a.y+b+.5*(a.height-b))},function(a,c){this.state.style.notch=Math.round(100* -Math.max(0,Math.min(a.width,a.width+a.x-c.x)))/100});d.push(e);a=Graph.createHandle(a,["dx2"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy)))),b=Math.max(0,Math.min(a.width-b,parseFloat(mxUtils.getValue(this.state.style,"dx2",this.dx2))));return new mxPoint(a.x+b,a.y+.5*(a.height-d))},function(a,c){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style, -"dx",this.dx)))),d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));this.state.style.dx2=Math.round(100*Math.max(0,Math.min(a.width-b-2*d,c.x-a.x)))/100});d.push(a);return d}; -mxShapeInfographicBannerSingleFold.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),f=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"notch",this.notch)))),b=Math.min(d-2*c,b),g=Math.max(0,Math.min(d-b-2*c,parseFloat(mxUtils.getValue(this.style,"dx2",this.dx2)))),f=Math.min(b,f),h=d-b-g;a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,.5*(e-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+.25*h,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+.5*h,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+.75*h,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+h,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.25*b,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5* -b,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.75*b,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,.5*(e+c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b-2*c,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.75*(b+2*c),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*(b+2*c), -e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.25*(b+2*c),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+.25*h,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+.5*h,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+.75*h,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g+h,e-c));return a}; -function mxShapeInfographicShadedCube(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.isoAngle=15}mxUtils.extend(mxShapeInfographicShadedCube,mxActor);mxShapeInfographicShadedCube.prototype.cst={SHADED_CUBE:"mxgraph.infographic.shadedCube"};mxShapeInfographicShadedCube.prototype.customProperties=[{name:"isoAngle",dispName:"Perspective",type:"float",defVal:15,min:0}]; -mxShapeInfographicShadedCube.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;d=Math.min(b*Math.tan(d),.5*c);a.begin();a.moveTo(.5*b,0);a.lineTo(b,d);a.lineTo(b,c-d);a.lineTo(.5*b,c);a.lineTo(0,c-d);a.lineTo(0,d);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(.5*b,2*d);a.lineTo(b,d);a.lineTo(b,c-d);a.lineTo(.5*b,c); -a.close();a.fill();a.setFillColor("#ffffff");a.begin();a.moveTo(.5*b,2*d);a.lineTo(0,d);a.lineTo(0,c-d);a.lineTo(.5*b,c);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeInfographicShadedCube.prototype.cst.SHADED_CUBE,mxShapeInfographicShadedCube); -Graph.handleFactory[mxShapeInfographicShadedCube.prototype.cst.SHADED_CUBE]=function(a){return[Graph.createHandle(a,["isoAngle"],function(a){var d=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.state.style,"isoAngle",this.isoAngle))))*Math.PI/200;return new mxPoint(a.x,a.y+Math.min(a.width*Math.tan(d),.5*a.height))},function(a,e){this.state.style.isoAngle=Math.round(100*Math.max(0,Math.min(100,e.y-a.y)))/100})]}; -mxShapeInfographicShadedCube.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200,b=Math.min(d*Math.tan(b),.5*e);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,.5*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.25*(e-2*b)));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d,b+.5*(e-2*b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.75*(e-2*b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e-b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,e-.5*b));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,e-.5*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e-b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null, -0,e-b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b+.75*(e-2*b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b+.5*(e-2*b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b+.25*(e-2*b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,.5*b));return a}; -function mxShapeInfographicPartConcEllipse(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeInfographicPartConcEllipse,mxActor);mxShapeInfographicPartConcEllipse.prototype.cst={PART_CONC_ELLIPSE:"mxgraph.infographic.partConcEllipse"}; -mxShapeInfographicPartConcEllipse.prototype.customProperties=[{name:"startAngle",dispName:"Start Angle",min:0,max:1,defVal:.25},{name:"endAngle",dispName:"End Angle",min:0,max:1,defVal:.1},{name:"arcWidth",dispName:"Arc Width",min:0,max:1,defVal:.5}]; -mxShapeInfographicPartConcEllipse.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,l=e*h,m=g-f;0>m?m+=2*Math.PI:m==Math.PI&&(g+=1E-5);var n=d+Math.sin(f)*d, -p=e-Math.cos(f)*e,q=d+Math.sin(f)*k,f=e-Math.cos(f)*l,r=d+Math.sin(g)*d,t=e-Math.cos(g)*e,u=d+Math.sin(g)*k,g=e-Math.cos(g)*l,v=0;m<=Math.PI&&(v=1);a.begin();a.moveTo(d,0);a.arcTo(d,e,0,0,1,b,e);a.arcTo(d,e,0,0,1,d,c);a.arcTo(d,e,0,0,1,0,e);a.arcTo(d,e,0,0,1,d,0);a.close();a.moveTo(d,.5*c-l);a.arcTo(k,l,0,0,0,.5*b-k,e);a.arcTo(k,l,0,0,0,d,.5*c+l);a.arcTo(k,l,0,0,0,.5*b+k,e);a.arcTo(k,l,0,0,0,d,.5*c-l);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#ffffff");a.begin(); -a.moveTo(n,p);a.arcTo(d,e,0,v,0,r,t);a.lineTo(u,g);a.arcTo(k,l,0,v,1,q,f);a.close();a.fill();d=.5*b;e=.5*c;k=d*h;l=e*h;h=k+.25*(d-k);m=l+.25*(e-l);a.setFillColor("#000000");a.begin();a.moveTo(d,.5*c-l);a.arcTo(k,l,0,0,1,.5*b+k,e);a.arcTo(k,l,0,0,1,d,.5*c+l);a.arcTo(k,l,0,0,1,.5*b-k,e);a.arcTo(k,l,0,0,1,d,.5*c-l);a.close();a.moveTo(d,.5*c-m);a.arcTo(h,m,0,0,0,.5*b-h,e);a.arcTo(h,m,0,0,0,d,.5*c+m);a.arcTo(h,m,0,0,0,.5*b+h,e);a.arcTo(h,m,0,0,0,d,.5*c-m);a.close();a.fill()}; -mxCellRenderer.registerShape(mxShapeInfographicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE,mxShapeInfographicPartConcEllipse); -Graph.handleFactory[mxShapeInfographicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1, -Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1, -Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.endAngle=b});d.push(e);a=Graph.createHandle(a,["arcWidth"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"arcWidth",this.arcWidth))));return new mxPoint(a.x+a.width/2,a.y+b*a.height*.5)},function(a,c){this.state.style.arcWidth=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,(c.y-a.y)/(.5*a.height))))/100});d.push(a);return d}; -mxShapeInfographicPartConcEllipse.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(.145,.145),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,.145),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));return a};function mxShapeInfographicBannerHalfFold(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch=this.dx2=this.dx=.5}mxUtils.extend(mxShapeInfographicBannerHalfFold,mxActor);mxShapeInfographicBannerHalfFold.prototype.cst={BANNER_HALF_FOLD:"mxgraph.infographic.bannerHalfFold"}; -mxShapeInfographicBannerHalfFold.prototype.customProperties=[{name:"dx",dispName:"Banner Width",min:0,defVal:40},{name:"dx2",dispName:"Spike Size",min:0,defVal:20},{name:"notch",dispName:"Notch Size",min:0,defVal:15}]; -mxShapeInfographicBannerHalfFold.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(b-d,parseFloat(mxUtils.getValue(this.style,"dx2",this.dx2))));var f=Math.max(0,Math.min(c-d,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.begin();a.moveTo(e,0);a.lineTo(b-d,0);a.lineTo(b,d);a.lineTo(b,c);a.lineTo(b-.5*d,c-f);a.lineTo(b-d,c);a.lineTo(b-d,d);a.lineTo(e,d);a.lineTo(0,.5* -d);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(b-d,d);a.lineTo(b,d);a.lineTo(b,c);a.lineTo(b-.5*d,c-f);a.lineTo(b-d,c);a.lineTo(b-d,d);a.lineTo(0,d);a.close();a.fill();a.begin();a.moveTo(e,0);a.lineTo(b-d,0);a.lineTo(b,d);a.lineTo(b,c);a.lineTo(b-.5*d,c-f);a.lineTo(b-d,c);a.lineTo(b-d,d);a.lineTo(e,d);a.lineTo(0,.5*d);a.close();a.stroke()}; -mxCellRenderer.registerShape(mxShapeInfographicBannerHalfFold.prototype.cst.BANNER_HALF_FOLD,mxShapeInfographicBannerHalfFold); -Graph.handleFactory[mxShapeInfographicBannerHalfFold.prototype.cst.BANNER_HALF_FOLD]=function(a){var d=[Graph.createHandle(a,["dx"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,c){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,a.x+a.width-c.x)))/100})],e=Graph.createHandle(a,["notch"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style, -"dx",this.dx)))),d=Math.max(0,Math.min(a.height-b,parseFloat(mxUtils.getValue(this.state.style,"notch",this.notch))));return new mxPoint(a.x+a.width-.5*b,a.y+a.height-d)},function(a,c){this.state.style.notch=Math.round(100*Math.max(0,Math.min(a.height,a.height+a.y-c.y)))/100});d.push(e);a=Graph.createHandle(a,["dx2"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),d=Math.max(0,Math.min(a.width-b,parseFloat(mxUtils.getValue(this.state.style, -"dx2",this.dx2))));return new mxPoint(a.x+d,a.y+b)},function(a,c){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx))));this.state.style.dx2=Math.round(100*Math.max(0,Math.min(a.width-b,c.x-a.x)))/100});d.push(a);return d}; -mxShapeInfographicBannerHalfFold.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(d-b,parseFloat(mxUtils.getValue(this.style,"dx2",this.dx2)))),f=Math.max(0,Math.min(e-b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch)))),g=d-b-c,h=e-b;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,0));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c+.25*g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+.5*g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+.75*g,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,.5*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.25*h));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d, -b+.5*h));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.75*h));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,e-f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,e));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,b+.75*h));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,b+.5*h));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d-b,b+.25*h));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+.25*g,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+.5*g,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+.75*g,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));return a}; -function mxShapeInfographicCircularDial(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=.5}mxUtils.extend(mxShapeInfographicCircularDial,mxActor);mxShapeInfographicCircularDial.prototype.cst={CIRCULAR_DIAL:"mxgraph.infographic.circularDial"};mxShapeInfographicCircularDial.prototype.customProperties=[{name:"dy",dispName:"Hole Size",min:0,defVal:15}]; -mxShapeInfographicCircularDial.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(.5*c-10,.5*b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));e=Math.max(0,Math.min(.5*b,.5*c-10));var f=e-d;a.begin();a.moveTo(.5*b-e,c);a.lineTo(.5*b-e,e);a.arcTo(e,e,0,0,1,.5*b,0);a.arcTo(e,e,0,0,1,.5*b+e,e);a.lineTo(.5*b+e,c);a.close();a.moveTo(.5*b,d);a.arcTo(f,f,0,0,0,.5*b-f,e);a.arcTo(f,f,0,0,0,.5*b,e+f);a.arcTo(f,f,0,0,0,.5*b+f,e);a.arcTo(f,f,0,0,0,.5*b,d);a.close(); -a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#000000");a.begin();a.moveTo(.5*b-e,2*e);a.lineTo(.5*b+e,2*e);a.lineTo(.5*b+e,c);a.lineTo(.5*b-e,c);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeInfographicCircularDial.prototype.cst.CIRCULAR_DIAL,mxShapeInfographicCircularDial); -Graph.handleFactory[mxShapeInfographicCircularDial.prototype.cst.CIRCULAR_DIAL]=function(a){return[Graph.createHandle(a,["dy"],function(a){var d=Math.max(0,Math.min(a.height/2,a.width/2,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+.5*a.width,a.y+d)},function(a,e){this.state.style.dy=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,e.y-a.y)))/100})]}; -mxShapeInfographicCircularDial.prototype.getConstraints=function(a,d,e){a=[];parseFloat(mxUtils.getValue(this.style,"dy",this.dy));var b=Math.max(0,Math.min(.5*d,.5*e-10));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d-b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d-b,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d-b,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d-.71*b,.29*b));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d+.71*b,.29*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d+b,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d+b,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d+b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d+.5*b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d-.5*b,e));return a}; -function mxShapeInfographicRibbonSimple(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.notch2=this.notch1=.5}mxUtils.extend(mxShapeInfographicRibbonSimple,mxActor);mxShapeInfographicRibbonSimple.prototype.cst={RIBBON_SIMPLE:"mxgraph.infographic.ribbonSimple"};mxShapeInfographicRibbonSimple.prototype.customProperties=[{name:"notch1",dispName:"Notch Size",min:0,defVal:20},{name:"notch2",dispName:"Spike Size",min:0,defVal:20}]; -mxShapeInfographicRibbonSimple.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch1",this.notch2))));e=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch2",this.notch2))));a.begin();a.moveTo(0,c);a.lineTo(d,.5*c);a.lineTo(0,0);a.lineTo(b-e,0);a.lineTo(b,.5*c);a.lineTo(b-e,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeInfographicRibbonSimple.prototype.cst.RIBBON_SIMPLE,mxShapeInfographicRibbonSimple); -Graph.handleFactory[mxShapeInfographicRibbonSimple.prototype.cst.RIBBON_SIMPLE]=function(a){var d=[Graph.createHandle(a,["notch1"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"notch1",this.notch1))));return new mxPoint(a.x+b,a.y+.5*a.height)},function(a,b){this.state.style.notch1=Math.round(100*Math.max(0,Math.min(a.width,b.x-a.x)))/100})];a=Graph.createHandle(a,["notch2"],function(a){var b=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style, -"notch2",this.notch2))));return new mxPoint(a.x+a.width-b,a.y)},function(a,b){this.state.style.notch2=Math.round(100*Math.max(0,Math.min(a.width,a.width+a.x-b.x)))/100});d.push(a);return d}; -mxShapeInfographicRibbonSimple.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"notch1",this.notch2)))),c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"notch2",this.notch2))));d-=c;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,0));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.75*d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,b,.5*e));return a};function mxShapeInfographicBarCallout(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=this.dx=.5}mxUtils.extend(mxShapeInfographicBarCallout,mxActor);mxShapeInfographicBarCallout.prototype.cst={BAR_CALLOUT:"mxgraph.infographic.barCallout"};mxShapeInfographicBarCallout.prototype.customProperties=[{name:"dx",dispName:"Callout Position",min:0,defVal:100},{name:"dy",dispName:"Callout Size",min:0,defVal:30}]; -mxShapeInfographicBarCallout.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));var f=Math.max(d-.35*e,0),g=Math.min(d+.35*e,b);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c-e);a.lineTo(g,c-e);a.lineTo(d,c);a.lineTo(f,c-e);a.lineTo(0,c-e);a.close();a.fillAndStroke()}; -mxCellRenderer.registerShape(mxShapeInfographicBarCallout.prototype.cst.BAR_CALLOUT,mxShapeInfographicBarCallout);mxShapeInfographicBarCallout.prototype.constraints=null; -Graph.handleFactory[mxShapeInfographicBarCallout.prototype.cst.BAR_CALLOUT]=function(a){return[Graph.createHandle(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+d,a.y+a.height-b)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,e.x-a.x)))/100;this.state.style.dy=Math.round(100*Math.max(0, -Math.min(a.height,a.y+a.height-e.y)))/100})]}; -mxShapeInfographicBarCallout.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1, -0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(e-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e-c));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,e-c));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e-c));return a}; -function mxShapeInfographicFlag(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=this.dx=.5}mxUtils.extend(mxShapeInfographicFlag,mxActor);mxShapeInfographicFlag.prototype.cst={FLAG:"mxgraph.infographic.flag"};mxShapeInfographicFlag.prototype.customProperties=[{name:"dx",dispName:"Pole Width",min:0,defVal:30},{name:"dy",dispName:"Spike Size",min:0,defVal:20}]; -mxShapeInfographicFlag.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c-e);a.lineTo(d,c-e);a.lineTo(.5*d,c);a.lineTo(0,c-e);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#ffffff");a.begin();a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,c-e);a.lineTo(.5* -d,c);a.lineTo(0,c-e);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeInfographicFlag.prototype.cst.FLAG,mxShapeInfographicFlag); -Graph.handleFactory[mxShapeInfographicFlag.prototype.cst.FLAG]=function(a){return[Graph.createHandle(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+d,a.y+a.height-b)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.width,e.x-a.x)))/100;this.state.style.dy=Math.round(100*Math.max(0,Math.min(a.height, -a.y+a.height-e.y)))/100})]}; -mxShapeInfographicFlag.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0), -!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(e-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(e-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,e-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d,e-c));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,0));return a};function mxLeanBoatShipment(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanBoatShipment,mxShape); -mxLeanBoatShipment.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(.15*b,.77*c);a.lineTo(.5*b,0);a.lineTo(.85*b,.77*c);a.close();a.moveTo(.2*b,c);a.lineTo(0,.8*c);a.lineTo(b,.8*c);a.lineTo(.8*b,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.lean_mapping.boat_shipment",mxLeanBoatShipment); -mxLeanBoatShipment.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1),new mxConnectionConstraint(new mxPoint(0,.8),!1),new mxConnectionConstraint(new mxPoint(1,.8),!1),new mxConnectionConstraint(new mxPoint(.2,1),!1),new mxConnectionConstraint(new mxPoint(.8,1),!1),new mxConnectionConstraint(new mxPoint(.26,.5),!1),new mxConnectionConstraint(new mxPoint(.74,.5),!1)]; -function mxLeanSafetyStock(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanSafetyStock,mxShape);mxLeanSafetyStock.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};mxLeanSafetyStock.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()}; -mxLeanSafetyStock.prototype.foreground=function(a,d,e){a.begin();a.moveTo(0,.34*e);a.lineTo(d,.34*e);a.moveTo(0,.66*e);a.lineTo(d,.66*e);a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.lean_mapping.buffer_or_safety_stock",mxLeanSafetyStock); -mxLeanSafetyStock.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0, -.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];function mxLeanDataBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanDataBox,mxShape); -mxLeanDataBox.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};mxLeanDataBox.prototype.background=function(a,d,e){a.begin();a.moveTo(0,e);a.lineTo(0,0);a.lineTo(d,0);a.lineTo(d,e);a.fillAndStroke()};mxLeanDataBox.prototype.foreground=function(a,d,e){a.begin();a.moveTo(0,.2*e);a.lineTo(d,.2*e);a.moveTo(0,.4*e);a.lineTo(d,.4*e);a.moveTo(0,.6*e);a.lineTo(d,.6*e);a.moveTo(0,.8*e);a.lineTo(d,.8*e);a.stroke()}; -mxCellRenderer.registerShape("mxgraph.lean_mapping.data_box",mxLeanDataBox); -mxLeanDataBox.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0, -.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];function mxLeanCustomerSupplier(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanCustomerSupplier,mxShape); -mxLeanCustomerSupplier.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1)};mxLeanCustomerSupplier.prototype.background=function(a,d,e){a.begin();a.moveTo(0,e);a.lineTo(0,.3*e);a.lineTo(.33*d,.02*e);a.lineTo(.33*d,.3*e);a.lineTo(.67*d,.02*e);a.lineTo(.67*d,.3*e);a.lineTo(d,.02*e);a.lineTo(d,e);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.lean_mapping.outside_sources",mxLeanCustomerSupplier); -mxLeanCustomerSupplier.prototype.constraints=[new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.33,0),!0),new mxConnectionConstraint(new mxPoint(.67,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, -.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];function mxLeanDedicatedProcess(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanDedicatedProcess,mxShape); -mxLeanDedicatedProcess.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseFloat(mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8"));this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c,d)};mxLeanDedicatedProcess.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()};mxLeanDedicatedProcess.prototype.foreground=function(a,d,e,b){e=Math.min(1.5*b,e);a.begin();a.moveTo(0,e);a.lineTo(d,e);a.stroke()}; -mxCellRenderer.registerShape("mxgraph.lean_mapping.manufacturing_process",mxLeanDedicatedProcess); -mxLeanDedicatedProcess.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0, -.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];function mxLeanSharedProcess(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanSharedProcess,mxShape); -mxLeanSharedProcess.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseFloat(mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8"));this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c,d)};mxLeanSharedProcess.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()}; -mxLeanSharedProcess.prototype.foreground=function(a,d,e,b){b=Math.min(1.5*b,e);a.begin();a.moveTo(0,b);a.lineTo(d,b);a.stroke();var c=0;a.begin();var f=parseFloat(mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"2"));for(a.setStrokeWidth(.5*f);cb){var f=Math.max(0,c-e),g=Math.min(c,e),h=Math.min(c-b,d),k;k=Math.max(c-d,b);f=f?(a.moveTo(0,0),f=!0):(a.moveTo(0,c),f=!1);.5>=e&&f?(a.lineTo(d,0),f=!0):.5=e&&!f?(a.lineTo(d,c),a.lineTo(d,0),f=!0):(a.lineTo(d,0),a.lineTo(d,c),f=!1);.5>=h&&f?(a.lineTo(g,0),f=!0):.5=h&&!f?(a.lineTo(g,c),a.lineTo(g,0),f=!0):(a.lineTo(g,0),a.lineTo(g,c),f=!1);.5>=l&&f?(a.lineTo(k,0),f=!0):.5=l&&!f?(a.lineTo(k,c),a.lineTo(k,0),f=!0):(a.lineTo(k,0),a.lineTo(k,c),f=!1);.5>=n&&f?(a.lineTo(m,0), -f=!0):.5=n&&!f?(a.lineTo(m,c),a.lineTo(m,0),f=!0):(a.lineTo(m,0),a.lineTo(m,c),f=!1);.5>=p&&f?a.lineTo(b,0):.5=p&&!f?(a.lineTo(b,c),a.lineTo(b,0)):(a.lineTo(b,0),a.lineTo(b,c));a.stroke()};mxCellRenderer.registerShape(mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE,mxShapeLeanTimeline); -Graph.handleFactory[mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE]=function(a){var d=[Graph.createHandle(a,["dy1"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy1",0))));return new mxPoint(a.x,a.y+b*a.height)},function(a,c){this.state.style.dy1=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3})],e=Graph.createHandle(a,["dx2","dy2"],function(a){var b=Math.max(0,Math.min(parseFloat(mxUtils.getValue(this.state.style,"dx3",0)),parseFloat(mxUtils.getValue(this.state.style, -"dx2",0)))),d=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy2",0))));return new mxPoint(a.x+b,a.y+d*a.height)},function(a,c){this.state.style.dx2=Math.round(1E3*Math.max(0,Math.min(parseFloat(mxUtils.getValue(this.state.style,"dx3",0)),c.x-a.x)))/1E3;this.state.style.dy2=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3});d.push(e);e=Graph.createHandle(a,["dx3","dy3"],function(a){var b=Math.max(parseFloat(mxUtils.getValue(this.state.style,"dx2",0)),Math.min(parseFloat(mxUtils.getValue(this.state.style, -"dx4",0)),parseFloat(mxUtils.getValue(this.state.style,"dx3",0)))),d=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy3",0))));return new mxPoint(a.x+b,a.y+d*a.height)},function(a,c){this.state.style.dx3=Math.round(1E3*Math.max(parseFloat(mxUtils.getValue(this.state.style,"dx2",0)),Math.min(parseFloat(mxUtils.getValue(this.state.style,"dx4",0)),c.x-a.x)))/1E3;this.state.style.dy3=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3});d.push(e);e=Graph.createHandle(a, -["dx4","dy4"],function(a){var b=Math.max(parseFloat(mxUtils.getValue(this.state.style,"dx3",0)),Math.min(parseFloat(mxUtils.getValue(this.state.style,"dx5",0)),parseFloat(mxUtils.getValue(this.state.style,"dx4",0)))),d=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy4",0))));return new mxPoint(a.x+b,a.y+d*a.height)},function(a,c){this.state.style.dx4=Math.round(1E3*Math.max(parseFloat(mxUtils.getValue(this.state.style,"dx3",0)),Math.min(parseFloat(mxUtils.getValue(this.state.style, -"dx5",0)),c.x-a.x)))/1E3;this.state.style.dy4=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3});d.push(e);e=Graph.createHandle(a,["dx5","dy5"],function(a){var b=Math.max(parseFloat(mxUtils.getValue(this.state.style,"dx4",0)),Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx5",0)))),d=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy5",0))));return new mxPoint(a.x+b,a.y+d*a.height)},function(a,c){this.state.style.dx5=Math.round(1E3*Math.max(parseFloat(mxUtils.getValue(this.state.style, -"dx4",0)),Math.min(a.width,c.x-a.x)))/1E3;this.state.style.dy5=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3});d.push(e);a=Graph.createHandle(a,["dy6"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy6",0))));return new mxPoint(a.x+a.width,a.y+b*a.height)},function(a,c){this.state.style.dy6=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3});d.push(a);return d}; -function mxShapeNetworksBus(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeNetworksBus,mxShape);mxShapeNetworksBus.prototype.cst={SHAPE_BUS:"mxgraph.networks.bus"};mxShapeNetworksBus.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeNetworksBus.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(8,.5*c+10);a.arcTo(12,12,0,0,1,8,.5*c-10);a.lineTo(b-8,.5*c-10);a.arcTo(12,12,0,0,1,b-8,.5*c+10);a.close();a.fillAndStroke()};mxShapeNetworksBus.prototype.foreground=function(a,d,e,b,c){a.setFillColor("#ffffff");a.begin();a.moveTo(b-8,.5*c-10);a.arcTo(12,12,0,0,1,b-8,.5*c+10);a.arcTo(12,12,0,0,1,b-8,.5*c-10);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeNetworksBus.prototype.cst.SHAPE_BUS,mxShapeNetworksBus); -function mxShapeNetworksCommLinkEdge(){mxArrow.call(this)}mxUtils.extend(mxShapeNetworksCommLinkEdge,mxArrow); -mxShapeNetworksCommLinkEdge.prototype.paintEdgeShape=function(a,d){var e=d[0],b=d[d.length-1],c=b.x-e.x,f=b.y-e.y;e.x+=.05*c;e.y+=.05*f;b.x-=.05*c;b.y-=.05*f;var c=b.x-e.x,f=b.y-e.y,g=Math.sqrt(c*c+f*f),h=c/g,k=f/g,l=e.x+.5*c,m=e.y+.5*f,f=l+h*g/3*.1-k/3*g*.1,c=m+k*g/3*.1+h/3*g*.1,n=l+h*g*.1+k*g*.1,p=m+k*g*.1-h*g*.1,q=l-h*g/3*.1+k/3*g*.1,r=m-k*g/3*.1-h/3*g*.1,l=l-h*g*.1-k*g*.1,g=m-k*g*.1+h*g*.1;a.begin();a.moveTo(e.x,e.y);a.lineTo(n,p);a.lineTo(f,c);a.lineTo(b.x,b.y);a.lineTo(l,g);a.lineTo(q,r);a.close(); -a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.networks.comm_link_edge",mxShapeNetworksCommLinkEdge);function mxShapeSysMLComposite(){mxCylinder.call(this)}mxUtils.extend(mxShapeSysMLComposite,mxShape);mxShapeSysMLComposite.prototype.isHtmlAllowed=function(){return!1}; -mxShapeSysMLComposite.prototype.paintForeground=function(a,d,e,b,c){if(null!=this.style){var f=mxCellRenderer.defaultShapes[this.style.symbol0];a.save();var g=new f;g.style=this.style;f.prototype.paintVertexShape.call(g,a,d,e,b,c);a.restore();a.setDashed(!1);var h=1;do{f=mxCellRenderer.defaultShapes[this.style["symbol"+h]];if(null!=f){var g=this.style["symbol"+h+"Align"],k=this.style["symbol"+h+"VerticalAlign"],l=this.style["symbol"+h+"Width"],m=this.style["symbol"+h+"Height"],n=this.style["symbol"+ -h+"Spacing"]||0,p=this.style["symbol"+h+"VSpacing"]||0,q=this.style["symbol"+h+"ArcSpacing"],r=this.style["symbol"+h+"Direction"];null!=q&&(n+=this.getArcSize(b+this.strokewidth,c+this.strokewidth)*q,p+=this.getArcSize(b+this.strokewidth,c+this.strokewidth)*q);var q=d,t=e,q=g==mxConstants.ALIGN_CENTER?q+(b-l)/2:g==mxConstants.ALIGN_RIGHT?q+(b-l-n):q+n,t=k==mxConstants.ALIGN_MIDDLE?t+(c-m)/2:k==mxConstants.ALIGN_BOTTOM?t+(c-m-p):t+p;a.save();g=new f;g.style=mxUtils.clone(this.style);g.direction=r; -g.updateTransform(a,q,t,l,m);f.prototype.paintVertexShape.call(g,a,q,t,l,m);a.restore()}h++}while(null!=f)}};mxCellRenderer.registerShape("mxgraph.sysml.composite",mxShapeSysMLComposite);function mxShapeSysMLPackage(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLPackage,mxShape);mxShapeSysMLPackage.prototype.cst={PACKAGE:"mxgraph.sysml.package",LABEL_X:"labelX"}; -mxShapeSysMLPackage.prototype.customProperties=[{name:"labelX",dispName:"Header Width",type:"float",min:0,defVal:90}]; -mxShapeSysMLPackage.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1, -.75),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.75),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.25),!1));return a}; -mxShapeSysMLPackage.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeSysMLPackage.prototype.background=function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke()};mxShapeSysMLPackage.prototype.foreground=function(a,d,e,b,c){d=parseInt(mxUtils.getValue(this.style,mxShapeSysMLPackage.prototype.cst.LABEL_X,"90"));d=Math.min(d,b);20c?(d=.5*c,a.begin(),a.moveTo(b-d,0),a.arcTo(d,d,0,0,1,b-d,c),a.lineTo(d,c),a.arcTo(d,d,0,0,1,d,0)):(d=.5*b,a.begin(),a.moveTo(0,c-d),a.arcTo(d,d,0,0,0,b,c-d),a.lineTo(b,d),a.arcTo(d,d,0,0,0,0,d));a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLContinuation.prototype.cst.CONT,mxShapeSysMLContinuation); -mxShapeSysMLContinuation.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));if(d>e){var b=.5*e;d>2*e&&(a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75, -1),!1)))}else b=.5*d,e>2*d&&(a.push(new mxConnectionConstraint(new mxPoint(0,.25),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,.75),!1)),a.push(new mxConnectionConstraint(new mxPoint(1,.25),!1)),a.push(new mxConnectionConstraint(new mxPoint(1,.75),!1)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.29*b,.29*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.29*b,.29*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.29*b,e-.29*b));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d-.29*b,e-.29*b));return a};function mxShapeSysMLCoregion(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLCoregion,mxShape);mxShapeSysMLCoregion.prototype.cst={COREGION:"mxgraph.sysml.coregion"}; -mxShapeSysMLCoregion.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(10,c);a.begin();a.moveTo(0,d);a.lineTo(0,0);a.lineTo(b,0);a.lineTo(b,d);a.moveTo(0,c-d);a.lineTo(0,c);a.lineTo(b,c);a.lineTo(b,c-d);a.stroke()};mxCellRenderer.registerShape(mxShapeSysMLCoregion.prototype.cst.COREGION,mxShapeSysMLCoregion); -mxMarker.addMarker("sysMLx",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-m/2-n/2,b.y-n/2+m/2);a.lineTo(b.x+m/2+n/2,b.y+n/2-m/2);a.moveTo(b.x+m/2-n/2,b.y+n/2+m/2);a.lineTo(b.x-m/2+n/2,b.y-n/2-m/2);a.stroke()}});function mxShapeSysMLDimension(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLDimension,mxShape);mxShapeSysMLDimension.prototype.cst={DIMENSION:"mxgraph.sysml.dimension"}; -mxShapeSysMLDimension.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)};mxShapeSysMLDimension.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,20);a.lineTo(b,20);a.moveTo(10,15);a.lineTo(0,20);a.lineTo(10,25);a.moveTo(b-10,15);a.lineTo(b,20);a.lineTo(b-10,25);a.moveTo(0,15);a.lineTo(0,c);a.moveTo(b,15);a.lineTo(b,c);a.stroke()};mxCellRenderer.registerShape(mxShapeSysMLDimension.prototype.cst.DIMENSION,mxShapeSysMLDimension); -mxMarker.addMarker("sysMLLost",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){a.begin();a.moveTo(b.x-1.5*m-n/2,b.y-1.5*n+m/2);a.lineTo(b.x-m/2,b.y-n/2);a.lineTo(b.x-1.5*m+n/2,b.y-1.5*n-m/2);a.stroke();a.ellipse(b.x-.5*m-p,b.y-.5*n-p,2*p,2*p);var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(c);a.fillAndStroke()}}); -mxMarker.addMarker("sysMLFound",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){a.ellipse(b.x-.5*m-p,b.y-.5*n-p,2*p,2*p);var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(c);a.fillAndStroke()}});function mxShapeSysMLCompositeState(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLCompositeState,mxShape);mxShapeSysMLCompositeState.prototype.cst={COMP_STATE:"mxgraph.sysml.compState"}; -mxShapeSysMLCompositeState.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)};mxShapeSysMLCompositeState.prototype.background=function(a,d,e,b,c){a.roundrect(0,20,b,c-20,10,10);a.fillAndStroke();a.rect(15,0,110,20);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLCompositeState.prototype.cst.COMP_STATE,mxShapeSysMLCompositeState); -mxShapeSysMLCompositeState.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,22.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-2.9,22.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(e- -20)+20));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.75*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,.25*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,.5*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,.75*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,15,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,70,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,125,0));125<.75*d&&(a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,20)),125<.5*d&&(a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1,null,0,20)),125<.25*d&&a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,20))));return a}; -function mxShapeSysMLRegion(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLRegion,mxShape);mxShapeSysMLRegion.prototype.cst={REGION:"mxgraph.sysml.region"};mxShapeSysMLRegion.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c,20,50);a.setShadow(!1);this.foreground(a,d,e,b,c,20,50)}; -mxShapeSysMLRegion.prototype.background=function(a,d,e,b,c,f,g){d=parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1"));a.roundrect(0,f,b,c-f,10,10);a.fillAndStroke();a.setStrokeWidth(2*d);a.rect(15,0,g,f);a.fillAndStroke();a.setStrokeWidth(d)};mxShapeSysMLRegion.prototype.foreground=function(a,d,e,b,c,f,g){a.setDashed(!0);a.begin();a.moveTo(.5*b,f);a.lineTo(.5*b,c);a.stroke()};mxCellRenderer.registerShape(mxShapeSysMLRegion.prototype.cst.REGION,mxShapeSysMLRegion); -mxShapeSysMLRegion.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,22.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-2.9,22.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(e-20)+20)); -a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.75*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,.25*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,.5*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,.75*(e-20)+20));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,15,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,40,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,65,0));65<.75*d&&(a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1,null,0,20)),65<.5*d&&(a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1,null,0,20)),65<.25*d&&a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1,null,0,20))));return a}; -function mxShapeSysMLSimpleState(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLSimpleState,mxShape);mxShapeSysMLSimpleState.prototype.cst={SIMPLE_STATE:"mxgraph.sysml.simpleState"};mxShapeSysMLSimpleState.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1)}; -mxShapeSysMLSimpleState.prototype.background=function(a,d,e,b,c){parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1"));a.roundrect(0,0,b,c,10,10);a.fillAndStroke()};mxShapeSysMLSimpleState.prototype.foreground=function(a,d,e,b,c){a.begin();a.moveTo(0,20);a.lineTo(b,20);a.stroke()};mxCellRenderer.registerShape(mxShapeSysMLSimpleState.prototype.cst.SIMPLE_STATE,mxShapeSysMLSimpleState); -mxShapeSysMLSimpleState.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-2.9,2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75, -1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.75),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -.75),!1));return a};function mxShapeSysMLStateMachine(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLStateMachine,mxShape);mxShapeSysMLStateMachine.prototype.cst={STATE_MACHINE:"mxgraph.sysml.stateMachine"};mxShapeSysMLStateMachine.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeSysMLStateMachine.prototype.background=function(a,d,e,b,c){a.roundrect(0,0,b-10,c,10,10);a.fillAndStroke()};mxShapeSysMLStateMachine.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(d);a.ellipse(b-20,.5*c-10,20,20);a.stroke();a.ellipse(b-17,.5*c-7,14,14);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLStateMachine.prototype.cst.STATE_MACHINE,mxShapeSysMLStateMachine); -mxShapeSysMLStateMachine.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-12.9,2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-12.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75, -1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.25),!1,null,-10,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.75),!1,null,-10,0));a.push(new mxConnectionConstraint(new mxPoint(0,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -.75),!1));return a};function mxShapeSysMLX(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLX,mxShape);mxShapeSysMLX.prototype.cst={X:"mxgraph.sysml.x"};mxShapeSysMLX.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b,c);a.moveTo(0,c);a.lineTo(b,0);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLX.prototype.cst.X,mxShapeSysMLX); -mxShapeSysMLX.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));return a};function mxShapeSysMLSubmachineState(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLSubmachineState,mxShape); -mxShapeSysMLSubmachineState.prototype.cst={SUBMACHINE_STATE:"mxgraph.sysml.submState"};mxShapeSysMLSubmachineState.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeSysMLSubmachineState.prototype.background=function(a,d,e,b,c){a.roundrect(0,0,b-10,c,10,10);a.fillAndStroke()}; -mxShapeSysMLSubmachineState.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(d);a.ellipse(b-20,.5*c-10,20,20);a.stroke();a.ellipse(b-17,.5*c-7,14,14);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLSubmachineState.prototype.cst.SUBMACHINE_STATE,mxShapeSysMLSubmachineState); -mxShapeSysMLSubmachineState.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-12.9,2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,2.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-12.9,e-2.9));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75, -1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.25),!1,null,-10,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.75),!1,null,-10,0));a.push(new mxConnectionConstraint(new mxPoint(0,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -.75),!1));return a};function mxShapeSysMLUseCaseExtensionPoints(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLUseCaseExtensionPoints,mxShape);mxShapeSysMLUseCaseExtensionPoints.prototype.cst={USE_CASE_EXT_PT:"mxgraph.sysml.useCaseExtPt"};mxShapeSysMLUseCaseExtensionPoints.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapeSysMLUseCaseExtensionPoints.prototype.background=function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke()};mxShapeSysMLUseCaseExtensionPoints.prototype.foreground=function(a,d,e,b,c){a.begin();a.moveTo(.02*b,.35*c);a.lineTo(.98*b,.35*c);a.stroke()};mxCellRenderer.registerShape(mxShapeSysMLUseCaseExtensionPoints.prototype.cst.USE_CASE_EXT_PT,mxShapeSysMLUseCaseExtensionPoints); -mxShapeSysMLUseCaseExtensionPoints.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.145),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(.855, -.145),!1));return a};function mxShapePidDiscInst(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidDiscInst,mxShape);mxShapePidDiscInst.prototype.cst={SHAPE_DISC_INST:"mxgraph.pid2inst.discInst",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local"}; -mxShapePidDiscInst.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]}];mxShapePidDiscInst.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidDiscInst.prototype.background=function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke()}; -mxShapePidDiscInst.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidDiscInst.prototype.cst.MOUNTING,"field");d===mxShapePidDiscInst.prototype.cst.ROOM?(a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidDiscInst.prototype.cst.INACCESSIBLE?(a.setDashed(!0),a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidDiscInst.prototype.cst.LOCAL&&(a.begin(),a.moveTo(.005*b,.48*c),a.lineTo(.995*b,.48*c),a.moveTo(.005*b,.52*c),a.lineTo(.995* -b,.52*c),a.stroke())};mxCellRenderer.registerShape(mxShapePidDiscInst.prototype.cst.SHAPE_DISC_INST,mxShapePidDiscInst); -mxShapePidDiscInst.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.145,.145),!1),new mxConnectionConstraint(new mxPoint(.145,.855),!1),new mxConnectionConstraint(new mxPoint(.855,.145),!1),new mxConnectionConstraint(new mxPoint(.855,.855),!1)]; -function mxShapePidSharedCont(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidSharedCont,mxShape);mxShapePidSharedCont.prototype.cst={SHAPE_SHARED_CONT:"mxgraph.pid2inst.sharedCont",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local"}; -mxShapePidSharedCont.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]}];mxShapePidSharedCont.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidSharedCont.prototype.background=function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke()}; -mxShapePidSharedCont.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidSharedCont.prototype.cst.MOUNTING,"field");a.ellipse(0,0,b,c);a.fillAndStroke();d===mxShapePidSharedCont.prototype.cst.ROOM?(a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidSharedCont.prototype.cst.INACCESSIBLE?(a.setDashed(!0),a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidDiscInst.prototype.cst.LOCAL&&(a.begin(),a.moveTo(.005*b,.48*c),a.lineTo(.995*b, -.48*c),a.moveTo(.005*b,.52*c),a.lineTo(.995*b,.52*c),a.stroke())};mxCellRenderer.registerShape(mxShapePidSharedCont.prototype.cst.SHAPE_SHARED_CONT,mxShapePidSharedCont); -mxShapePidSharedCont.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)]; -function mxShapePidCompFunc(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidCompFunc,mxShape);mxShapePidCompFunc.prototype.cst={SHAPE_COMP_FUNC:"mxgraph.pid2inst.compFunc",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local"}; -mxShapePidCompFunc.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]}];mxShapePidCompFunc.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapePidCompFunc.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,.5*c);a.lineTo(.25*b,0);a.lineTo(.75*b,0);a.lineTo(b,.5*c);a.lineTo(.75*b,c);a.lineTo(.25*b,c);a.close();a.fillAndStroke()}; -mxShapePidCompFunc.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidCompFunc.prototype.cst.MOUNTING,"field");d===mxShapePidCompFunc.prototype.cst.ROOM?(a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidCompFunc.prototype.cst.INACCESSIBLE?(a.setDashed(!0),a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidDiscInst.prototype.cst.LOCAL&&(a.begin(),a.moveTo(.01*b,.48*c),a.lineTo(.99*b,.48*c),a.moveTo(.01*b,.52*c),a.lineTo(.99*b,.52* -c),a.stroke())};mxCellRenderer.registerShape(mxShapePidCompFunc.prototype.cst.SHAPE_COMP_FUNC,mxShapePidCompFunc); -mxShapePidCompFunc.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.25,0),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,1),!1)]; -function mxShapePidProgLogCont(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidProgLogCont,mxShape);mxShapePidProgLogCont.prototype.cst={SHAPE_PROG_LOG_CONT:"mxgraph.pid2inst.progLogCont",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local"}; -mxShapePidProgLogCont.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]}];mxShapePidProgLogCont.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidProgLogCont.prototype.background=function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke()}; -mxShapePidProgLogCont.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidProgLogCont.prototype.cst.MOUNTING,"field");a.begin();a.moveTo(0,.5*c);a.lineTo(.5*b,0);a.lineTo(b,.5*c);a.lineTo(.5*b,c);a.close();a.stroke();d===mxShapePidProgLogCont.prototype.cst.ROOM?(a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidProgLogCont.prototype.cst.INACCESSIBLE?(a.setDashed(!0),a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidDiscInst.prototype.cst.LOCAL&& -(a.begin(),a.moveTo(.02*b,.48*c),a.lineTo(.98*b,.48*c),a.moveTo(.02*b,.52*c),a.lineTo(.98*b,.52*c),a.stroke())};mxCellRenderer.registerShape(mxShapePidProgLogCont.prototype.cst.SHAPE_PROG_LOG_CONT,mxShapePidProgLogCont); -mxShapePidProgLogCont.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)]; -function mxShapePidIndicator(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidIndicator,mxShape);mxShapePidIndicator.prototype.cst={SHAPE_INDICATOR:"mxgraph.pid2inst.indicator",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local",IND_TYPE:"indType",INSTRUMENT:"inst",CONTROL:"ctrl",FUNCTION:"func",PLC:"plc"}; -mxShapePidIndicator.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]},{name:"indType",dispName:"Type",type:"enum",defVal:"inst",enumList:[{val:"inst",dispName:"Instrument"},{val:"ctrl",dispName:"Control"},{val:"func",dispName:"Function"},{val:"plc",dispName:"PLC"}]}]; -mxShapePidIndicator.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapePidIndicator.prototype.background=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidIndicator.prototype.cst.IND_TYPE,"inst");a.begin();a.moveTo(.5*b,b);a.lineTo(.5*b,c);a.stroke();d===mxShapePidIndicator.prototype.cst.INSTRUMENT?(a.ellipse(0,0,b,b),a.fillAndStroke()):d===mxShapePidIndicator.prototype.cst.CONTROL?(a.rect(0,0,b,b),a.fillAndStroke()):d===mxShapePidIndicator.prototype.cst.FUNCTION?(a.begin(),a.moveTo(0,.5*b),a.lineTo(.25*b,0),a.lineTo(.75*b,0),a.lineTo(b,.5*b),a.lineTo(.75* -b,b),a.lineTo(.25*b,b),a.close(),a.fillAndStroke()):d===mxShapePidIndicator.prototype.cst.PLC&&(a.rect(0,0,b,b),a.fillAndStroke())}; -mxShapePidIndicator.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidIndicator.prototype.cst.MOUNTING,"field");e=mxUtils.getValue(this.style,mxShapePidIndicator.prototype.cst.IND_TYPE,"inst");e===mxShapePidIndicator.prototype.cst.CONTROL?(a.ellipse(0,0,b,b),a.stroke()):e===mxShapePidIndicator.prototype.cst.PLC&&(a.begin(),a.moveTo(0,.5*b),a.lineTo(.5*b,0),a.lineTo(b,.5*b),a.lineTo(.5*b,b),a.close(),a.stroke());d===mxShapePidIndicator.prototype.cst.ROOM?(a.begin(),a.moveTo(0, -.5*b),a.lineTo(b,.5*b),a.stroke()):d===mxShapePidIndicator.prototype.cst.INACCESSIBLE?(a.setDashed(!0),a.begin(),a.moveTo(0,.5*b),a.lineTo(b,.5*b),a.stroke()):d===mxShapePidIndicator.prototype.cst.LOCAL&&(a.begin(),a.moveTo(.005*b,.48*b),a.lineTo(.995*b,.48*b),a.moveTo(.005*b,.52*b),a.lineTo(.995*b,.52*b),a.stroke())};mxCellRenderer.registerShape(mxShapePidIndicator.prototype.cst.SHAPE_INDICATOR,mxShapePidIndicator); -mxShapePidIndicator.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,1),!0)];function mxShapePidLogic(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidLogic,mxShape);mxShapePidLogic.prototype.cst={SHAPE_LOGIC:"mxgraph.pid2inst.logic",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local"}; -mxShapePidLogic.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]}];mxShapePidLogic.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)}; -mxShapePidLogic.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,.5*c);a.lineTo(.5*b,0);a.lineTo(b,.5*c);a.lineTo(.5*b,c);a.close();a.fillAndStroke()}; -mxShapePidLogic.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidLogic.prototype.cst.MOUNTING,"field");d===mxShapePidLogic.prototype.cst.ROOM?(a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidLogic.prototype.cst.INACCESSIBLE?(a.setDashed(!0),a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidLogic.prototype.cst.LOCAL&&(a.begin(),a.moveTo(.02*b,.48*c),a.lineTo(.98*b,.48*c),a.moveTo(.02*b,.52*c),a.lineTo(.98*b,.52*c),a.stroke())}; -mxCellRenderer.registerShape(mxShapePidLogic.prototype.cst.SHAPE_LOGIC,mxShapePidLogic); -mxShapePidLogic.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.75),!1),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.75,.75),!1)]; -function mxShapePidFan(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidFan,mxShape);mxShapePidFan.prototype.cst={SHAPE_FAN:"mxgraph.pid2misc.fan",FAN_TYPE:"fanType",COMMON:"common",AXIAL:"axial",RADIAL:"radial"};mxShapePidFan.prototype.customProperties=[{name:"fanType",dispName:"Type",type:"enum",defVal:"field",enumList:[{val:"common",dispName:"Common"},{val:"axial",dispName:"Axial"},{val:"radial",dispName:"Radial"}]}]; -mxShapePidFan.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidFan.prototype.background=function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke()}; -mxShapePidFan.prototype.foreground=function(a,d,e,b,c){a.begin();a.moveTo(.3*b,.045*c);a.lineTo(.97*b,.33*c);a.moveTo(.3*b,.955*c);a.lineTo(.97*b,.67*c);a.moveTo(.4228*b,.3655*c);a.arcTo(.15*b,.03*c,50,0,1,.5*b,.5*c);a.arcTo(0*b,15,.03*c,50,0,1,.3772*b,.4045*c);a.arcTo(.15*b,.03*c,50,0,1,.3025*b,.271*c);a.arcTo(.15*b,.03*c,50,0,1,.4228*b,.3655*c);a.close();a.moveTo(.377*b,.5973*c);a.arcTo(.15*b,.03*c,-50,0,1,.4966*b,.5019*c);a.arcTo(0*b,15,.03*c,-50,0,1,.423*b,.636*c);a.arcTo(.15*b,.03*c,-50,0,1, -.3034*b,.7314*c);a.arcTo(.15*b,.03*c,-50,0,1,.377*b,.5973*c);a.close();a.stroke();a.ellipse(.5*b,.47*c,.3*b,.06*c);a.stroke();d=mxUtils.getValue(this.style,mxShapePidFan.prototype.cst.FAN_TYPE,"common");d===mxShapePidFan.prototype.cst.AXIAL?(a.begin(),a.moveTo(.1*b,.5*c),a.lineTo(.3*b,.5*c),a.stroke()):d===mxShapePidFan.prototype.cst.RADIAL&&(a.begin(),a.moveTo(.2*b,.4*c),a.lineTo(.2*b,.6*c),a.stroke())};mxCellRenderer.registerShape(mxShapePidFan.prototype.cst.SHAPE_FAN,mxShapePidFan); -function mxShapePidColumn(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidColumn,mxShape);mxShapePidColumn.prototype.cst={SHAPE_COLUMN:"mxgraph.pid2misc.column",COLUMN_TYPE:"columnType",COMMON:"common",FIXED:"fixed",FLUIDIZED:"fluid",BAFFLE:"baffle",VALVE:"valve",BUBBLE:"bubble",NOZZLE:"nozzle",TRAY:"tray"}; -mxShapePidColumn.prototype.customProperties=[{name:"columnType",dispName:"Type",type:"enum",defVal:"field",enumList:[{val:"common",dispName:"Common"},{val:"fixed",dispName:"Fixed"},{val:"fluid",dispName:"Fluid"},{val:"baffle",dispName:"Baffle"},{val:"valve",dispName:"Valve"},{val:"bubble",dispName:"Bubble"},{val:"nozzle",dispName:"Nozzle"},{val:"tray",dispName:"Tray"}]}]; -mxShapePidColumn.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidColumn.prototype.background=function(a,d,e,b,c){c=Math.max(c,30);a.begin();a.moveTo(0,15);a.arcTo(.5*b,15,0,0,1,b,15);a.lineTo(b,c-15);a.arcTo(.5*b,15,0,0,1,0,c-15);a.close();a.fillAndStroke()}; -mxShapePidColumn.prototype.foreground=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxShapePidColumn.prototype.cst.COLUMN_TYPE,"common");if(f===mxShapePidColumn.prototype.cst.FIXED){var g=1.2*b;d=c-50;e=d%g*.5+25;a.begin();for(c=0;c<=d-g;c+=g)a.moveTo(0,c+e+.1*g),a.lineTo(b,c+e+.1*g),a.moveTo(0,c+e+.9*g),a.lineTo(b,c+e+.9*g),a.moveTo(0,c+e+.1*g),a.lineTo(b,c+e+.9*g),a.moveTo(0,c+e+.9*g),a.lineTo(b,c+e+.1*g);a.stroke()}else if(f===mxShapePidColumn.prototype.cst.TRAY){g=.2*b;d=c-50;e=d%g*.5+ -25;a.setDashed(!0);a.begin();for(c=0;c<=d;c+=g)a.moveTo(0,c+e),a.lineTo(b,c+e);a.stroke()}else if(f===mxShapePidColumn.prototype.cst.FLUIDIZED){g=.1*b;f=.1*b;d=c-50;e=25;var h=.02*Math.min(b,c);mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff");var k=mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,"0"),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(l);a.setDashed(!0);a.begin();a.moveTo(0,25);a.lineTo(b,25);a.moveTo(0,c-25);a.lineTo(b,c-25); -a.stroke();"0"===k?a.setDashed(!1):a.setDashed(!0);k=0;for(c=e+.5*g;c18+2*b&&42b;b++)a.appendChild(arguments[b]);return a}function c(a,b,c,d){var e=["opacity",b,~~(100*a),c,d].join("-"),f=.01+c/d*100,g=Math.max(1-(1-a)/b*(100-f),a),h=j.substring(0,j.indexOf("Animation")).toLowerCase(),i=h&&"-"+h+"-"||"";return l[e]||(m.insertRule("@"+i+"keyframes "+e+"{0%{opacity:"+g+"}"+f+"%{opacity:"+a+"}"+(f+.01)+"%{opacity:1}"+(f+b)%100+"%{opacity:"+a+"}100%{opacity:"+g+"}}",m.cssRules.length),l[e]=1),e}function d(a,b){var c,d,e=a.style;for(b=b.charAt(0).toUpperCase()+b.slice(1),d=0;d',c)}m.addRule(".spin-vml","behavior:url(#default#VML)"),h.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:k+" "+k,coordorigin:-j+" "+-j}),{width:k,height:k})}function h(a,h,i){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~h}),b(e(c("roundrect",{arcsize:d.corners}),{width:j,height:d.width,left:d.radius,top:-d.width>>1,filter:i}),c("fill",{color:g(d.color,a),opacity:d.opacity}),c("stroke",{opacity:0}))))}var i,j=d.length+d.width,k=2*j,l=2*-(d.width+d.length)+"px",m=e(f(),{position:"absolute",top:l,left:l});if(d.shadow)for(i=1;i<=d.lines;i++)h(i,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(i=1;i<=d.lines;i++)h(i);return b(a,m)},h.prototype.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d>1)+"px"})}for(var i,k=0,l=(f.lines-1)*(1-f.direction)/2;k>10),56320+(f&1023))):f==f?String.fromCharCode(f):" ">a[1]?"":a[1]}function w(a,f){return'"'+a.replace(/[\u0000-\u001f\\\"<>]/g,f)+'"'}function M(a){return E[a]||(E[a]="\\"+a.charCodeAt(0).toString(16)+" ")}function x(a){return e[a]||(e[a]=("\u0010">a?"%0":"%")+a.charCodeAt(0).toString(16))}var E={"\\":"\\\\"},e={"\\":"%5c"},v=RegExp("\\uFEFF|U[+][0-9A-F?]{1,6}(?:-[0-9A-F]{1,6})?|url[(][\\t\\n\\f ]*(?:\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|(?:[\\t\\x21\\x23-\\x26\\x28-\\x5b\\x5d-\\x7e]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)[\\t\\n\\f ]*[)]|(?!url[(])-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*[(]|(?:@?-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))|#)(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*|\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|[-+]?(?:[0-9]+(?:[.][0-9]+)?|[.][0-9]+)(?:%|-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)?|<\!--|--\>|[\\t\\n\\f ]+|/(?:[*][^*]*[*]+(?:[^/][^*]*[*]+)*/|/[^\\n\\f]*)|[~|^$*]=|[^\"'\\\\/]|/(?![/*])","gi"), -b=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),a=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");X=function(a){return a.replace(b,g)};U=function(b){for(var b=(""+b).replace(/\r\n?/g,"\n").match(v)||[],f=0,h=" ",d=0,y=b.length;d"==l||"<\!--"==l||"\ufeff"==l||32>=g?" ": -/url\(/i.test(l)?"url("+w(l.replace(a,""),x)+")":l;if(h!=l||" "!=l)b[f++]=h=l}b.length=f;return b}})();"undefined"!==typeof window&&(window.lexCss=U,window.decodeCss=X);var Y=function(){function g(d){d=(""+d).match(k);return!d?s:new e(v(d[1]),v(d[2]),v(d[3]),v(d[4]),v(d[5]),v(d[6]),v(d[7]))}function w(d,a){return"string"==typeof d?encodeURI(d).replace(a,M):s}function M(d){d=d.charCodeAt(0);return"%"+"0123456789ABCDEF".charAt(d>>4&15)+"0123456789ABCDEF".charAt(d&15)}function x(d){if(d===s)return s;for(var d=d.replace(/(^|\/)\.(?:\/|$)/g,"$1").replace(/\/{2,}/g,"/"),a=b,h;(h=d.replace(a,"$1"))!=d;d=h);return d}function E(d,h){var b=d.T(),f=h.K();f?b.ga(h.j):f=h.X(); -f?b.da(h.n):f=h.Y();f?b.ea(h.k):f=h.$();var g=h.g,k=x(g);if(f)b.ca(h.V()),k=k&&k.replace(a,"");else if(f=!!g){if(47!==k.charCodeAt(0))var k=x(b.g||"").replace(a,""),e=k.lastIndexOf("/")+1,k=x((e?k.substring(0,e):"")+x(g)).replace(a,"")}else k=k&&k.replace(a,""),k!==g&&b.G(k);f?b.G(k):f=h.aa();f?b.O(h.l):f=h.Z();f&&b.fa(h.o);return b}function e(d,a,h,f,b,g,k){this.j=d;this.n=a;this.k=h;this.h=f;this.g=b;this.l=g;this.o=k}function v(d){return"string"==typeof d&&0]/g,v={"\n":"%0a","\u000c":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a","<":"%3c",">":"%3e"}, -b=/^(?:([^:/?# ]+):)?/,a=/^(?:https?|mailto|data)$/i;aa=function(){var a={};return function y(f,b,k,e,N){var f=E(f),u=L[f];if(!u||"object"!==typeof u)b.length=0;else{for(var i=u.cssPropBits,q=i&80,B=i&1536,F=NaN,r=0,o=0;r=I)j=i&1?j:"";else if(R=j.charCodeAt(1),v=j.charCodeAt(2),P=48<=R&&57>=R,S=48<=v&&57>=v,43===I&&(P||46===R&&S))j=i&1?(P?"":"0")+j.substring(1):"";else if(45===I&&(P||46===R&&S))j=i&4?(P?"-":"-0")+j.substring(1):i&1?"0":"";else if(46===I&&P)j=i&1?"0"+j:"";else if('url("'===j.substring(0,5))j=k&&i&16?g(x(M(e,b[r].substring(5,j.length-2)),f,k)): -"";else if("("===j.charAt(j.length-1))a:{D=b;G=r;j=1;K=G+1;for(I=D.length;K"]= -f["+"]=f["~"]=f;ba=function(a,d,b){function g(i,r){function o(b,f,g){var y,e,i,l,o,m=n;y="";if(bh&&" "===b[e-1]&&--e;f.startAtrule&&f.startAtrule(b[d].toLowerCase(),b.slice(h,e));a="{"===b[a]?w(b,a,g,f):a+1;f.endAtrule&&f.endAtrule()}return a}function w(b,a,k,f){++a;for(f.startBlock&&f.startBlock();ad)return d=~d,d===h?d+1:d;var y=b[d];if("{"!==y)return d===h?d+1:d;a=d+1;d>h&&" "===b[d-1]&&--d;for(f.startRuleset&&f.startRuleset(b.slice(h,d));ad)d=~d;else{for(var e=[],l=0,w=a;w])/g;f=b+"";if(G)f=f.split(H);else{for(var e=[],h=0,j;(j=H.exec(f))!==s;)e.push(f.substring(h,j.index)),e.push(j[0]),h=j.index+j[0].length;e.push(f.substring(h));f=e}a(d,f,0,{r:C,C:C},g)}}function b(b,d,g,f,t){return function(){a(b,d,g,f,t)}}function a(a,d,p,e,t){try{a.H&&0==p&&a.H(t);for(var h, -z,j,i=d.length;p"===d[p+1])p+=2,j=h[1].toLowerCase(),a.t&&a.t(j,t,A,b(a,d,p,e,t));else{var m=d,q=p,r=a,u=t,v=A,y=e,w=f(m,q);w?(r.t&&r.t(w.name,u,v,b(r,m,q,y,u)),p=w.next):p=m.length}else a.e&&a.e("</",t,A,b(a,d,p,e,t));break;case "<":if(h=/^([-\w:]+)\s*\/?/.exec(l))if(h[0].length===l.length&& -">"===d[p+1]){p+=2;j=h[1].toLowerCase();a.w&&a.w(j,[],t,A,b(a,d,p,e,t));var B=g.f[j];B&K&&(p=k(d,{name:j,next:p,c:B},a,t,A,e))}else{var m=d,q=a,r=t,u=A,v=e,x=f(m,p);x?(q.w&&q.w(x.name,x.R,r,u,b(q,m,x.next,v,r)),p=x.c&K?k(m,x,q,r,u,v):x.next):p=m.length}else a.e&&a.e("<",t,A,b(a,d,p,e,t));break;case "<\!--":if(!e.C){for(z=p+1;z"===d[z]&&/--$/.test(d[z-1]));z++);if(z"!==d[z];z++);z"!==d[z];z++);z":a.e&&a.e(">",t,A,b(a,d,p,e,t));break;case "":break;default:a.e&&a.e(o,t,A,b(a,d,p,e,t))}}a.B&&a.B(t)}catch(E){if(E!==A)throw E;}}function k(a,d,f,h,t,j){var z=a.length;T.hasOwnProperty(d.name)|| -(T[d.name]=RegExp("^"+d.name+"(?:[\\s\\/]|$)","i"));for(var i=T[d.name],k=d.next,l=d.next+1;l"!==a[h];h++)e+=a[h];if(!(j<=h)){for(var l=[];""!== -e;)if(d=ja.exec(e))if(d[4]&&!d[5]||d[6]&&!d[7]){for(var d=d[4]||d[6],i=C,e=[e,a[h++]];h"===a[h])break}else 0<=a[h].indexOf(d)&&(i=n);e.push(a[h])}if(j<=h)break;e=e.join("")}else{var i=d[1].toLowerCase(),k;if(d[2]){k=d[3];var m=k.charCodeAt(0);if(34===m||39===m)k=k.substr(1,k.length-2);k=x(k.replace(o,""))}else k="";l.push(i,k);e=e.substr(d[0].length)}else e=e.replace(/^[\s\S][^a-z\s]*/,"");f.R=l;f.next=h+1;return f}}function h(a){function b(a,d){f||d.push(a)}var d,f;return v({startDoc:function(){d= -[];f=C},startTag:function(b,e,h){if(!f&&g.f.hasOwnProperty(b)){var j=g.f[b];if(!(j&g.c.FOLDABLE)){var k=a(b,e);if(k){if("object"!==typeof k)throw Error("tagPolicy did not return object (old API?)");if("attribs"in k)e=k.attribs;else throw Error("tagPolicy gave no attribs");var i;"tagName"in k?(i=k.tagName,k=g.f[i]):(i=b,k=j);if(j&g.c.OPTIONAL_ENDTAG){var l=d[d.length-1];l&&l.D===b&&(l.v!==i||b!==i)&&h.push("")}j&g.c.EMPTY||d.push({D:b,v:i});h.push("<",i);b=0;for(l=e.length;b");j&g.c.EMPTY&&!(k&g.c.EMPTY)&&h.push("")}else f=!(j&g.c.EMPTY)}}},endTag:function(a,b){if(f)f=C;else if(g.f.hasOwnProperty(a)){var e=g.f[a];if(!(e&(g.c.EMPTY|g.c.FOLDABLE))){if(e&g.c.OPTIONAL_ENDTAG)for(e=d.length;0<=--e;){var h=d[e].D;if(h===a)break;if(!(g.f[h]&g.c.OPTIONAL_ENDTAG))return}else for(e=d.length;0<=--e&&d[e].D!==a;);if(!(0>e)){for(h=d.length;--h>e;){var j=d[h].v;g.f[j]&g.c.OPTIONAL_ENDTAG||b.push("")}e< -d.length&&(a=d[e].v);d.length=e;b.push("")}}}},pcdata:b,rcdata:b,cdata:b,endDoc:function(a){for(;d.length;d.length--)a.push("")}})}function d(a,b,d,f,e){if(!e)return s;try{var g=Y.parse(""+a);if(g&&(!g.K()||ka.test(g.W()))){var h=e(g,b,d,f);return h?h.toString():s}}catch(j){}return s}function y(a,b,d,f,e){d||a(b+" removed",{S:"removed",tagName:b});if(f!==e){var g="changed";f&&!e?g="removed":!f&&e&&(g="added");a(b+"."+d+" "+g,{S:g,tagName:b,la:d,oldValue:f,newValue:e})}} -function l(a,b,d){b=b+"::"+d;if(a.hasOwnProperty(b))return a[b];b="*::"+d;if(a.hasOwnProperty(b))return a[b]}function V(a,b,f,e,h){for(var j=0;j",GT:">",amp:"&",AMP:"&",quot:'"',apos:"'",nbsp:"\u00a0"},q=/^#(\d+)$/,B=/^#x([0-9A-Fa-f]+)$/,F=/^[A-Za-z][A-za-z0-9]+$/,r="undefined"!==typeof window&& -window.document?window.document.createElement("textarea"):s,o=/\0/g,j=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,I=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,R=/&/g,ia=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,P=/[<]/g,S=/>/g,D=/\"/g,ja=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,G=3==="a,b".split(/(,)/).length,K=g.c.CDATA|g.c.RCDATA,A={},T={},ka=/^(?:https?|mailto|data)$/i,m={};m.pa=m.escapeAttrib=E;m.ra=m.makeHtmlSanitizer=h;m.sa=m.makeSaxParser=v;m.ta=m.makeTagPolicy= -ea;m.wa=m.normalizeRCData=e;m.xa=m.sanitize=function(a,b,d,e){return Q(a,ea(b,d,e))};m.ya=m.sanitizeAttribs=V;m.za=m.sanitizeWithPolicy=Q;m.Ba=m.unescapeEntities=x;return m}($),la=ha.sanitize;"undefined"!==typeof window&&(window.html=ha,window.html_sanitize=la);})(); -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pako=t()}}(function(){return function r(s,o,l){function h(e,t){if(!o[e]){if(!s[e]){var a="function"==typeof require&&require;if(!t&&a)return a(e,!0);if(d)return d(e,!0);var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}var n=o[e]={exports:{}};s[e][0].call(n.exports,function(t){return h(s[e][1][t]||t)},n,n.exports,r,s,o,l)}return o[e].exports}for(var d="function"==typeof require&&require,t=0;t>>6:(a<65536?e[r++]=224|a>>>12:(e[r++]=240|a>>>18,e[r++]=128|a>>>12&63),e[r++]=128|a>>>6&63),e[r++]=128|63&a);return e},a.buf2binstring=function(t){return d(t,t.length)},a.binstring2buf=function(t){for(var e=new l.Buf8(t.length),a=0,i=e.length;a>10&1023,o[i++]=56320|1023&n)}return d(o,i)},a.utf8border=function(t,e){var a;for((e=e||t.length)>t.length&&(e=t.length),a=e-1;0<=a&&128==(192&t[a]);)a--;return a<0?e:0===a?e:a+h[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";e.exports=function(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){for(a-=s=2e3>>1:t>>>1;e[a]=t}return e}();e.exports=function(t,e,a,i){var n=o,r=i+a;t^=-1;for(var s=i;s>>8^n[255&(t^e[s])];return-1^t}},{}],8:[function(t,e,a){"use strict";var l,_=t("../utils/common"),h=t("./trees"),u=t("./adler32"),c=t("./crc32"),i=t("./messages"),d=0,f=4,b=0,g=-2,m=-1,w=4,n=2,p=8,v=9,r=286,s=30,o=19,k=2*r+1,y=15,x=3,z=258,B=z+x+1,S=42,E=113,A=1,Z=2,R=3,C=4;function N(t,e){return t.msg=i[e],e}function O(t){return(t<<1)-(4t.avail_out&&(a=t.avail_out),0!==a&&(_.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function U(t,e){h._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,I(t.strm)}function T(t,e){t.pending_buf[t.pending++]=e}function F(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-B?t.strstart-(t.w_size-B):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+z,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(h[(a=e)+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do{}while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&r<_);if(i=z-(_-r),r=_-z,sl&&0!=--n);return s<=t.lookahead?s:t.lookahead}function H(t){var e,a,i,n,r,s,o,l,h,d,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-B)){for(_.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=a=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--a;);for(e=a=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--a;);n+=f}if(0===t.strm.avail_in)break;if(s=t.strm,o=t.window,l=t.strstart+t.lookahead,h=n,d=void 0,d=s.avail_in,h=x)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<=x&&(t.ins_h=(t.ins_h<=x)if(i=h._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<=x&&(t.ins_h=(t.ins_h<=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=h._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(H(t),0===t.lookahead&&e===d)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,U(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-B&&(U(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(U(t,!0),0===t.strm.avail_out?R:C):(t.strstart>t.block_start&&(U(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,j),new M(4,5,16,8,j),new M(4,6,32,32,j),new M(4,4,16,16,K),new M(8,16,32,32,K),new M(8,16,128,128,K),new M(8,32,128,256,K),new M(32,128,258,1024,K),new M(32,258,258,4096,K)],a.deflateInit=function(t,e){return G(t,e,p,15,8,0)},a.deflateInit2=G,a.deflateReset=q,a.deflateResetKeep=Y,a.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?g:(t.state.gzhead=e,b):g},a.deflate=function(t,e){var a,i,n,r;if(!t||!t.state||5>8&255),T(i,i.gzhead.time>>16&255),T(i,i.gzhead.time>>24&255),T(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),T(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(T(i,255&i.gzhead.extra.length),T(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=c(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(T(i,0),T(i,0),T(i,0),T(i,0),T(i,0),T(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),T(i,3),i.status=E);else{var s=p+(i.w_bits-8<<4)<<8;s|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(s|=32),s+=31-s%31,i.status=E,F(i,s),0!==i.strstart&&(F(i,t.adler>>>16),F(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=c(t.adler,i.pending_buf,i.pending-n,n)),I(t),n=i.pending,i.pending!==i.pending_buf_size));)T(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=c(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=c(t.adler,i.pending_buf,i.pending-n,n)),I(t),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}T(i,r=i.gzindexn&&(t.adler=c(t.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=c(t.adler,i.pending_buf,i.pending-n,n)),I(t),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}T(i,r=i.gzindexn&&(t.adler=c(t.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&I(t),i.pending+2<=i.pending_buf_size&&(T(i,255&t.adler),T(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(I(t),0===t.avail_out)return i.last_flush=-1,b}else if(0===t.avail_in&&O(e)<=O(a)&&e!==f)return N(t,-5);if(666===i.status&&0!==t.avail_in)return N(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==d&&666!==i.status){var o=2===i.strategy?function(t,e){for(var a;;){if(0===t.lookahead&&(H(t),0===t.lookahead)){if(e===d)return A;break}if(t.match_length=0,a=h._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(U(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(U(t,!0),0===t.strm.avail_out?R:C):t.last_lit&&(U(t,!1),0===t.strm.avail_out)?A:Z}(i,e):3===i.strategy?function(t,e){for(var a,i,n,r,s=t.window;;){if(t.lookahead<=z){if(H(t),t.lookahead<=z&&e===d)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(a=h._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=h._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(U(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(U(t,!0),0===t.strm.avail_out?R:C):t.last_lit&&(U(t,!1),0===t.strm.avail_out)?A:Z}(i,e):l[i.level].func(i,e);if(o!==R&&o!==C||(i.status=666),o===A||o===R)return 0===t.avail_out&&(i.last_flush=-1),b;if(o===Z&&(1===e?h._tr_align(i):5!==e&&(h._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),I(t),0===t.avail_out))return i.last_flush=-1,b}return e!==f?b:i.wrap<=0?1:(2===i.wrap?(T(i,255&t.adler),T(i,t.adler>>8&255),T(i,t.adler>>16&255),T(i,t.adler>>24&255),T(i,255&t.total_in),T(i,t.total_in>>8&255),T(i,t.total_in>>16&255),T(i,t.total_in>>24&255)):(F(i,t.adler>>>16),F(i,65535&t.adler)),I(t),0=a.w_size&&(0===r&&(D(a.head),a.strstart=0,a.block_start=0,a.insert=0),h=new _.Buf8(a.w_size),_.arraySet(h,e,d-a.w_size,a.w_size,0),e=h,d=a.w_size),s=t.avail_in,o=t.next_in,l=t.input,t.avail_in=d,t.next_in=0,t.input=e,H(a);a.lookahead>=x;){for(i=a.strstart,n=a.lookahead-(x-1);a.ins_h=(a.ins_h<>>=v=p>>>24,c-=v,0===(v=p>>>16&255))S[r++]=65535&p;else{if(!(16&v)){if(0==(64&v)){p=b[(65535&p)+(u&(1<>>=v,c-=v),c<15&&(u+=B[i++]<>>=v=p>>>24,c-=v,!(16&(v=p>>>16&255))){if(0==(64&v)){p=g[(65535&p)+(u&(1<>>=v,c-=v,(v=r-s)>3,u&=(1<<(c-=k<<3))-1,t.next_in=i,t.next_out=r,t.avail_in=i>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function r(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Z.Buf16(320),this.work=new Z.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function s(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=F,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Z.Buf32(i),e.distcode=e.distdyn=new Z.Buf32(n),e.sane=1,e.back=-1,U):T}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,s(t)):T}function l(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15=r.wsize?(Z.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(i<(n=r.wsize-r.wnext)&&(n=i),Z.arraySet(r.window,e,a-i,n,r.wnext),(i-=n)?(Z.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,a.check=C(a.check,E,2,0),d=h=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=30;break}if(8!=(15&h)){t.msg="unknown compression method",a.mode=30;break}if(d-=4,y=8+(15&(h>>>=4)),0===a.wbits)a.wbits=y;else if(y>a.wbits){t.msg="invalid window size",a.mode=30;break}a.dmax=1<>8&1),512&a.flags&&(E[0]=255&h,E[1]=h>>>8&255,a.check=C(a.check,E,2,0)),d=h=0,a.mode=3;case 3:for(;d<32;){if(0===o)break t;o--,h+=i[r++]<>>8&255,E[2]=h>>>16&255,E[3]=h>>>24&255,a.check=C(a.check,E,4,0)),d=h=0,a.mode=4;case 4:for(;d<16;){if(0===o)break t;o--,h+=i[r++]<>8),512&a.flags&&(E[0]=255&h,E[1]=h>>>8&255,a.check=C(a.check,E,2,0)),d=h=0,a.mode=5;case 5:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[r++]<>>8&255,a.check=C(a.check,E,2,0)),d=h=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&(o<(u=a.length)&&(u=o),u&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),Z.arraySet(a.head.extra,i,r,u,y)),512&a.flags&&(a.check=C(a.check,i,u,r)),o-=u,r+=u,a.length-=u),a.length))break t;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===o)break t;for(u=0;y=i[r+u++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y)),y&&u>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=12;break;case 10:for(;d<32;){if(0===o)break t;o--,h+=i[r++]<>>=7&d,d-=7&d,a.mode=27;break}for(;d<3;){if(0===o)break t;o--,h+=i[r++]<>>=1)){case 0:a.mode=14;break;case 1:if(H(a),a.mode=20,6!==e)break;h>>>=2,d-=2;break t;case 2:a.mode=17;break;case 3:t.msg="invalid block type",a.mode=30}h>>>=2,d-=2;break;case 14:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[r++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&h,d=h=0,a.mode=15,6===e)break t;case 15:a.mode=16;case 16:if(u=a.length){if(o>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,286>>=3,d-=3}for(;a.have<19;)a.lens[A[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,z={bits:a.lenbits},x=O(0,a.lens,0,19,a.lencode,0,a.work,z),a.lenbits=z.bits,x){t.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have>>16&255,w=65535&S,!((g=S>>>24)<=d);){if(0===o)break t;o--,h+=i[r++]<>>=g,d-=g,a.lens[a.have++]=w;else{if(16===w){for(B=g+2;d>>=g,d-=g,0===a.have){t.msg="invalid bit length repeat",a.mode=30;break}y=a.lens[a.have-1],u=3+(3&h),h>>>=2,d-=2}else if(17===w){for(B=g+3;d>>=g)),h>>>=3,d-=3}else{for(B=g+7;d>>=g)),h>>>=7,d-=7}if(a.have+u>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=30;break}for(;u--;)a.lens[a.have++]=y}}if(30===a.mode)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,z={bits:a.lenbits},x=O(D,a.lens,0,a.nlen,a.lencode,0,a.work,z),a.lenbits=z.bits,x){t.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,z={bits:a.distbits},x=O(I,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,z),a.distbits=z.bits,x){t.msg="invalid distances set",a.mode=30;break}if(a.mode=20,6===e)break t;case 20:a.mode=21;case 21:if(6<=o&&258<=l){t.next_out=s,t.avail_out=l,t.next_in=r,t.avail_in=o,a.hold=h,a.bits=d,N(t,_),s=t.next_out,n=t.output,l=t.avail_out,r=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;m=(S=a.lencode[h&(1<>>16&255,w=65535&S,!((g=S>>>24)<=d);){if(0===o)break t;o--,h+=i[r++]<>p)])>>>16&255,w=65535&S,!(p+(g=S>>>24)<=d);){if(0===o)break t;o--,h+=i[r++]<>>=p,d-=p,a.back+=p}if(h>>>=g,d-=g,a.back+=g,a.length=w,0===m){a.mode=26;break}if(32&m){a.back=-1,a.mode=12;break}if(64&m){t.msg="invalid literal/length code",a.mode=30;break}a.extra=15&m,a.mode=22;case 22:if(a.extra){for(B=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;m=(S=a.distcode[h&(1<>>16&255,w=65535&S,!((g=S>>>24)<=d);){if(0===o)break t;o--,h+=i[r++]<>p)])>>>16&255,w=65535&S,!(p+(g=S>>>24)<=d);){if(0===o)break t;o--,h+=i[r++]<>>=p,d-=p,a.back+=p}if(h>>>=g,d-=g,a.back+=g,64&m){t.msg="invalid distance code",a.mode=30;break}a.offset=w,a.extra=15&m,a.mode=24;case 24:if(a.extra){for(B=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===l)break t;if(u=_-l,a.offset>u){if((u=a.offset-u)>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=30;break}u>a.wnext?(u-=a.wnext,c=a.wsize-u):c=a.wnext-u,u>a.length&&(u=a.length),b=a.window}else b=n,c=s-a.offset,u=a.length;for(lu?(b=N[O+s[p]],g=A[Z+s[p]]):(b=96,g=0),l=1<>z)+(h-=l)]=c<<24|b<<16|g|0,0!==h;);for(l=1<>=1;if(0!==l?(E&=l-1,E+=l):E=0,p++,0==--R[w]){if(w===k)break;w=e[a+s[p]]}if(y>>7)]}function T(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function F(t,e,a){t.bi_valid>n-a?(t.bi_buf|=e<>n-t.bi_valid,t.bi_valid+=a-n):(t.bi_buf|=e<>>=1,a<<=1,0<--e;);return a>>>1}function j(t,e,a){var i,n,r=new Array(m+1),s=0;for(i=1;i<=m;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=H(r[o]++,o))}}function K(t){var e;for(e=0;e<_;e++)t.dyn_ltree[2*e]=0;for(e=0;e>1;1<=a;a--)Y(t,r,a);for(n=l;a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Y(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,Y(t,r,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;r<=m;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;a>=7;i>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e>>3,(r=t.static_len+3+7>>>3)<=n&&(n=r)):n=r=a+5,a+4<=n&&-1!==e?Q(t,e,a,i):4===t.strategy||r===n?(F(t,2+(i?1:0),3),q(t,S,E)):(F(t,4+(i?1:0),3),function(t,e,a,i){var n;for(F(t,e-257,5),F(t,a-1,5),F(t,i-4,4),n=0;n>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(Z[a]+f+1)]++,t.dyn_dtree[2*U(e)]++),t.last_lit===t.lit_bufsize-1},a._tr_align=function(t){var e;F(t,2,3),L(t,w,S),16===(e=t).bi_valid?(T(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},{"../utils/common":3}],15:[function(t,e,a){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],"/":[function(t,e,a){"use strict";var i={};(0,t("./lib/utils/common").assign)(i,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),e.exports=i},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); -var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(a,b){var c="",d,e,f,g,k,l,m=0;for(null!=b&&b||(a=Base64._utf8_encode(a));m>2,d=(d&3)<<4|e>>4,k=(e&15)<<2|f>>6,l=f&63,isNaN(e)?k=l=64:isNaN(f)&&(l=64),c=c+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(k)+this._keyStr.charAt(l);return c},decode:function(a,b){b=null!=b?b:!1;var c="",d,e,f,g,k,l=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g, -"");l>4,e=(e&15)<<4|g>>2,f=(g&3)<<6|k,c+=String.fromCharCode(d),64!=g&&(c+=String.fromCharCode(e)),64!=k&&(c+=String.fromCharCode(f));b||(c=Base64._utf8_decode(c));return c},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var b="",c=0;cd?b+=String.fromCharCode(d):(127d?b+= -String.fromCharCode(d>>6|192):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128)),b+=String.fromCharCode(d&63|128))}return b},_utf8_decode:function(a){var b="",c=0,d;for(c1=c2=0;cd?(b+=String.fromCharCode(d),c++):191d?(c2=a.charCodeAt(c+1),b+=String.fromCharCode((d&31)<<6|c2&63),c+=2):(c2=a.charCodeAt(c+1),c3=a.charCodeAt(c+2),b+=String.fromCharCode((d&15)<<12|(c2&63)<<6|c3&63),c+=3);return b}};window.urlParams=window.urlParams||{};window.isLocalStorage=window.isLocalStorage||!1;window.mxLoadSettings=window.mxLoadSettings||"1"!=urlParams.configure;window.isSvgBrowser=window.isSvgBrowser||0>navigator.userAgent.indexOf("MSIE")||9<=document.documentMode;window.EXPORT_URL=window.EXPORT_URL||"https://exp.draw.io/ImageExport4/export";window.PLANT_URL=window.PLANT_URL||"https://exp-plant.draw.io/plantuml4";window.DRAW_MATH_URL=window.DRAW_MATH_URL||"https://www.draw.io/math"; -window.VSD_CONVERT_URL=window.VSD_CONVERT_URL||"https://convert.draw.io/VsdConverter/api/converter";window.EMF_CONVERT_URL=window.EMF_CONVERT_URL||"https://convert.draw.io/emf2png/convertEMF";window.DRAWIO_GITLAB_URL=window.DRAWIO_GITLAB_URL||"https://gitlab.com";window.DRAWIO_GITLAB_ID=window.DRAWIO_GITLAB_ID||"5cdc018a32acddf6eba37592d9374945241e644b8368af847422d74c8709bc44";window.SAVE_URL=window.SAVE_URL||"save";window.OPEN_URL=window.OPEN_URL||"open";window.PROXY_URL=window.PROXY_URL||"proxy"; -window.VIEWER_URL=null;window.SHAPES_PATH=window.SHAPES_PATH||"shapes";window.GRAPH_IMAGE_PATH=window.GRAPH_IMAGE_PATH||"img";window.ICONSEARCH_PATH=window.ICONSEARCH_PATH||((0<=navigator.userAgent.indexOf("MSIE")||urlParams.dev)&&"file:"!=window.location.protocol?"iconSearch":"https://www.draw.io/iconSearch");window.TEMPLATE_PATH=window.TEMPLATE_PATH||"templates";window.NEW_DIAGRAM_CATS_PATH=window.NEW_DIAGRAM_CATS_PATH||"newDiagramCats";window.PLUGINS_BASE_PATH=window.PLUGINS_BASE_PATH||""; -window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||RESOURCES_PATH+"/dia";window.DRAWIO_CONFIG=window.DRAWIO_CONFIG||null;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||function(){var a="1"==urlParams.offline?"en":urlParams.lang;if(null==a&&"undefined"!=typeof JSON&&isLocalStorage)try{var b=localStorage.getItem(".drawio-config");null!=b&&(a=JSON.parse(b).language||null)}catch(c){isLocalStorage=!1}return a}(); -window.mxLanguageMap=window.mxLanguageMap||{i18n:"",id:"Bahasa Indonesia",ms:"Bahasa Melayu",bs:"Bosanski",bg:"Bulgarian",ca:"Català",cs:"Čeština",da:"Dansk",de:"Deutsch",et:"Eesti",en:"English",es:"Español",fil:"Filipino",fr:"Français",it:"Italiano",hu:"Magyar",nl:"Nederlands",no:"Norsk",pl:"Polski","pt-br":"Português (Brasil)",pt:"Português (Portugal)",ro:"Română",fi:"Suomi",sv:"Svenska",vi:"Tiếng Việt",tr:"Türkçe",el:"Ελληνικά",ru:"Русский",sr:"Српски",uk:"Українська",he:"עברית",ar:"العربية",th:"ไทย", -ko:"한국어",ja:"日本語",zh:"简体中文","zh-tw":"繁體中文"};"undefined"===typeof window.mxBasePath&&(window.mxBasePath="mxgraph");if(null==window.mxLanguages){window.mxLanguages=[];for(var lang in mxLanguageMap)"en"!=lang&&window.mxLanguages.push(lang)} -window.uiTheme=window.uiTheme||function(){var a=urlParams.ui;if(null==a&&"undefined"!==typeof JSON&&isLocalStorage)try{var b=localStorage.getItem(".drawio-config");null!=b&&(a=JSON.parse(b).ui||null)}catch(c){isLocalStorage=!1}try{null==a&&414>=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)&&(a="min")}catch(c){}return a}();function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,b)} -(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(c){}a=urlParams["export"];null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);a=urlParams.gitlab;null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),DRAWIO_GITLAB_URL=a);a=urlParams["gitlab-id"]; -null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";b=window.location.host;"test.draw.io"!=b&&(a=b.length-7,b=b.lastIndexOf("draw.io",a),-1!==b&&b===a&&(window.DRAWIO_LOG_URL="https://log.draw.io"))})();if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0"; -if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"1"==urlParams.lightbox&&(urlParams.chrome="0");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images"; -window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"4.0.6",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& -0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&& -0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& -0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!=document.createElementNS("http://www.w3.org/2000/svg", -"foreignObject")||0<=navigator.userAgent.indexOf("Opera/"),IS_WIN:0document.location.href.indexOf("http://")&&0>document.location.href.indexOf("https://"),defaultBundles:[],isBrowserSupported:function(){return mxClient.IS_VML||mxClient.IS_SVG}, -link:function(a,b,c,d){c=c||document;if(mxClient.IS_IE6)c.write('');else{var e=c.createElement("link");e.setAttribute("rel",a);e.setAttribute("href",b);e.setAttribute("charset","UTF-8");e.setAttribute("type","text/css");d&&e.setAttribute("id",d);c.getElementsByTagName("head")[0].appendChild(e)}},loadResources:function(a,b){function c(){0==--d&&a()}for(var d=mxClient.defaultBundles.length,e=0;e\x3c/script>')}};"undefined"==typeof mxLoadResources&&(mxLoadResources=!0);"undefined"==typeof mxForceIncludes&&(mxForceIncludes=!1);"undefined"==typeof mxResourceExtension&&(mxResourceExtension=".txt");"undefined"==typeof mxLoadStylesheets&&(mxLoadStylesheets=!0); -"undefined"!=typeof mxBasePath&&0d&&g?(d++,window.setTimeout(e,f)):null!=c&&c()},f=30;e()},cascadeOpacity:function(a,b,c){for(var d=a.model.getChildCount(b),e=0;edocument.documentMode)?function(a){return null!=a?a.currentStyle:null}:function(a){return null!=a?window.getComputedStyle(a, -""):null}}(),parseCssNumber:function(a){"thin"==a?a="2":"medium"==a?a="4":"thick"==a&&(a="6");a=parseFloat(a);isNaN(a)&&(a=0);return a},setPrefixedStyle:function(){var a=null;mxClient.IS_OT?a="O":mxClient.IS_SF||mxClient.IS_GC?a="Webkit":mxClient.IS_MT?a="Moz":mxClient.IS_IE&&9<=document.documentMode&&10>document.documentMode&&(a="ms");return function(b,c,d){b[c]=d;null!=a&&0document.documentMode))switch(b.nodeType){case 1:var d=a.createElement(b.nodeName);if(b.attributes&&0\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\n")}else d.push("/>\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d= -b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=String(a||"");a=a.replace(/&/g,"&");a=a.replace(/"/g,""");a=a.replace(/\'/g,"'");a=a.replace(//g,">");if(null==b||b)a=a.replace(/\n/g," ");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a): -null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,">").replace(/\r\n/g,"\n"));return c.replace(/\n/g,b||" ")},extractTextWithWhitespace:function(a){function b(a){if(1!=a.length||"BR"!=a[0].nodeName&&"\n"!=a[0].innerHTML)for(var e=0;e"==g.innerHTML.toLowerCase()?d.push("\n"):(3===g.nodeType||4===g.nodeType?0"):(b.push(">"),b.push(a.innerHTML),b.push(""));return b.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c= -null,d=0;dg&&(a.style.left=Math.max(f,g-d)+"px");c=parseInt(a.offsetTop);d=parseInt(a.offsetHeight);b=e+b.height;c+d>b&&(a.style.top=Math.max(e,b-d)+"px")},load:function(a){a=new mxXmlRequest(a,null, -"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;kf||299mxUtils.indexOf(b,e))&&(d[e]=c||"object"!=typeof a[e]?a[e]:mxUtils.clone(a[e]))}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" => ["+d+"]\n");else b+=c+" = "+a[c]+"\n"}catch(e){b+=c+"="+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return q;c=Math.abs(c);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/180),q=Math.sin(e*Math.PI/180);e=p*m+q*n;var m=-1*q*m+p*n,n=e*e,r=m*m, -t=c*c,u=d*d,x=n/t+r/u;1e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var y=Math.cos(f), -A=Math.sin(f),r=-m*(n*A+d*y),t=-m*(c*A-p*y),q=[],z=0;zc&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|= -mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH; -break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b},reversePortConstraints:function(a){var b;b=(a&mxConstants.DIRECTION_MASK_WEST)<<3;b|=(a&mxConstants.DIRECTION_MASK_NORTH)<< -1;b|=(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0f.distSq)&&(d=f)}}return null!=d?d.p:null},rectangleIntersectsSegment:function(a,b,c){var d=a.y,e=a.x,f=d+a.height,g=e+a.width;a=b.x;var k=c.x;b.x>c.x&&(a=c.x,k=b.x);k>g&&(k=g);ak)return!1;var e=b.y,g=c.y,l=c.x-b.x;1E-7g&&(b=g,g=e,e=b); -g>f&&(g=f);eg?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b){var c=a.width,d=a.height,e=b.width,f=b.height;if(0>=e||0>=f||0>=c||0>=d)return!1;var g=a.x,k=a.y,l=b.x,m=b.y,e=e+l,f=f+m,c=c+g,d=d+k;return(eg)&&(fk)&&(cl)&&(dm)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0a.toLowerCase().indexOf("0x"))},isInteger:function(a){return String(parseInt(a))===String(a)},mod:function(a,b){return(a%b+b)%b},intersection:function(a,b,c,d,e,f,g,k){var l=(k-f)*(c-a)-(g-e)*(d-b);g=((g-e)*(b-f)-(k-f)*(a-e))/l;e=((c-a)*(b-f)-(d-b)*(a-e))/l;return 0<=g&&1>=g&&0<=e&&1>=e?new mxPoint(a+g*(c-a),b+g*(d-b)):null},ptSegDistSq:function(a, -b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;0>=e*c+f*d?c=0:(e=c-e,f=d-f,a=e*c+f*d,c=0>=a?0:a*a/(c*c+d*d));e=e*e+f*f-c;0>e&&(e=0);return e},ptLineDist:function(a,b,c,d,e,f){return Math.abs((d-b)*e-(c-a)*f+c*b-d*a)/Math.sqrt((d-b)*(d-b)+(c-a)*(c-a))},relativeCcw:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;a=e*d-f*c;0==a&&(a=e*c+f*d,0a&&(a=0)));return 0>a?-1:0document.documentMode)?a.style.filter=100<=b?"":"alpha(opacity="+b+")":a.style.opacity=b/100},createImage:function(a){var b;mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(b=document.createElement(mxClient.VML_PREFIX+":image"),b.setAttribute("src",a),b.style.borderStyle= -"none"):(b=document.createElement("img"),b.setAttribute("src",a),b.setAttribute("border","0"));return b},sortCells:function(a,b){b=null!=b?b:!0;var c=new mxDictionary;a.sort(function(a,e){var d=c.get(a);null==d&&(d=mxCellPath.create(a).split(mxCellPath.PATH_SEPARATOR),c.put(a,d));var g=c.get(e);null==g&&(g=mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR),c.put(e,g));d=mxCellPath.compare(d,g);return 0==d?0:0a.indexOf("="))? -a:""},getStylenames:function(a){var b=[];if(null!=a){a=a.split(";");for(var c=0;ca[c].indexOf("=")&&b.push(a[c])}return b},indexOfStylename:function(a,b){if(null!=a&&null!=b)for(var c=a.split(";"),d=0,e=0;emxUtils.indexOfStylename(a,b)&&(null==a?a="":0e?";":a.substring(e)):0>e||e==a.length-1?"":a.substring(e+1)}else{var f=a.indexOf(";"+b+"=");0>f?d&&(d=";"==a.charAt(a.length-1)?"":";",a=a+d+b+"="+c+";"):(e=a.indexOf(";",f+1),a=d?a.substring(0,f+1)+b+"="+c+(0>e?";":a.substring(e)):a.substring(0,f)+(0>e?";":a.substring(e)))}return a},setCellStyleFlags:function(a,b,c,d,e){if(null!=b&&0e)e=";"==a.charAt(a.length-1)?"":";",a=d||null==d?a+e+b+"="+c:a+e+b+"=0";else{var f=a.indexOf(";",e),g;g=0>f?a.substring(e+b.length+1):a.substring(e+b.length+1,f);g=null==d?parseInt(g)^c:d?parseInt(g)|c:parseInt(g)&~c;a=a.substring(0,e)+b+"="+g+(0<=f?a.substring(f):"")}}return a},getAlignmentAsPoint:function(a, -b){var c=0,d=0;a==mxConstants.ALIGN_CENTER?c=-.5:a==mxConstants.ALIGN_RIGHT&&(c=-1);b==mxConstants.ALIGN_MIDDLE?d=-.5:b==mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(c,d)},getSizeForString:function(a,b,c,d){b=null!=b?b:mxConstants.DEFAULT_FONTSIZE;c=null!=c?c:mxConstants.DEFAULT_FONTFAMILY;var e=document.createElement("div");e.style.fontFamily=c;e.style.fontSize=Math.round(b)+"px";e.style.lineHeight=Math.round(b*mxConstants.LINE_HEIGHT)+"px";e.style.position="absolute";e.style.visibility="hidden"; -e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.style.zoom="1";null!=d?(e.style.width=d+"px",e.style.whiteSpace="normal"):e.style.whiteSpace="nowrap";e.innerHTML=a;document.body.appendChild(e);a=new mxRectangle(0,0,e.offsetWidth,e.offsetHeight);document.body.removeChild(e);return a},getViewXml:function(a,b,c,d,e){d=null!=d?d:0;e=null!=e?e:0;b=null!=b?b:1;null==c&&(c=[a.getModel().getRoot()]);var f=a.getView(),g=null,k=f.isEventsEnabled();f.setEventsEnabled(!1);var l=f.drawPane,m=f.overlayPane; -a.dialect==mxConstants.DIALECT_SVG?(f.drawPane=document.createElementNS(mxConstants.NS_SVG,"g"),f.canvas.appendChild(f.drawPane),f.overlayPane=document.createElementNS(mxConstants.NS_SVG,"g")):(f.drawPane=f.drawPane.cloneNode(!1),f.canvas.appendChild(f.drawPane),f.overlayPane=f.overlayPane.cloneNode(!1));f.canvas.appendChild(f.overlayPane);var n=f.getTranslate();f.translate=new mxPoint(d,e);b=new mxTemporaryCellStates(a.getView(),b,c);try{g=(new mxCodec).encode(a.getView())}finally{b.destroy(),f.translate= -n,f.canvas.removeChild(f.drawPane),f.canvas.removeChild(f.overlayPane),f.drawPane=l,f.overlayPane=m,f.setEventsEnabled(k)}return g},getScaleForPageCount:function(a,b,c,d){if(1>a)return 1;c=null!=c?c:mxConstants.PAGE_FORMAT_A4_PORTRAIT;d=null!=d?d:0;var e=c.width-2*d;c=c.height-2*d;d=b.getGraphBounds().clone();b=b.getView().getScale();d.width/=b;d.height/=b;b=d.width;var f=Math.sqrt(a);d=Math.sqrt(b/d.height/(e/c));c=f*d;d=f/d;if(1>c&&d>a){var g=d/a;d=a;c/=g}1>d&&c>a&&(g=c/a,c=a,d/=g);g=Math.ceil(c)* -Math.ceil(d);for(f=0;g>a;){var g=Math.floor(c)/c,k=Math.floor(d)/d;1==g&&(g=Math.floor(c-1)/c);1==k&&(k=Math.floor(d-1)/d);g=g>k?g:k;c*=g;d*=g;g=Math.ceil(c)*Math.ceil(d);f++;if(10";g=document.getElementsByTagName("base");for(c=0;c";for(c=0;c'+('
')+a.container.innerHTML;b.writeln(d+"
");b.close()}else{b.writeln("");g=document.getElementsByTagName("base");for(c=0;c');b.close(); -c=b.createElement("div");c.position="absolute";c.overflow="hidden";c.style.width=e+"px";c.style.height=f+"px";e=b.createElement("div");e.style.position="absolute";e.style.left=k+"px";e.style.top=l+"px";f=a.container.firstChild;for(d=null;null!=f;)g=f.cloneNode(!0),f==a.view.drawPane.ownerSVGElement?(c.appendChild(g),d=g):e.appendChild(g),f=f.nextSibling;b.body.appendChild(c);null!=e.firstChild&&b.body.appendChild(e);null!=d&&(d.style.minWidth="",d.style.minHeight="",d.firstChild.setAttribute("transform", -"translate("+k+","+l+")"))}mxUtils.removeCursors(b.body);return b},printScreen:function(a){var b=window.open();a.getGraphBounds();mxUtils.show(a,b.document);a=function(){b.focus();b.print();b.close()};mxClient.IS_GC?b.setTimeout(a,500):a()},popup:function(a,b){if(b){var c=document.createElement("div");c.style.overflow="scroll";c.style.width="636px";c.style.height="460px";var d=document.createElement("pre");d.innerHTML=mxUtils.htmlEntities(a,!1).replace(/\n/g,"
").replace(/ /g," ");c.appendChild(d); -c=new mxWindow("Popup Window",c,document.body.clientWidth/2-320,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight)/2-240,640,480,!1,!0);c.setClosable(!0);c.setVisible(!0)}else mxClient.IS_NS?(c=window.open(),c.document.writeln("
"+mxUtils.htmlEntities(a)+"").replace(/ /g," "),c.document.body.appendChild(d))},alert:function(a){alert(a)},
-prompt:function(a,b){return prompt(a,null!=b?b:"")},confirm:function(a){return confirm(a)},error:function(a,b,c,d){var e=document.createElement("div");e.style.padding="20px";var f=document.createElement("img");f.setAttribute("src",d||mxUtils.errorImage);f.setAttribute("valign","bottom");f.style.verticalAlign="middle";e.appendChild(f);e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));mxUtils.write(e,a);a=document.body.clientWidth;
-d=document.body.clientHeight||document.documentElement.clientHeight;var g=new mxWindow(mxResources.get(mxUtils.errorResource)||mxUtils.errorResource,e,(a-b)/2,d/4,b,null,!1,!0);c&&(mxUtils.br(e),b=document.createElement("p"),c=document.createElement("button"),mxClient.IS_IE?c.style.cssText="float:right":c.setAttribute("style","float:right"),mxEvent.addListener(c,"click",function(a){g.destroy()}),mxUtils.write(c,mxResources.get(mxUtils.closeResource)||mxUtils.closeResource),b.appendChild(c),e.appendChild(b),
-mxUtils.br(e),g.setClosable(!0));g.setVisible(!0);return g},makeDraggable:function(a,b,c,d,e,f,g,k,l,m){a=new mxDragSource(a,c);a.dragOffset=new mxPoint(null!=e?e:0,null!=f?f:mxConstants.TOOLTIP_VERTICAL_OFFSET);a.autoscroll=g;a.setGuidesEnabled(!1);null!=l&&(a.highlightDropTargets=l);null!=m&&(a.getDropTarget=m);a.getGraphForEvent=function(a){return"function"==typeof b?b(a):b};null!=d&&(a.createDragElement=function(){return d.cloneNode(!0)},k&&(a.createPreviewElement=function(a){var b=d.cloneNode(!0),
-c=parseInt(b.style.width),e=parseInt(b.style.height);b.style.width=Math.round(c*a.view.scale)+"px";b.style.height=Math.round(e*a.view.scale)+"px";return b}));return a}},mxConstants={DEFAULT_HOTSPOT:.3,MIN_HOTSPOT_SIZE:8,MAX_HOTSPOT_SIZE:0,RENDERING_HINT_EXACT:"exact",RENDERING_HINT_FASTER:"faster",RENDERING_HINT_FASTEST:"fastest",DIALECT_SVG:"svg",DIALECT_VML:"vml",DIALECT_MIXEDHTML:"mixedHtml",DIALECT_PREFERHTML:"preferHtml",DIALECT_STRICTHTML:"strictHtml",NS_SVG:"http://www.w3.org/2000/svg",NS_XHTML:"http://www.w3.org/1999/xhtml",
-NS_XLINK:"http://www.w3.org/1999/xlink",SHADOWCOLOR:"gray",VML_SHADOWCOLOR:"gray",SHADOW_OFFSET_X:2,SHADOW_OFFSET_Y:3,SHADOW_OPACITY:1,NODETYPE_ELEMENT:1,NODETYPE_ATTRIBUTE:2,NODETYPE_TEXT:3,NODETYPE_CDATA:4,NODETYPE_ENTITY_REFERENCE:5,NODETYPE_ENTITY:6,NODETYPE_PROCESSING_INSTRUCTION:7,NODETYPE_COMMENT:8,NODETYPE_DOCUMENT:9,NODETYPE_DOCUMENTTYPE:10,NODETYPE_DOCUMENT_FRAGMENT:11,NODETYPE_NOTATION:12,TOOLTIP_VERTICAL_OFFSET:16,DEFAULT_VALID_COLOR:"#00FF00",DEFAULT_INVALID_COLOR:"#FF0000",OUTLINE_HIGHLIGHT_COLOR:"#00FF00",
-OUTLINE_HIGHLIGHT_STROKEWIDTH:5,HIGHLIGHT_STROKEWIDTH:3,HIGHLIGHT_SIZE:2,HIGHLIGHT_OPACITY:100,CURSOR_MOVABLE_VERTEX:"move",CURSOR_MOVABLE_EDGE:"move",CURSOR_LABEL_HANDLE:"default",CURSOR_TERMINAL_HANDLE:"pointer",CURSOR_BEND_HANDLE:"crosshair",CURSOR_VIRTUAL_BEND_HANDLE:"crosshair",CURSOR_CONNECT:"pointer",HIGHLIGHT_COLOR:"#00FF00",CONNECT_TARGET_COLOR:"#0000FF",INVALID_CONNECT_TARGET_COLOR:"#FF0000",DROP_TARGET_COLOR:"#0000FF",VALID_COLOR:"#00FF00",INVALID_COLOR:"#FF0000",EDGE_SELECTION_COLOR:"#00FF00",
-VERTEX_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:"#FF0000",GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:"#0099FF",OUTLINE_STROKEWIDTH:mxClient.IS_IE?2:3,HANDLE_SIZE:6,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:"#00FF00",HANDLE_STROKECOLOR:"black",LABEL_HANDLE_FILLCOLOR:"yellow",CONNECT_HANDLE_FILLCOLOR:"#0000FF",LOCKED_HANDLE_FILLCOLOR:"#FF0000",OUTLINE_HANDLE_FILLCOLOR:"#00FFFF",OUTLINE_HANDLE_STROKECOLOR:"#0033FF",
-DEFAULT_FONTFAMILY:"Arial,Helvetica",DEFAULT_FONTSIZE:11,DEFAULT_TEXT_DIRECTION:"",LINE_HEIGHT:1.2,WORD_WRAP:"normal",ABSOLUTE_LINE_HEIGHT:!1,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:.15,LINE_ARCSIZE:20,ARROW_SPACING:0,ARROW_WIDTH:30,ARROW_SIZE:30,PAGE_FORMAT_A4_PORTRAIT:new mxRectangle(0,0,827,1169),PAGE_FORMAT_A4_LANDSCAPE:new mxRectangle(0,0,1169,827),PAGE_FORMAT_LETTER_PORTRAIT:new mxRectangle(0,0,850,1100),
-PAGE_FORMAT_LETTER_LANDSCAPE:new mxRectangle(0,0,1100,850),NONE:"none",STYLE_PERIMETER:"perimeter",STYLE_SOURCE_PORT:"sourcePort",STYLE_TARGET_PORT:"targetPort",STYLE_PORT_CONSTRAINT:"portConstraint",STYLE_PORT_CONSTRAINT_ROTATION:"portConstraintRotation",STYLE_SOURCE_PORT_CONSTRAINT:"sourcePortConstraint",STYLE_TARGET_PORT_CONSTRAINT:"targetPortConstraint",STYLE_OPACITY:"opacity",STYLE_FILL_OPACITY:"fillOpacity",STYLE_STROKE_OPACITY:"strokeOpacity",STYLE_TEXT_OPACITY:"textOpacity",STYLE_TEXT_DIRECTION:"textDirection",
-STYLE_OVERFLOW:"overflow",STYLE_ORTHOGONAL:"orthogonal",STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_DX:"exitDx",STYLE_EXIT_DY:"exitDy",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_DX:"entryDx",STYLE_ENTRY_DY:"entryDy",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",STYLE_MARGIN:"margin",
-STYLE_GRADIENTCOLOR:"gradientColor",STYLE_GRADIENT_DIRECTION:"gradientDirection",STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",STYLE_IMAGE:"image",
-STYLE_IMAGE_WIDTH:"imageWidth",STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",
-STYLE_INDICATOR_GRADIENTCOLOR:"indicatorGradientColor",STYLE_INDICATOR_SPACING:"indicatorSpacing",STYLE_INDICATOR_WIDTH:"indicatorWidth",STYLE_INDICATOR_HEIGHT:"indicatorHeight",STYLE_INDICATOR_DIRECTION:"indicatorDirection",STYLE_SHADOW:"shadow",STYLE_SEGMENT:"segment",STYLE_ENDARROW:"endArrow",STYLE_STARTARROW:"startArrow",STYLE_ENDSIZE:"endSize",STYLE_STARTSIZE:"startSize",STYLE_SWIMLANE_LINE:"swimlaneLine",STYLE_ENDFILL:"endFill",STYLE_STARTFILL:"startFill",STYLE_DASHED:"dashed",STYLE_DASH_PATTERN:"dashPattern",
-STYLE_FIX_DASH:"fixDash",STYLE_ROUNDED:"rounded",STYLE_CURVED:"curved",STYLE_ARCSIZE:"arcSize",STYLE_ABSOLUTE_ARCSIZE:"absoluteArcSize",STYLE_SOURCE_PERIMETER_SPACING:"sourcePerimeterSpacing",STYLE_TARGET_PERIMETER_SPACING:"targetPerimeterSpacing",STYLE_PERIMETER_SPACING:"perimeterSpacing",STYLE_SPACING:"spacing",STYLE_SPACING_TOP:"spacingTop",STYLE_SPACING_LEFT:"spacingLeft",STYLE_SPACING_BOTTOM:"spacingBottom",STYLE_SPACING_RIGHT:"spacingRight",STYLE_HORIZONTAL:"horizontal",STYLE_DIRECTION:"direction",
-STYLE_ANCHOR_POINT_DIRECTION:"anchorPointDirection",STYLE_ELBOW:"elbow",STYLE_FONTCOLOR:"fontColor",STYLE_FONTFAMILY:"fontFamily",STYLE_FONTSIZE:"fontSize",STYLE_FONTSTYLE:"fontStyle",STYLE_ASPECT:"aspect",STYLE_AUTOSIZE:"autosize",STYLE_FOLDABLE:"foldable",STYLE_EDITABLE:"editable",STYLE_BACKGROUND_OUTLINE:"backgroundOutline",STYLE_BENDABLE:"bendable",STYLE_MOVABLE:"movable",STYLE_RESIZABLE:"resizable",STYLE_RESIZE_WIDTH:"resizeWidth",STYLE_RESIZE_HEIGHT:"resizeHeight",STYLE_ROTATABLE:"rotatable",
-STYLE_CLONEABLE:"cloneable",STYLE_DELETABLE:"deletable",STYLE_SHAPE:"shape",STYLE_EDGE:"edgeStyle",STYLE_JETTY_SIZE:"jettySize",STYLE_SOURCE_JETTY_SIZE:"sourceJettySize",STYLE_TARGET_JETTY_SIZE:"targetJettySize",STYLE_LOOP:"loopStyle",STYLE_ORTHOGONAL_LOOP:"orthogonalLoop",STYLE_ROUTING_CENTER_X:"routingCenterX",STYLE_ROUTING_CENTER_Y:"routingCenterY",FONT_BOLD:1,FONT_ITALIC:2,FONT_UNDERLINE:4,SHAPE_RECTANGLE:"rectangle",SHAPE_ELLIPSE:"ellipse",SHAPE_DOUBLE_ELLIPSE:"doubleEllipse",SHAPE_RHOMBUS:"rhombus",
-SHAPE_LINE:"line",SHAPE_IMAGE:"image",SHAPE_ARROW:"arrow",SHAPE_ARROW_CONNECTOR:"arrowConnector",SHAPE_LABEL:"label",SHAPE_CYLINDER:"cylinder",SHAPE_SWIMLANE:"swimlane",SHAPE_CONNECTOR:"connector",SHAPE_ACTOR:"actor",SHAPE_CLOUD:"cloud",SHAPE_TRIANGLE:"triangle",SHAPE_HEXAGON:"hexagon",ARROW_CLASSIC:"classic",ARROW_CLASSIC_THIN:"classicThin",ARROW_BLOCK:"block",ARROW_BLOCK_THIN:"blockThin",ARROW_OPEN:"open",ARROW_OPEN_THIN:"openThin",ARROW_OVAL:"oval",ARROW_DIAMOND:"diamond",ARROW_DIAMOND_THIN:"diamondThin",
-ALIGN_LEFT:"left",ALIGN_CENTER:"center",ALIGN_RIGHT:"right",ALIGN_TOP:"top",ALIGN_MIDDLE:"middle",ALIGN_BOTTOM:"bottom",DIRECTION_NORTH:"north",DIRECTION_SOUTH:"south",DIRECTION_EAST:"east",DIRECTION_WEST:"west",TEXT_DIRECTION_DEFAULT:"",TEXT_DIRECTION_AUTO:"auto",TEXT_DIRECTION_LTR:"ltr",TEXT_DIRECTION_RTL:"rtl",DIRECTION_MASK_NONE:0,DIRECTION_MASK_WEST:1,DIRECTION_MASK_NORTH:2,DIRECTION_MASK_SOUTH:4,DIRECTION_MASK_EAST:8,DIRECTION_MASK_ALL:15,ELBOW_VERTICAL:"vertical",ELBOW_HORIZONTAL:"horizontal",
-EDGESTYLE_ELBOW:"elbowEdgeStyle",EDGESTYLE_ENTITY_RELATION:"entityRelationEdgeStyle",EDGESTYLE_LOOP:"loopEdgeStyle",EDGESTYLE_SIDETOSIDE:"sideToSideEdgeStyle",EDGESTYLE_TOPTOBOTTOM:"topToBottomEdgeStyle",EDGESTYLE_ORTHOGONAL:"orthogonalEdgeStyle",EDGESTYLE_SEGMENT:"segmentEdgeStyle",PERIMETER_ELLIPSE:"ellipsePerimeter",PERIMETER_RECTANGLE:"rectanglePerimeter",PERIMETER_RHOMBUS:"rhombusPerimeter",PERIMETER_HEXAGON:"hexagonPerimeter",PERIMETER_TRIANGLE:"trianglePerimeter"};
-function mxEventObject(a){this.name=a;this.properties=[];for(var b=1;bnavigator.userAgent.indexOf("Presto/2.5")&&(this.contentWrapper.style.overflow=a?"auto":"hidden")};
-mxWindow.prototype.activate=function(){if(mxWindow.activeWindow!=this){var a=mxUtils.getCurrentStyle(this.getElement()),a=null!=a?a.zIndex:3;if(mxWindow.activeWindow){var b=mxWindow.activeWindow.getElement();null!=b&&null!=b.style&&(b.style.zIndex=a)}b=mxWindow.activeWindow;this.getElement().style.zIndex=parseInt(a)+1;mxWindow.activeWindow=this;this.fireEvent(new mxEventObject(mxEvent.ACTIVATE,"previousWindow",b))}};mxWindow.prototype.getElement=function(){return this.div};
-mxWindow.prototype.fit=function(){mxUtils.fit(this.div)};mxWindow.prototype.isResizable=function(){return null!=this.resize?"none"!=this.resize.style.display:!1};
-mxWindow.prototype.setResizable=function(a){if(a)if(null==this.resize){this.resize=document.createElement("img");this.resize.style.position="absolute";this.resize.style.bottom="2px";this.resize.style.right="2px";this.resize.setAttribute("src",this.resizeImage);this.resize.style.cursor="nw-resize";var b=null,c=null,d=null,e=null;a=mxUtils.bind(this,function(a){this.activate();b=mxEvent.getClientX(a);c=mxEvent.getClientY(a);d=this.div.offsetWidth;e=this.div.offsetHeight;mxEvent.addGestureListeners(document,
-null,f,g);this.fireEvent(new mxEventObject(mxEvent.RESIZE_START,"event",a));mxEvent.consume(a)});var f=mxUtils.bind(this,function(a){if(null!=b&&null!=c){var f=mxEvent.getClientX(a)-b,g=mxEvent.getClientY(a)-c;this.setSize(d+f,e+g);this.fireEvent(new mxEventObject(mxEvent.RESIZE,"event",a));mxEvent.consume(a)}}),g=mxUtils.bind(this,function(a){null!=b&&null!=c&&(c=b=null,mxEvent.removeGestureListeners(document,null,f,g),this.fireEvent(new mxEventObject(mxEvent.RESIZE_END,"event",a)),mxEvent.consume(a))});
-mxEvent.addGestureListeners(this.resize,a,f,g);this.div.appendChild(this.resize)}else this.resize.style.display="inline";else null!=this.resize&&(this.resize.style.display="none")};
-mxWindow.prototype.setSize=function(a,b){a=Math.max(this.minimumSize.width,a);b=Math.max(this.minimumSize.height,b);mxClient.IS_QUIRKS||(this.div.style.width=a+"px",this.div.style.height=b+"px");this.table.style.width=a+"px";this.table.style.height=b+"px";mxClient.IS_QUIRKS||(this.contentWrapper.style.height=this.div.offsetHeight-this.title.offsetHeight-this.contentHeightCorrection+"px")};mxWindow.prototype.setMinimizable=function(a){this.minimize.style.display=a?"":"none"};
-mxWindow.prototype.getMinimumSize=function(){return new mxRectangle(0,0,0,this.title.offsetHeight)};
-mxWindow.prototype.installMinimizeHandler=function(){this.minimize=document.createElement("img");this.minimize.setAttribute("src",this.minimizeImage);this.minimize.setAttribute("title","Minimize");this.minimize.style.cursor="pointer";this.minimize.style.marginLeft="2px";this.minimize.style.display="none";this.buttons.appendChild(this.minimize);var a=!1,b=null,c=null,d=mxUtils.bind(this,function(d){this.activate();if(a)a=!1,this.minimize.setAttribute("src",this.minimizeImage),this.minimize.setAttribute("title",
-"Minimize"),this.contentWrapper.style.display="",this.maximize.style.display=b,mxClient.IS_QUIRKS||(this.div.style.height=c),this.table.style.height=c,null!=this.resize&&(this.resize.style.visibility=""),this.fireEvent(new mxEventObject(mxEvent.NORMALIZE,"event",d));else{a=!0;this.minimize.setAttribute("src",this.normalizeImage);this.minimize.setAttribute("title","Normalize");this.contentWrapper.style.display="none";b=this.maximize.style.display;this.maximize.style.display="none";c=this.table.style.height;
-var e=this.getMinimumSize();0=e.x-f.x&&d>=e.y-f.y&&c<=e.x-f.x+a.container.offsetWidth&&d<=e.y-f.y+a.container.offsetHeight};
-mxDragSource.prototype.mouseMove=function(a){var b=this.getGraphForEvent(a);null==b||this.graphContainsEvent(b,a)||(b=null);b!=this.currentGraph&&(null!=this.currentGraph&&this.dragExit(this.currentGraph,a),this.currentGraph=b,null!=this.currentGraph&&this.dragEnter(this.currentGraph,a));null!=this.currentGraph&&this.dragOver(this.currentGraph,a);if(null==this.dragElement||null!=this.previewElement&&"visible"==this.previewElement.style.visibility)null!=this.dragElement&&(this.dragElement.style.visibility=
-"hidden");else{var b=mxEvent.getClientX(a),c=mxEvent.getClientY(a);null==this.dragElement.parentNode&&document.body.appendChild(this.dragElement);this.dragElement.style.visibility="visible";null!=this.dragOffset&&(b+=this.dragOffset.x,c+=this.dragOffset.y);var d=mxUtils.getDocumentScrollOrigin(document);this.dragElement.style.left=b+d.x+"px";this.dragElement.style.top=c+d.y+"px"}mxEvent.consume(a)};
-mxDragSource.prototype.mouseUp=function(a){if(null!=this.currentGraph){if(null!=this.currentPoint&&(null==this.previewElement||"hidden"!=this.previewElement.style.visibility)){var b=this.currentGraph.view.scale,c=this.currentGraph.view.translate;this.drop(this.currentGraph,a,this.currentDropTarget,this.currentPoint.x/b-c.x,this.currentPoint.y/b-c.y)}this.dragExit(this.currentGraph);this.currentGraph=null}this.stopDrag();this.removeListeners();mxEvent.consume(a)};
-mxDragSource.prototype.removeListeners=function(){null!=this.eventSource&&(mxEvent.removeGestureListeners(this.eventSource,null,this.mouseMoveHandler,this.mouseUpHandler),this.eventSource=null);mxEvent.removeGestureListeners(document,null,this.mouseMoveHandler,this.mouseUpHandler);this.mouseUpHandler=this.mouseMoveHandler=null};
-mxDragSource.prototype.dragEnter=function(a,b){a.isMouseDown=!0;a.isMouseTrigger=mxEvent.isMouseEvent(b);this.previewElement=this.createPreviewElement(a);null!=this.previewElement&&this.checkEventSource&&mxClient.IS_SVG&&(this.previewElement.style.pointerEvents="none");this.isGuidesEnabled()&&null!=this.previewElement&&(this.currentGuide=new mxGuide(a,a.graphHandler.getGuideStates()));this.highlightDropTargets&&(this.currentHighlight=new mxCellHighlight(a,mxConstants.DROP_TARGET_COLOR));a.addListener(mxEvent.FIRE_MOUSE_EVENT,
-this.eventConsumer)};mxDragSource.prototype.dragExit=function(a,b){this.currentPoint=this.currentDropTarget=null;a.isMouseDown=!1;a.removeListener(this.eventConsumer);null!=this.previewElement&&(null!=this.previewElement.parentNode&&this.previewElement.parentNode.removeChild(this.previewElement),this.previewElement=null);null!=this.currentGuide&&(this.currentGuide.destroy(),this.currentGuide=null);null!=this.currentHighlight&&(this.currentHighlight.destroy(),this.currentHighlight=null)};
-mxDragSource.prototype.dragOver=function(a,b){var c=mxUtils.getOffset(a.container),d=mxUtils.getScrollOrigin(a.container),e=mxEvent.getClientX(b)-c.x+d.x-a.panDx,c=mxEvent.getClientY(b)-c.y+d.y-a.panDy;a.autoScroll&&(null==this.autoscroll||this.autoscroll)&&a.scrollPointToVisible(e,c,a.autoExtend);null!=this.currentHighlight&&a.isDropEnabled()&&(this.currentDropTarget=this.getDropTarget(a,e,c,b),d=a.getView().getState(this.currentDropTarget),this.currentHighlight.highlight(d));if(null!=this.previewElement){null==
-this.previewElement.parentNode&&(a.container.appendChild(this.previewElement),this.previewElement.style.zIndex="3",this.previewElement.style.position="absolute");var d=this.isGridEnabled()&&a.isGridEnabledEvent(b),f=!0;if(null!=this.currentGuide&&this.currentGuide.isEnabledForEvent(b))var f=parseInt(this.previewElement.style.width),g=parseInt(this.previewElement.style.height),f=new mxRectangle(0,0,f,g),c=new mxPoint(e,c),c=this.currentGuide.move(f,c,d,!0),f=!1,e=c.x,c=c.y;else if(d)var d=a.view.scale,
-g=a.view.translate,k=a.gridSize/2,e=(a.snap(e/d-g.x-k)+g.x)*d,c=(a.snap(c/d-g.y-k)+g.y)*d;null!=this.currentGuide&&f&&this.currentGuide.hide();null!=this.previewOffset&&(e+=this.previewOffset.x,c+=this.previewOffset.y);this.previewElement.style.left=Math.round(e)+"px";this.previewElement.style.top=Math.round(c)+"px";this.previewElement.style.visibility="visible"}this.currentPoint=new mxPoint(e,c)};
-mxDragSource.prototype.drop=function(a,b,c,d,e){this.dropHandler.apply(this,arguments);"hidden"!=a.container.style.visibility&&a.container.focus()};function mxToolbar(a){this.container=a}mxToolbar.prototype=new mxEventSource;mxToolbar.prototype.constructor=mxToolbar;mxToolbar.prototype.container=null;mxToolbar.prototype.enabled=!0;mxToolbar.prototype.noReset=!1;mxToolbar.prototype.updateDefaultMode=!0;
-mxToolbar.prototype.addItem=function(a,b,c,d,e,f){var g=document.createElement(null!=b?"img":"button"),k=e||(null!=f?"mxToolbarMode":"mxToolbarItem");g.className=k;g.setAttribute("src",b);null!=a&&(null!=b?g.setAttribute("title",a):mxUtils.write(g,a));this.container.appendChild(g);null!=c&&(mxEvent.addListener(g,"click",c),mxClient.IS_TOUCH&&mxEvent.addListener(g,"touchend",c));a=mxUtils.bind(this,function(a){null!=d?g.setAttribute("src",b):g.style.backgroundColor=""});mxEvent.addGestureListeners(g,
-mxUtils.bind(this,function(a){null!=d?g.setAttribute("src",d):g.style.backgroundColor="gray";if(null!=f){null==this.menu&&(this.menu=new mxPopupMenu,this.menu.init());var b=this.currentImg;this.menu.isMenuShowing()&&this.menu.hideMenu();b!=g&&(this.currentImg=g,this.menu.factoryMethod=f,b=new mxPoint(g.offsetLeft,g.offsetTop+g.offsetHeight),this.menu.popup(b.x,b.y,null,a),this.menu.isMenuShowing()&&(g.className=k+"Selected",this.menu.hideMenu=function(){mxPopupMenu.prototype.hideMenu.apply(this);
-g.className=k;this.currentImg=null}))}}),null,a);mxEvent.addListener(g,"mouseout",a);return g};mxToolbar.prototype.addCombo=function(a){var b=document.createElement("div");b.style.display="inline";b.className="mxToolbarComboContainer";var c=document.createElement("select");c.className=a||"mxToolbarCombo";b.appendChild(c);this.container.appendChild(b);return c};
-mxToolbar.prototype.addActionCombo=function(a,b){var c=document.createElement("select");c.className=b||"mxToolbarCombo";this.addOption(c,a,null);mxEvent.addListener(c,"change",function(a){var b=c.options[c.selectedIndex];c.selectedIndex=0;null!=b.funct&&b.funct(a)});this.container.appendChild(c);return c};mxToolbar.prototype.addOption=function(a,b,c){var d=document.createElement("option");mxUtils.writeln(d,b);"function"==typeof c?d.funct=c:d.setAttribute("value",c);a.appendChild(d);return d};
-mxToolbar.prototype.addSwitchMode=function(a,b,c,d,e){var f=document.createElement("img");f.initialClassName=e||"mxToolbarMode";f.className=f.initialClassName;f.setAttribute("src",b);f.altIcon=d;null!=a&&f.setAttribute("title",a);mxEvent.addListener(f,"click",mxUtils.bind(this,function(a){a=this.selectedMode.altIcon;null!=a?(this.selectedMode.altIcon=this.selectedMode.getAttribute("src"),this.selectedMode.setAttribute("src",a)):this.selectedMode.className=this.selectedMode.initialClassName;this.updateDefaultMode&&
-(this.defaultMode=f);this.selectedMode=f;a=f.altIcon;null!=a?(f.altIcon=f.getAttribute("src"),f.setAttribute("src",a)):f.className=f.initialClassName+"Selected";this.fireEvent(new mxEventObject(mxEvent.SELECT));c()}));this.container.appendChild(f);null==this.defaultMode&&(this.defaultMode=f,this.selectMode(f),c());return f};
-mxToolbar.prototype.addMode=function(a,b,c,d,e,f){f=null!=f?f:!0;var g=document.createElement(null!=b?"img":"button");g.initialClassName=e||"mxToolbarMode";g.className=g.initialClassName;g.setAttribute("src",b);g.altIcon=d;null!=a&&g.setAttribute("title",a);this.enabled&&f&&(mxEvent.addListener(g,"click",mxUtils.bind(this,function(a){this.selectMode(g,c);this.noReset=!1})),mxEvent.addListener(g,"dblclick",mxUtils.bind(this,function(a){this.selectMode(g,c);this.noReset=!0})),null==this.defaultMode&&
-(this.defaultMode=g,this.defaultFunction=c,this.selectMode(g,c)));this.container.appendChild(g);return g};
-mxToolbar.prototype.selectMode=function(a,b){if(this.selectedMode!=a){if(null!=this.selectedMode){var c=this.selectedMode.altIcon;null!=c?(this.selectedMode.altIcon=this.selectedMode.getAttribute("src"),this.selectedMode.setAttribute("src",c)):this.selectedMode.className=this.selectedMode.initialClassName}this.selectedMode=a;c=this.selectedMode.altIcon;null!=c?(this.selectedMode.altIcon=this.selectedMode.getAttribute("src"),this.selectedMode.setAttribute("src",c)):this.selectedMode.className=this.selectedMode.initialClassName+
-"Selected";this.fireEvent(new mxEventObject(mxEvent.SELECT,"function",b))}};mxToolbar.prototype.resetMode=function(a){!a&&this.noReset||this.selectedMode==this.defaultMode||this.selectMode(this.defaultMode,this.defaultFunction)};mxToolbar.prototype.addSeparator=function(a){return this.addItem(null,a,null)};mxToolbar.prototype.addBreak=function(){mxUtils.br(this.container)};
-mxToolbar.prototype.addLine=function(){var a=document.createElement("hr");a.style.marginRight="6px";a.setAttribute("size","1");this.container.appendChild(a)};mxToolbar.prototype.destroy=function(){mxEvent.release(this.container);this.selectedMode=this.defaultFunction=this.defaultMode=this.container=null;null!=this.menu&&this.menu.destroy()};function mxUndoableEdit(a,b){this.source=a;this.changes=[];this.significant=null!=b?b:!0}mxUndoableEdit.prototype.source=null;
-mxUndoableEdit.prototype.changes=null;mxUndoableEdit.prototype.significant=null;mxUndoableEdit.prototype.undone=!1;mxUndoableEdit.prototype.redone=!1;mxUndoableEdit.prototype.isEmpty=function(){return 0==this.changes.length};mxUndoableEdit.prototype.isSignificant=function(){return this.significant};mxUndoableEdit.prototype.add=function(a){this.changes.push(a)};mxUndoableEdit.prototype.notify=function(){};mxUndoableEdit.prototype.die=function(){};
-mxUndoableEdit.prototype.undo=function(){if(!this.undone){this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));for(var a=this.changes.length-1;0<=a;a--){var b=this.changes[a];null!=b.execute?b.execute():null!=b.undo&&b.undo();this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED,"change",b))}this.undone=!0;this.redone=!1;this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))}this.notify()};
-mxUndoableEdit.prototype.redo=function(){if(!this.redone){this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));for(var a=this.changes.length,b=0;bthis.indexOfNextAdd)for(var a=this.history.splice(this.indexOfNextAdd,this.history.length-this.indexOfNextAdd),b=0;bthis.dx&&Math.abs(this.dx)<
-this.border?this.border+this.dx:this.handleMouseOut?Math.max(this.dx,0):0;0==this.dx&&(this.dx=c-g.scrollLeft,this.dx=0this.dy&&Math.abs(this.dy)e.x+(document.body.clientWidth||f.clientWidth)&&(b.div.style.left=Math.max(0,a.div.offsetLeft-d+(mxClient.IS_IE?6:-6))+"px");mxUtils.fit(b.div)}};
-mxPopupMenu.prototype.addSeparator=function(a,b){a=a||this;if(this.smartSeparators&&!b)a.willAddSeparator=!0;else if(null!=a.tbody){a.willAddSeparator=!1;var c=document.createElement("tr"),d=document.createElement("td");d.className="mxPopupMenuIcon";d.style.padding="0 0 0 0px";c.appendChild(d);d=document.createElement("td");d.style.padding="0 0 0 0px";d.setAttribute("colSpan","2");var e=document.createElement("hr");e.setAttribute("size","1");d.appendChild(e);c.appendChild(d);a.tbody.appendChild(c)}};
-mxPopupMenu.prototype.popup=function(a,b,c,d){if(null!=this.div&&null!=this.tbody&&null!=this.factoryMethod){this.div.style.left=a+"px";for(this.div.style.top=b+"px";null!=this.tbody.firstChild;)mxEvent.release(this.tbody.firstChild),this.tbody.removeChild(this.tbody.firstChild);this.itemCount=0;this.factoryMethod(this,c,d);0this.autoSaveDelay||this.ignoredChanges>=this.autoSaveThreshold&&a>this.autoSaveThrottle?(this.save(),this.reset()):this.ignoredChanges++};mxAutoSaveManager.prototype.reset=function(){this.lastSnapshot=(new Date).getTime();this.ignoredChanges=0};mxAutoSaveManager.prototype.destroy=function(){this.setGraph(null)};
-function mxAnimation(a){this.delay=null!=a?a:20}mxAnimation.prototype=new mxEventSource;mxAnimation.prototype.constructor=mxAnimation;mxAnimation.prototype.delay=null;mxAnimation.prototype.thread=null;mxAnimation.prototype.isRunning=function(){return null!=this.thread};mxAnimation.prototype.startAnimation=function(){null==this.thread&&(this.thread=window.setInterval(mxUtils.bind(this,this.updateAnimation),this.delay))};mxAnimation.prototype.updateAnimation=function(){this.fireEvent(new mxEventObject(mxEvent.EXECUTE))};
-mxAnimation.prototype.stopAnimation=function(){null!=this.thread&&(window.clearInterval(this.thread),this.thread=null,this.fireEvent(new mxEventObject(mxEvent.DONE)))};function mxMorphing(a,b,c,d){mxAnimation.call(this,d);this.graph=a;this.steps=null!=b?b:6;this.ease=null!=c?c:1.5}mxMorphing.prototype=new mxAnimation;mxMorphing.prototype.constructor=mxMorphing;mxMorphing.prototype.graph=null;mxMorphing.prototype.steps=null;mxMorphing.prototype.step=0;mxMorphing.prototype.ease=null;
-mxMorphing.prototype.cells=null;mxMorphing.prototype.updateAnimation=function(){mxAnimation.prototype.updateAnimation.apply(this,arguments);var a=new mxCellStatePreview(this.graph);if(null!=this.cells)for(var b=0;b=this.steps)&&this.stopAnimation()};mxMorphing.prototype.show=function(a){a.show()};
-mxMorphing.prototype.animateCell=function(a,b,c){var d=this.graph.getView().getState(a),e=null;if(null!=d&&(e=this.getDelta(d),this.graph.getModel().isVertex(a)&&(0!=e.x||0!=e.y))){var f=this.graph.view.getTranslate(),g=this.graph.view.getScale();e.x+=f.x*g;e.y+=f.y*g;b.moveState(d,-e.x/this.ease,-e.y/this.ease)}if(c&&!this.stopRecursion(d,e))for(d=this.graph.getModel().getChildCount(a),e=0;ec?";stop-opacity:"+c:"";e=this.createElement("stop");
-e.setAttribute("offset","0%");e.setAttribute("style","stop-color:"+a+c);f.appendChild(e);c=1>d?";stop-opacity:"+d:"";e=this.createElement("stop");e.setAttribute("offset","100%");e.setAttribute("style","stop-color:"+b+c);f.appendChild(e);return f};
-mxSvgCanvas2D.prototype.addNode=function(a,b){var c=this.node,d=this.state;if(null!=c){if("path"==c.nodeName)if(null!=this.path&&0a.alpha||1>a.fillAlpha)&&this.node.setAttribute("fill-opacity",a.alpha*a.fillAlpha);if(null!=a.fillColor)if(null!=a.gradientColor)if(a=this.getSvgGradient(String(a.fillColor),String(a.gradientColor),a.gradientFillAlpha,a.gradientAlpha,a.gradientDirection),mxClient.IS_CHROMEAPP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document)this.node.setAttribute("fill","url(#"+a+")");else{var b=this.getBaseUrl().replace(/([\(\)])/g,
-"\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",String(a.fillColor).toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(this.minStrokeWidth,Math.max(.01,this.format(this.state.strokeWidth*this.state.scale)))};
-mxSvgCanvas2D.prototype.updateStroke=function(){var a=this.state;this.node.setAttribute("stroke",String(a.strokeColor).toLowerCase());(1>a.alpha||1>a.strokeAlpha)&&this.node.setAttribute("stroke-opacity",a.alpha*a.strokeAlpha);var b=this.getCurrentStrokeWidth();1!=b&&this.node.setAttribute("stroke-width",b);"path"==this.node.nodeName&&this.updateStrokeAttributes();a.dashed&&this.node.setAttribute("stroke-dasharray",this.createDashPattern((a.fixDash?1:a.strokeWidth)*a.scale))};
-mxSvgCanvas2D.prototype.updateStrokeAttributes=function(){var a=this.state;null!=a.lineJoin&&"miter"!=a.lineJoin&&this.node.setAttribute("stroke-linejoin",a.lineJoin);if(null!=a.lineCap){var b=a.lineCap;"flat"==b&&(b="butt");"butt"!=b&&this.node.setAttribute("stroke-linecap",b)}null==a.miterLimit||this.styleEnabled&&10==a.miterLimit||this.node.setAttribute("stroke-miterlimit",a.miterLimit)};
-mxSvgCanvas2D.prototype.createDashPattern=function(a){var b=[];if("string"===typeof this.state.dashPattern){var c=this.state.dashPattern.split(" ");if(0l.alpha||1>l.fillAlpha)&&m.setAttribute("opacity",l.alpha*l.fillAlpha);e=this.state.transform||"";if(g||k){var n=f=1,p=0,q=0;g&&(f=-1,p=-c-2*a);k&&(n=-1,q=-d-2*b);e+="scale("+f+","+n+")translate("+p*l.scale+","+q*l.scale+")"}0",5)+1)),""==a.substring(a.length-7,a.length)&&(a=a.substring(0,a.length-7)))}else{if(null!=document.implementation&&null!=document.implementation.createDocument){var b=document.implementation.createDocument("http://www.w3.org/1999/xhtml","html",null),c=b.createElement("body");
-b.documentElement.appendChild(c);var d=document.createElement("div");d.innerHTML=a;for(a=d.firstChild;null!=a;)d=a.nextSibling,c.appendChild(b.adoptNode(a)),a=d;return c.innerHTML}b=document.createElement("textarea");b.innerHTML=a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(//g,">");a=b.value.replace(/&/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,
-"&").replace(/
/g,"
").replace(/
/g,"
").replace(/(]+)>/gm,"$1 />")}return a}; -mxSvgCanvas2D.prototype.createDiv=function(a,b,c,d,e,f){c=this.state;d="display:inline-block;font-size:"+c.fontSize+"px;font-family:"+c.fontFamily+";color:"+c.fontColor+";line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?c.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+";"+d;(c.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(d+="font-weight:bold;");(c.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(d+="font-style:italic;");(c.fontStyle& -mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");d=b==mxConstants.ALIGN_CENTER?d+"text-align:center;":b==mxConstants.ALIGN_RIGHT?d+"text-align:right;":d+"text-align:left;";b="";null!=c.fontBackgroundColor&&(b+="background-color:"+mxUtils.htmlEntities(c.fontBackgroundColor)+";");null!=c.fontBorderColor&&(b+="border:1px solid "+mxUtils.htmlEntities(c.fontBorderColor)+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=e&&"width"!=e?(null!=f&&(b+="white-space:"+ -f+";"),a='
'+a+"
"):d+=b);if(!mxClient.IS_IE&&document.createElementNS)return e=document.createElementNS("http://www.w3.org/1999/xhtml","div"),e.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?e.appendChild(a.cloneNode(!0)):e.appendChild(a):e.innerHTML=a,e;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('
'+a+"
").documentElement};mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight}; -mxSvgCanvas2D.prototype.updateText=function(a,b,c,d,e,f,g,k,l,m,n){if(null!=n&&null!=n.firstChild&&null!=n.firstChild.firstChild&&null!=n.firstChild.firstChild.firstChild){n=n.firstChild;var p=n.firstChild,q=p.firstChild;m=null!=m?m:0;var r=this.state;a+=r.dx;b+=r.dy;l?(q.style.maxHeight=Math.round(d)+"px",q.style.maxWidth=Math.round(c)+"px"):"fill"==k?(q.style.width=Math.round(c+1)+"px",q.style.height=Math.round(d+1)+"px"):"width"==k&&(q.style.width=Math.round(c+1)+"px",0r.alpha&&u.setAttribute("opacity",r.alpha);var x=this.createElement("foreignObject");x.setAttribute("style","overflow:visible;");x.setAttribute("pointer-events",this.pointerEvents?this.pointerEventsValue:"none");t=this.createDiv(e,f,g,t,m,k&&0r.alpha&&u.setAttribute("opacity",r.alpha);q=t=0;f==mxConstants.ALIGN_CENTER?t-= -c/2:f==mxConstants.ALIGN_RIGHT&&(t-=c);a+=t;g==mxConstants.ALIGN_MIDDLE?q-=d/2:g==mxConstants.ALIGN_BOTTOM&&(q-=d);"fill"!=m&&mxClient.IS_FF&&mxClient.IS_WIN&&(q-=2);b+=q;z=1!=r.scale?"scale("+r.scale+")":"";0!=r.rotation&&this.rotateHtml?(z+="rotate("+r.rotation+","+c/2+","+d/2+")",b=this.rotatePoint((a+c/2)*r.scale,(b+d/2)*r.scale,r.rotation,r.rotationCx,r.rotationCy),a=b.x-c*r.scale/2,b=b.y-d*r.scale/2):(a*=r.scale,b*=r.scale);0!=p&&(z+="rotate("+p+","+-t+","+-q+")");u.setAttribute("transform", -"translate("+(Math.round(a)+this.foOffset)+","+(Math.round(b)+this.foOffset)+")"+z);x.setAttribute("width",Math.round(Math.max(1,c)));x.setAttribute("height",Math.round(Math.max(1,d)));this.root.ownerDocument!=document&&(a=this.createAlternateContent(x,a,b,c,d,e,f,g,k,l,m,n,p),null!=a&&(x.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility"),c=this.createElement("switch"),c.appendChild(x),c.appendChild(a),u.appendChild(c)))}}else this.plainText(a,b,c,d,e,f,g,k,m,n,p, -q)}};mxSvgCanvas2D.prototype.createClip=function(a,b,c,d){a=Math.round(a);b=Math.round(b);c=Math.round(c);d=Math.round(d);for(var e="mx-clip-"+a+"-"+b+"-"+c+"-"+d,f=0,g=e+"-"+f;null!=document.getElementById(g);)g=e+"-"+ ++f;clip=this.createElement("clipPath");clip.setAttribute("id",g);e=this.createElement("rect");e.setAttribute("x",a);e.setAttribute("y",b);e.setAttribute("width",c);e.setAttribute("height",d);clip.appendChild(e);return clip}; -mxSvgCanvas2D.prototype.plainText=function(a,b,c,d,e,f,g,k,l,m,n,p){n=null!=n?n:0;k=this.state;var q=k.fontSize,r=this.createElement("g"),t=k.transform||"";this.updateFont(r);0!=n&&(t+="rotate("+n+","+this.format(a*k.scale)+","+this.format(b*k.scale)+")");null!=p&&r.setAttribute("direction",p);m&&0k.alpha&&r.setAttribute("opacity",k.alpha);t=e.split("\n");p=Math.round(q*mxConstants.LINE_HEIGHT);var u=q+(t.length-1)*p;n=b+q-1;g==mxConstants.ALIGN_MIDDLE?"fill"==l?n-=d/2:(m=(this.matchHtmlAlignment&&m&&0"),document.body.appendChild(n),e=n.offsetWidth,f=n.offsetHeight,n.parentNode.removeChild(n),g==mxConstants.ALIGN_CENTER?c-=e/2:g==mxConstants.ALIGN_RIGHT&&(c-=e),k==mxConstants.ALIGN_MIDDLE?d-=f/2:k==mxConstants.ALIGN_BOTTOM&&(d-=f),n=new mxRectangle((c+1)*m.scale,(d+2)*m.scale,e*m.scale,(f+1)*m.scale);null!=n&&(b= -this.createElement("rect"),b.setAttribute("fill",m.fontBackgroundColor||"none"),b.setAttribute("stroke",m.fontBorderColor||"none"),b.setAttribute("x",Math.floor(n.x-1)),b.setAttribute("y",Math.floor(n.y-1)),b.setAttribute("width",Math.ceil(n.width+2)),b.setAttribute("height",Math.ceil(n.height)),m=null!=m.fontBorderColor?Math.max(1,this.format(m.scale)):0,b.setAttribute("stroke-width",m),this.root.ownerDocument==document&&1==mxUtils.mod(m,2)&&b.setAttribute("transform","translate(0.5, 0.5)"),a.insertBefore(b, -a.firstChild))}};mxSvgCanvas2D.prototype.stroke=function(){this.addNode(!1,!0)};mxSvgCanvas2D.prototype.fill=function(){this.addNode(!0,!1)};mxSvgCanvas2D.prototype.fillAndStroke=function(){this.addNode(!0,!0)};var mxVmlCanvas2D=function(a){mxAbstractCanvas2D.call(this);this.root=a};mxUtils.extend(mxVmlCanvas2D,mxAbstractCanvas2D);mxVmlCanvas2D.prototype.node=null;mxVmlCanvas2D.prototype.textEnabled=!0;mxVmlCanvas2D.prototype.moveOp="m";mxVmlCanvas2D.prototype.lineOp="l"; -mxVmlCanvas2D.prototype.curveOp="c";mxVmlCanvas2D.prototype.closeOp="x";mxVmlCanvas2D.prototype.rotatedHtmlBackground="";mxVmlCanvas2D.prototype.vmlScale=1;mxVmlCanvas2D.prototype.createElement=function(a){return document.createElement(a)};mxVmlCanvas2D.prototype.createVmlElement=function(a){return this.createElement(mxClient.VML_PREFIX+":"+a)}; -mxVmlCanvas2D.prototype.addNode=function(a,b){var c=this.node,d=this.state;if(null!=c){if("shape"==c.nodeName)if(null!=this.path&&0a.alpha||1>a.fillAlpha)b.opacity=a.alpha*a.fillAlpha*100+"%";return b}; -mxVmlCanvas2D.prototype.createStroke=function(){var a=this.state,b=this.createVmlElement("stroke");b.endcap=a.lineCap||"flat";b.joinstyle=a.lineJoin||"miter";b.miterlimit=a.miterLimit||"10";if(1>a.alpha||1>a.strokeAlpha)b.opacity=a.alpha*a.strokeAlpha*100+"%";a.dashed&&(b.dashstyle=this.getVmlDashStyle());return b};mxVmlCanvas2D.prototype.getVmlDashStyle=function(){var a="dash";if("string"===typeof this.state.dashPattern){var b=this.state.dashPattern.split(" ");0this.state.alpha||1>this.state.fillAlpha)a.style.filter+="alpha(opacity="+this.state.alpha*this.state.fillAlpha*100+")";this.root.appendChild(a)}; -mxVmlCanvas2D.prototype.createDiv=function(a,b,c,d){c=this.createElement("div");var e=this.state,f="";null!=e.fontBackgroundColor&&(f+="background-color:"+mxUtils.htmlEntities(e.fontBackgroundColor)+";");null!=e.fontBorderColor&&(f+="border:1px solid "+mxUtils.htmlEntities(e.fontBorderColor)+";");mxUtils.isNode(a)?c.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=f,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration= -"inherit",d.innerHTML=a,c.appendChild(d)):(c.style.cssText=f,c.innerHTML=a);a=c.style;a.fontSize=e.fontSize/this.vmlScale+"px";a.fontFamily=e.fontFamily;a.color=e.fontColor;a.verticalAlign="top";a.textAlign=b||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?e.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(e.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(e.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic"); -(e.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(a.textDecoration="underline");return c}; -mxVmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEnabled&&null!=e){var r=this.state;if("html"==l){null!=r.rotation&&(b=this.rotatePoint(a,b,r.rotation,r.rotationCx,r.rotationCy),a=b.x,b=b.y);8!=document.documentMode||mxClient.IS_EM?(a*=r.scale,b*=r.scale):(a+=r.dx,b+=r.dy,"fill"!=m&&g==mxConstants.ALIGN_TOP&&--b);l=8!=document.documentMode||mxClient.IS_EM?this.createElement("div"):this.createVmlElement("group");l.style.position="absolute";l.style.display="inline";l.style.left= -this.format(a)+"px";l.style.top=this.format(b)+"px";l.style.zoom=r.scale;var t=this.createElement("div");t.style.position="relative";t.style.display="inline";var u=mxUtils.getAlignmentAsPoint(f,g),x=u.x,u=u.y;e=this.createDiv(e,f,g,m);f=this.createElement("div");null!=q&&e.setAttribute("dir",q);if(k&&0y&&(y+=2*Math.PI);y%=Math.PI;y>Math.PI/2&&(y=Math.PI-y);g=Math.cos(y);var A=Math.sin(y);8!=document.documentMode||mxClient.IS_EM||(e.style.display="inline-block",f.style.display="inline-block",t.style.display="inline-block");e.style.visibility="hidden";e.style.position="absolute";document.body.appendChild(e);t=e;null!=t.firstChild&&"DIV"==t.firstChild.nodeName&&(t=t.firstChild);y=t.offsetWidth+3;t=t.offsetHeight;n?(c=Math.min(c,y),t= -Math.min(t,d)):c=y;k&&(e.style.width=c+"px");mxClient.IS_QUIRKS&&(n||"width"==m)&&t>d&&(t=d,e.style.height=t+"px");d=t;n=(d-d*g+c*-A)/2-q*c*(x+.5)+p*d*(u+.5);k=(c-c*g+d*-A)/2+p*c*(x+.5)+q*d*(u+.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(m=this.createElement("div"),m.style.display="inline-block",m.style.position="absolute",m.style.left=this.format(a+(k-c/2)*r.scale)+"px",m.style.top=this.format(b+(n-d/2)*r.scale)+"px",l.parentNode.appendChild(m),m.appendChild(l)):(r=8!=document.documentMode|| -mxClient.IS_EM?r.scale:1,l.style.left=this.format(a+(k-c/2)*r)+"px",l.style.top=this.format(b+(n-d/2)*r)+"px");f.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+p+", M12="+q+", M21="+-q+", M22="+p+", sizingMethod='auto expand')";f.style.backgroundColor=this.rotatedHtmlBackground;1>this.state.alpha&&(f.style.filter+="alpha(opacity="+100*this.state.alpha+")");f.appendChild(e);e.style.position="";e.style.visibility=""}else 8!=document.documentMode||mxClient.IS_EM?(e.style.verticalAlign= -"top",1>this.state.alpha&&(l.style.filter="alpha(opacity="+100*this.state.alpha+")"),r=e.parentNode,e.style.visibility="hidden",document.body.appendChild(e),c=e.offsetWidth,t=e.offsetHeight,mxClient.IS_QUIRKS&&n&&t>d&&(t=d,e.style.height=t+"px"),d=t,e.style.visibility="",r.appendChild(e),l.style.left=this.format(a+c*x*this.state.scale)+"px",l.style.top=this.format(b+d*u*this.state.scale)+"px"):(1>this.state.alpha&&(e.style.filter="alpha(opacity="+100*this.state.alpha+")"),t.style.left=100*x+"%",t.style.top= -100*u+"%")}else this.plainText(a,b,c,d,mxUtils.htmlEntities(e,!1),f,g,k,l,m,n,p,q)}}; -mxVmlCanvas2D.prototype.plainText=function(a,b,c,d,e,f,g,k,l,m,n,p,q){k=this.state;a=(a+k.dx)*k.scale;b=(b+k.dy)*k.scale;c=this.createVmlElement("shape");c.style.width="1px";c.style.height="1px";c.stroked="false";d=this.createVmlElement("fill");d.color=k.fontColor;d.opacity=100*k.alpha+"%";c.appendChild(d);d=this.createVmlElement("path");d.textpathok="true";d.v="m "+this.format(0)+" "+this.format(0)+" l "+this.format(1)+" "+this.format(0);c.appendChild(d);d=this.createVmlElement("textpath");d.style.cssText= -"v-text-align:"+f;d.style.align=f;d.style.fontFamily=k.fontFamily;d.string=e;d.on="true";f=k.fontSize*k.scale/this.vmlScale;d.style.fontSize=f+"px";(k.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(d.style.fontWeight="bold");(k.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(d.style.fontStyle="italic");(k.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d.style.textDecoration="underline");e=e.split("\n");k=f+(e.length-1)*f*mxConstants.LINE_HEIGHT;f=e=0; -g==mxConstants.ALIGN_BOTTOM?f=-k/2:g!=mxConstants.ALIGN_MIDDLE&&(f=k/2);null!=p&&(c.style.rotation=p,g=Math.PI/180*p,e=Math.sin(g)*f,f*=Math.cos(g));c.appendChild(d);c.style.left=this.format(a-e)+"px";c.style.top=this.format(b+f)+"px";this.root.appendChild(c)};mxVmlCanvas2D.prototype.stroke=function(){this.addNode(!1,!0)};mxVmlCanvas2D.prototype.fill=function(){this.addNode(!0,!1)};mxVmlCanvas2D.prototype.fillAndStroke=function(){this.addNode(!0,!0)}; -function mxGuide(a,b){this.graph=a;this.setStates(b)}mxGuide.prototype.graph=null;mxGuide.prototype.states=null;mxGuide.prototype.horizontal=!0;mxGuide.prototype.vertical=!0;mxGuide.prototype.guideX=null;mxGuide.prototype.guideY=null;mxGuide.prototype.rounded=!1;mxGuide.prototype.setStates=function(a){this.states=a};mxGuide.prototype.isEnabledForEvent=function(a){return!0};mxGuide.prototype.getGuideTolerance=function(){return this.graph.gridSize/2}; -mxGuide.prototype.createGuideShape=function(a){a=new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH);a.isDashed=!0;return a};mxGuide.prototype.isStateIgnored=function(a){return!1}; -mxGuide.prototype.move=function(a,b,c,d){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=b){var e=function(b,c){b+=this.graph.panDy;var d=!1;Math.abs(b-E)this.opacity&&(b+="alpha(opacity="+this.opacity+")");this.isShadow&&(b+="progid:DXImageTransform.Microsoft.dropShadow (OffX='"+Math.round(mxConstants.SHADOW_OFFSET_X*this.scale)+"', OffY='"+Math.round(mxConstants.SHADOW_OFFSET_Y*this.scale)+"', Color='"+mxConstants.VML_SHADOWCOLOR+"')");if(null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE){var c=this.fill,d=this.gradient,e="0",f={east:0,south:1, -west:2,north:3},g=null!=this.direction?f[this.direction]:0;null!=this.gradientDirection&&(g=mxUtils.mod(g+f[this.gradientDirection]-1,4));1==g?(e="1",f=c,c=d,d=f):2==g?(f=c,c=d,d=f):3==g&&(e="1");b+="progid:DXImageTransform.Microsoft.gradient(startColorStr='"+c+"', endColorStr='"+d+"', gradientType='"+e+"')"}a.style.filter=b}; -mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxConstants.NONE?(a.style.borderColor=b,this.isDashed?a.style.borderStyle="dashed":0mxUtils.indexOf(f,l-1))){var p=Math.sqrt(n*n+m*m);a.lineTo(g.x+n*Math.min(d,p/2)/p,g.y+m*Math.min(d,p/2)/p);for(m=b[mxUtils.mod(l+ -1,b.length)];l
"));var m=!mxUtils.isNode(this.value)&&this.replaceLinefeeds&&"html"==l?m.replace(/\n/g,"
"):m,n=this.textDirection;n!=mxConstants.TEXT_DIRECTION_AUTO||k||(n=this.getAutoDirection());n!=mxConstants.TEXT_DIRECTION_LTR&&n!=mxConstants.TEXT_DIRECTION_RTL&&(n=null); -a.text(d,e,f,c,m,this.align,this.valign,this.wrap,l,this.overflow,this.clipped,this.getTextRotation(),n)}this.lastUnscaledWidth=g}; -mxText.prototype.redraw=function(){if(this.visible&&this.checkBounds()&&this.cacheEnabled&&this.lastValue==this.value&&(mxUtils.isNode(this.value)||this.dialect==mxConstants.DIALECT_STRICTHTML))if("DIV"!=this.node.nodeName||!this.isHtmlAllowed()&&mxClient.IS_VML){var a=this.createCanvas();null!=a&&null!=a.updateText&&null!=a.invalidateCachedOffsetSize?(this.paint(a,!0),this.destroyCanvas(a),this.updateBoundingBox()):mxShape.prototype.redraw.apply(this,arguments)}else this.updateSize(this.node,null== -this.state||null==this.state.view.textDiv),mxClient.IS_IE&&(null==document.documentMode||8>=document.documentMode)?this.updateHtmlFilter():this.updateHtmlTransform(),this.updateBoundingBox();else mxShape.prototype.redraw.apply(this,arguments),mxUtils.isNode(this.value)||this.dialect==mxConstants.DIALECT_STRICTHTML?this.lastValue=this.value:this.lastValue=null}; -mxText.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.color="black";this.align=mxConstants.ALIGN_CENTER;this.valign=mxConstants.ALIGN_MIDDLE;this.family=mxConstants.DEFAULT_FONTFAMILY;this.size=mxConstants.DEFAULT_FONTSIZE;this.fontStyle=mxConstants.DEFAULT_FONTSTYLE;this.spacingLeft=this.spacingBottom=this.spacingRight=this.spacingTop=this.spacing=2;this.horizontal=!0;delete this.background;delete this.border;this.textDirection=mxConstants.DEFAULT_TEXT_DIRECTION; -delete this.margin}; -mxText.prototype.apply=function(a){var b=this.spacing;mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.fontStyle=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSTYLE,this.fontStyle),this.family=mxUtils.getValue(this.style,mxConstants.STYLE_FONTFAMILY,this.family),this.size=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,this.size),this.color=mxUtils.getValue(this.style,mxConstants.STYLE_FONTCOLOR,this.color),this.align=mxUtils.getValue(this.style,mxConstants.STYLE_ALIGN, -this.align),this.valign=mxUtils.getValue(this.style,mxConstants.STYLE_VERTICAL_ALIGN,this.valign),this.spacing=parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_SPACING,this.spacing)),this.spacingTop=parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_SPACING_TOP,this.spacingTop-b))+this.spacing,this.spacingRight=parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_SPACING_RIGHT,this.spacingRight-b))+this.spacing,this.spacingBottom=parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_SPACING_BOTTOM, -this.spacingBottom-b))+this.spacing,this.spacingLeft=parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_SPACING_LEFT,this.spacingLeft-b))+this.spacing,this.horizontal=mxUtils.getValue(this.style,mxConstants.STYLE_HORIZONTAL,this.horizontal),this.background=mxUtils.getValue(this.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,this.background),this.border=mxUtils.getValue(this.style,mxConstants.STYLE_LABEL_BORDERCOLOR,this.border),this.textDirection=mxUtils.getValue(this.style,mxConstants.STYLE_TEXT_DIRECTION, -mxConstants.DEFAULT_TEXT_DIRECTION),this.opacity=mxUtils.getValue(this.style,mxConstants.STYLE_TEXT_OPACITY,100),this.updateMargin());this.flipH=this.flipV=null};mxText.prototype.getAutoDirection=function(){var a=/[A-Za-z\u05d0-\u065f\u066a-\u06ef\u06fa-\u07ff\ufb1d-\ufdff\ufe70-\ufefc]/.exec(this.value);return null!=a&&0=document.documentMode)?this.updateHtmlFilter():this.updateHtmlTransform()}; -mxText.prototype.updateHtmlTransform=function(){var a=this.getTextRotation(),b=this.node.style,c=this.margin.x,d=this.margin.y;0!=a?(mxUtils.setPrefixedStyle(b,"transformOrigin",100*-c+"% "+100*-d+"%"),mxUtils.setPrefixedStyle(b,"transform","translate("+100*c+"%,"+100*d+"%)scale("+this.scale+") rotate("+a+"deg)")):(mxUtils.setPrefixedStyle(b,"transformOrigin","0% 0%"),mxUtils.setPrefixedStyle(b,"transform","scale("+this.scale+")translate("+100*c+"%,"+100*d+"%)"));b.left=Math.round(this.bounds.x-Math.ceil(c* -("fill"!=this.overflow&&"width"!=this.overflow?3:1)))+"px";b.top=Math.round(this.bounds.y-d*("fill"!=this.overflow?3:1))+"px";b.opacity=100>this.opacity?this.opacity/100:""}; -mxText.prototype.updateInnerHtml=function(a){if(mxUtils.isNode(this.value))a.innerHTML=this.value.outerHTML;else{var b=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=mxUtils.htmlEntities(b,!1));b=mxUtils.replaceTrailingNewlines(b,"
 
");b=this.replaceLinefeeds?b.replace(/\n/g,"
"):b;a.innerHTML='
'+b+"
"}}; -mxText.prototype.updateHtmlFilter=function(){var a=this.node.style,b=this.margin.x,c=this.margin.y,d=this.scale;mxUtils.setOpacity(this.node,this.opacity);var e,f=0,g=null!=this.state?this.state.view.textDiv:null,k=this.node;if(null!=g){g.style.overflow="";g.style.height="";g.style.width="";this.updateFont(g);this.updateSize(g,!1);this.updateInnerHtml(g);var l=Math.round(this.bounds.width/this.scale);this.wrap&&0m&&(m+=2*Math.PI);m%=Math.PI;m>Math.PI/2&&(m=Math.PI-m);var k=Math.cos(m),n=Math.sin(-m),b=l*-(b+.5),p=g*-(c+.5);0!=m&&(c="progid:DXImageTransform.Microsoft.Matrix(M11="+e+", M12="+f+", M21="+-f+", M22="+e+", sizingMethod='auto expand')",a.filter=null!=a.filter&&0
"),a=this.replaceLinefeeds?a.replace(/\n/g,"
"):a,b=null!=this.background&&this.background!=mxConstants.NONE?this.background:null,c=null!=this.border&&this.border!=mxConstants.NONE?this.border:null;if("fill"==this.overflow|| -"width"==this.overflow)null!=b&&(this.node.style.backgroundColor=b),null!=c&&(this.node.style.border="1px solid "+c);else{var d="";null!=b&&(d+="background-color:"+mxUtils.htmlEntities(b)+";");null!=c&&(d+="border:1px solid "+mxUtils.htmlEntities(c)+";");a='
'+a+"
"}this.node.innerHTML= -a;a=this.node.getElementsByTagName("div");0=document.documentMode)&&0!=this.rotation?mxClient.VML_PREFIX+":image":"img");a.setAttribute("border","0");a.style.position="absolute";a.src=this.image;b=100>this.opacity?"alpha(opacity="+this.opacity+")":"";this.node.style.filter=b;this.flipH&&this.flipV?b+="progid:DXImageTransform.Microsoft.BasicImage(rotation=2)":this.flipH?b+="progid:DXImageTransform.Microsoft.BasicImage(mirror=1)":this.flipV&& -(b+="progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)");a.style.filter!=b&&(a.style.filter=b);"image"==a.nodeName?a.style.rotation=this.rotation:0!=this.rotation?mxUtils.setPrefixedStyle(a.style,"transform","rotate("+this.rotation+"deg)"):mxUtils.setPrefixedStyle(a.style,"transform","");a.style.width=this.node.style.width;a.style.height=this.node.style.height;this.node.style.backgroundImage="";this.node.appendChild(a)}else this.setTransparentBackgroundImage(this.node)}; -function mxLabel(a,b,c,d){mxRectangleShape.call(this,a,b,c,d)}mxUtils.extend(mxLabel,mxRectangleShape);mxLabel.prototype.imageSize=mxConstants.DEFAULT_IMAGESIZE;mxLabel.prototype.spacing=2;mxLabel.prototype.indicatorSize=10;mxLabel.prototype.indicatorSpacing=2;mxLabel.prototype.init=function(a){mxShape.prototype.init.apply(this,arguments);null!=this.indicatorShape&&(this.indicator=new this.indicatorShape,this.indicator.dialect=this.dialect,this.indicator.init(this.node))}; -mxLabel.prototype.redraw=function(){null!=this.indicator&&(this.indicator.fill=this.indicatorColor,this.indicator.stroke=this.indicatorStrokeColor,this.indicator.gradient=this.indicatorGradientColor,this.indicator.direction=this.indicatorDirection);mxShape.prototype.redraw.apply(this,arguments)};mxLabel.prototype.isHtmlAllowed=function(){return mxRectangleShape.prototype.isHtmlAllowed.apply(this,arguments)&&null==this.indicatorColor&&null==this.indicatorShape}; -mxLabel.prototype.paintForeground=function(a,b,c,d,e){this.paintImage(a,b,c,d,e);this.paintIndicator(a,b,c,d,e);mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxLabel.prototype.paintImage=function(a,b,c,d,e){null!=this.image&&(b=this.getImageBounds(b,c,d,e),a.image(b.x,b.y,b.width,b.height,this.image,!1,!1,!1))}; -mxLabel.prototype.getImageBounds=function(a,b,c,d){var e=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_ALIGN,mxConstants.ALIGN_LEFT),f=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE),g=mxUtils.getNumber(this.style,mxConstants.STYLE_IMAGE_WIDTH,mxConstants.DEFAULT_IMAGESIZE),k=mxUtils.getNumber(this.style,mxConstants.STYLE_IMAGE_HEIGHT,mxConstants.DEFAULT_IMAGESIZE),l=mxUtils.getNumber(this.style,mxConstants.STYLE_SPACING,this.spacing)+5;a=e==mxConstants.ALIGN_CENTER? -a+(c-g)/2:e==mxConstants.ALIGN_RIGHT?a+(c-g-l):a+l;b=f==mxConstants.ALIGN_TOP?b+l:f==mxConstants.ALIGN_BOTTOM?b+(d-k-l):b+(d-k)/2;return new mxRectangle(a,b,g,k)};mxLabel.prototype.paintIndicator=function(a,b,c,d,e){null!=this.indicator?(this.indicator.bounds=this.getIndicatorBounds(b,c,d,e),this.indicator.paint(a)):null!=this.indicatorImage&&(b=this.getIndicatorBounds(b,c,d,e),a.image(b.x,b.y,b.width,b.height,this.indicatorImage,!1,!1,!1))}; -mxLabel.prototype.getIndicatorBounds=function(a,b,c,d){var e=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_ALIGN,mxConstants.ALIGN_LEFT),f=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE),g=mxUtils.getNumber(this.style,mxConstants.STYLE_INDICATOR_WIDTH,this.indicatorSize),k=mxUtils.getNumber(this.style,mxConstants.STYLE_INDICATOR_HEIGHT,this.indicatorSize),l=this.spacing+5;a=e==mxConstants.ALIGN_RIGHT?a+(c-g-l):e==mxConstants.ALIGN_CENTER?a+(c-g)/ -2:a+l;b=f==mxConstants.ALIGN_BOTTOM?b+(d-k-l):f==mxConstants.ALIGN_TOP?b+l:b+(d-k)/2;return new mxRectangle(a,b,g,k)}; -mxLabel.prototype.redrawHtmlShape=function(){for(mxRectangleShape.prototype.redrawHtmlShape.apply(this,arguments);this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);if(null!=this.image){var a=document.createElement("img");a.style.position="relative";a.setAttribute("border","0");var b=this.getImageBounds(this.bounds.x,this.bounds.y,this.bounds.width,this.bounds.height);b.x-=this.bounds.x;b.y-=this.bounds.y;a.style.left=Math.round(b.x)+"px";a.style.top=Math.round(b.y)+"px";a.style.width= -Math.round(b.width)+"px";a.style.height=Math.round(b.height)+"px";a.src=this.image;this.node.appendChild(a)}};function mxCylinder(a,b,c,d){mxShape.call(this);this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1}mxUtils.extend(mxCylinder,mxShape);mxCylinder.prototype.maxHeight=40;mxCylinder.prototype.svgStrokeTolerance=0; -mxCylinder.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();this.redrawPath(a,b,c,d,e,!1);a.fillAndStroke();this.outline&&null!=this.style&&0!=mxUtils.getValue(this.style,mxConstants.STYLE_BACKGROUND_OUTLINE,0)||(a.setShadow(!1),a.begin(),this.redrawPath(a,b,c,d,e,!0),a.stroke())};mxCylinder.prototype.getCylinderSize=function(a,b,c,d){return Math.min(this.maxHeight,Math.round(d/5))}; -mxCylinder.prototype.redrawPath=function(a,b,c,d,e,f){b=this.getCylinderSize(b,c,d,e);if(f&&null!=this.fill||!f&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin());f||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};function mxConnector(a,b,c){mxPolyline.call(this,a,b,c)}mxUtils.extend(mxConnector,mxPolyline); -mxConnector.prototype.updateBoundingBox=function(){this.useSvgBoundingBox=null!=this.style&&1==this.style[mxConstants.STYLE_CURVED];mxShape.prototype.updateBoundingBox.apply(this,arguments)};mxConnector.prototype.paintEdgeShape=function(a,b){var c=this.createMarker(a,b,!0),d=this.createMarker(a,b,!1);mxPolyline.prototype.paintEdgeShape.apply(this,arguments);a.setFillColor(this.stroke);a.setShadow(!1);a.setDashed(!1);null!=c&&c();null!=d&&d()}; -mxConnector.prototype.createMarker=function(a,b,c){var d=null,e=b.length,f=mxUtils.getValue(this.style,c?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW),g=c?b[1]:b[e-2],k=c?b[0]:b[e-1];if(null!=f&&null!=g&&null!=k){for(d=1;da.weightedValue?-1:b.weightedValuec)break;g=l}}f=e.getIndex(a);f=Math.max(0,b-(b>f?1:0));d.add(e,a,f)}}; -mxStackLayout.prototype.getParentSize=function(a){var b=this.graph.getModel(),c=b.getGeometry(a);null!=this.graph.container&&(null==c&&b.isLayer(a)||a==this.graph.getView().currentRoot)&&(c=new mxRectangle(0,0,this.graph.container.offsetWidth-1,this.graph.container.offsetHeight-1));return c}; -mxStackLayout.prototype.getLayoutCells=function(a){for(var b=this.graph.getModel(),c=b.getChildCount(a),d=[],e=0;ed.y>0?1:-1}));return d}; -mxStackLayout.prototype.snap=function(a){if(null!=this.gridSize&&0this.gridSize/2?this.gridSize-b:-b}return a}; -mxStackLayout.prototype.execute=function(a){if(null!=a){var b=this.getParentSize(a),c=this.isHorizontal(),d=this.graph.getModel(),e=null;null!=b&&(e=c?b.height-this.marginTop-this.marginBottom:b.width-this.marginLeft-this.marginRight);var e=e-2*this.border,f=this.x0+this.border+this.marginLeft,g=this.y0+this.border+this.marginTop;if(this.graph.isSwimlane(a)){var k=this.graph.getCellStyle(a),l=mxUtils.getNumber(k,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE),k=1==mxUtils.getValue(k,mxConstants.STYLE_HORIZONTAL, -!0);null!=b&&(l=k?Math.min(l,b.height):Math.min(l,b.width));c==k&&(e-=l);k?g+=l:f+=l}d.beginUpdate();try{for(var l=0,k=null,m=0,n=null,p=this.getLayoutCells(a),q=0;qthis.wrap||!c&&k.y+k.height+t.height+2*this.spacing>this.wrap)&&(k=null,c?g+=l+this.spacing:f+=l+this.spacing,l=0);var l=Math.max(l,c?t.height:t.width),u=0;if(!this.borderCollapse)var x=this.graph.getCellStyle(r), -u=mxUtils.getNumber(x,mxConstants.STYLE_STROKEWIDTH,1);if(null!=k){var y=m+this.spacing+Math.floor(u/2);c?t.x=this.snap((this.allowGaps?Math.max(y,t.x):y)-this.marginLeft)+this.marginLeft:t.y=this.snap((this.allowGaps?Math.max(y,t.y):y)-this.marginTop)+this.marginTop}else this.keepFirstLocation||(c?t.x=this.allowGaps&&t.x>f?Math.max(this.snap(t.x-this.marginLeft)+this.marginLeft,f):f:t.y=this.allowGaps&&t.y>g?Math.max(this.snap(t.y-this.marginTop)+this.marginTop,g):g);c?t.y=g:t.x=f;this.fill&&null!= -e&&(c?t.height=e:t.width=e);c?t.width=this.snap(t.width):t.height=this.snap(t.height);this.setChildGeometry(r,t);n=r;k=t;m=c?k.x+k.width+Math.floor(u/2):k.y+k.height+Math.floor(u/2)}}this.resizeParent&&null!=b&&null!=k&&!this.graph.isCellCollapsed(a)?this.updateParentGeometry(a,b,k):this.resizeLast&&null!=b&&null!=k&&null!=n&&(c?k.width=b.width-k.x-this.spacing-this.marginRight-this.marginLeft:k.height=b.height-k.y-this.spacing-this.marginBottom,this.setChildGeometry(n,k))}finally{d.endUpdate()}}}; -mxStackLayout.prototype.setChildGeometry=function(a,b){var c=this.graph.getCellGeometry(a);null!=c&&b.x==c.x&&b.y==c.y&&b.width==c.width&&b.height==c.height||this.graph.getModel().setGeometry(a,b)}; -mxStackLayout.prototype.updateParentGeometry=function(a,b,c){var d=this.isHorizontal(),e=this.graph.getModel(),f=b.clone();d?(c=c.x+c.width+this.marginRight+this.border,f.width=this.resizeParentMax?Math.max(f.width,c):c):(c=c.y+c.height+this.marginBottom+this.border,f.height=this.resizeParentMax?Math.max(f.height,c):c);b.x==f.x&&b.y==f.y&&b.width==f.width&&b.height==f.height||e.setGeometry(a,f)}; -function mxPartitionLayout(a,b,c,d){mxGraphLayout.call(this,a);this.horizontal=null!=b?b:!0;this.spacing=c||0;this.border=d||0}mxPartitionLayout.prototype=new mxGraphLayout;mxPartitionLayout.prototype.constructor=mxPartitionLayout;mxPartitionLayout.prototype.horizontal=null;mxPartitionLayout.prototype.spacing=null;mxPartitionLayout.prototype.border=null;mxPartitionLayout.prototype.resizeVertices=!0;mxPartitionLayout.prototype.isHorizontal=function(){return this.horizontal}; -mxPartitionLayout.prototype.moveCell=function(a,b,c){c=this.graph.getModel();var d=c.getParent(a);if(null!=a&&null!=d){var e,f=0,g=c.getChildCount(d);for(e=0;eb)break;f=k}}b=d.getIndex(a);b=Math.max(0,e-(e>b?1:0));c.add(d,a,b)}}; -mxPartitionLayout.prototype.execute=function(a){var b=this.isHorizontal(),c=this.graph.getModel(),d=c.getGeometry(a);null!=this.graph.container&&(null==d&&c.isLayer(a)||a==this.graph.getView().currentRoot)&&(d=new mxRectangle(0,0,this.graph.container.offsetWidth-1,this.graph.container.offsetHeight-1));if(null!=d){for(var e=[],f=c.getChildCount(a),g=0;gk.x&&(e=Math.abs(g-k.x));0>k.y&&(l=Math.abs(d-k.y));0==e&&0==l||this.moveNode(this.node,e,l);this.resizeParent&&this.adjustParents();this.edgeRouting&&this.localEdgeProcessing(this.node)}null!=this.parentX&&null!=this.parentY&&(f=this.graph.getCellGeometry(a),null!=f&&(f=f.clone(),f.x=this.parentX,f.y=this.parentY,c.setGeometry(a,f)))}}finally{c.endUpdate()}}}; -mxCompactTreeLayout.prototype.moveNode=function(a,b,c){a.x+=b;a.y+=c;this.apply(a);for(a=a.child;null!=a;)this.moveNode(a,b,c),a=a.next}; -mxCompactTreeLayout.prototype.sortOutgoingEdges=function(a,b){var c=new mxDictionary;b.sort(function(b,e){var d=b.getTerminal(b.getTerminal(!1)==a),g=c.get(d);null==g&&(g=mxCellPath.create(d).split(mxCellPath.PATH_SEPARATOR),c.put(d,g));var d=e.getTerminal(e.getTerminal(!1)==a),k=c.get(d);null==k&&(k=mxCellPath.create(d).split(mxCellPath.PATH_SEPARATOR),c.put(d,k));return mxCellPath.compare(g,k)})}; -mxCompactTreeLayout.prototype.findRankHeights=function(a,b){if(null==this.maxRankHeight[b]||this.maxRankHeight[b]a.height&&(a.height=this.maxRankHeight[b]);for(var c=a.child;null!=c;)this.setCellHeights(c,b+1),c=c.next}; -mxCompactTreeLayout.prototype.dfs=function(a,b){var c=mxCellPath.create(a),d=null;if(null!=a&&null==this.visited[c]&&!this.isVertexIgnored(a)){this.visited[c]=a;var d=this.createNode(a),c=this.graph.getModel(),e=null,f=this.graph.getEdges(a,b,this.invert,!this.invert,!1,!0),g=this.graph.getView();this.sortEdges&&this.sortOutgoingEdges(a,f);for(var k=0;k=a+c)return 0;a=0a?a*d/c-b:0a+c?(c+a)*f/e-(b+d):f-(b+d);return 0g+2*this.prefHozEdgeSep&&(f-=2*this.prefHozEdgeSep);a=f/d;b=a/2;f>g+2*this.prefHozEdgeSep&&(b+=this.prefHozEdgeSep);for(var f=this.minEdgeJetty-this.prefVertEdgeOff,g=this.getVertexBounds(c),k=0;kd/2&&(f-=this.prefVertEdgeOff);b+=a}}; -function mxRadialTreeLayout(a){mxCompactTreeLayout.call(this,a,!1)}mxUtils.extend(mxRadialTreeLayout,mxCompactTreeLayout);mxRadialTreeLayout.prototype.angleOffset=.5;mxRadialTreeLayout.prototype.rootx=0;mxRadialTreeLayout.prototype.rooty=0;mxRadialTreeLayout.prototype.levelDistance=120;mxRadialTreeLayout.prototype.nodeDistance=10;mxRadialTreeLayout.prototype.autoRadius=!1;mxRadialTreeLayout.prototype.sortEdges=!1;mxRadialTreeLayout.prototype.rowMinX=[];mxRadialTreeLayout.prototype.rowMaxX=[]; -mxRadialTreeLayout.prototype.rowMinCenX=[];mxRadialTreeLayout.prototype.rowMaxCenX=[];mxRadialTreeLayout.prototype.rowRadi=[];mxRadialTreeLayout.prototype.row=[];mxRadialTreeLayout.prototype.isVertexIgnored=function(a){return mxGraphLayout.prototype.isVertexIgnored.apply(this,arguments)||0==this.graph.getConnections(a).length}; -mxRadialTreeLayout.prototype.execute=function(a,b){this.parent=a;this.edgeRouting=this.useBoundingBox=!1;mxCompactTreeLayout.prototype.execute.apply(this,arguments);var c=null,d=this.getVertexBounds(this.root);this.centerX=d.x+d.width/2;this.centerY=d.y+d.height/2;for(var e in this.visited){var f=this.getVertexBounds(this.visited[e]),c=null!=c?c:f.clone();c.add(f)}this.calcRowDims([this.node],0);for(var g=0,k=0,c=0;c -d.theta&&ethis.forceConstant&&(this.forceConstant= -.001);this.forceConstantSquared=this.forceConstant*this.forceConstant;for(d=0;db&&(b=.001);var c=this.dispX[a]/b*Math.min(b,this.temperature),b=this.dispY[a]/b*Math.min(b,this.temperature);this.dispX[a]=0;this.dispY[a]=0;this.cellLocation[a][0]+=c;this.cellLocation[a][1]+=b}}; -mxFastOrganicLayout.prototype.calcAttraction=function(){for(var a=0;athis.maxDistanceLimit||(ga?a+"-"+c:c+"-"+a):null}; -mxParallelEdgeLayout.prototype.layout=function(a){var b=a[0],c=this.graph.getView(),d=this.graph.getModel(),e=d.getGeometry(c.getVisibleTerminal(b,!0)),d=d.getGeometry(c.getVisibleTerminal(b,!1));if(e==d)for(var b=e.x+e.width+this.spacing,c=e.y+e.height/2,f=0;fmxUtils.indexOf(l.connectsAsTarget,g)&&l.connectsAsTarget.push(g))}}c[d].temp[0]=1}}mxGraphHierarchyModel.prototype.maxRank=null;mxGraphHierarchyModel.prototype.vertexMapper=null;mxGraphHierarchyModel.prototype.edgeMapper=null;mxGraphHierarchyModel.prototype.ranks=null;mxGraphHierarchyModel.prototype.roots=null;mxGraphHierarchyModel.prototype.parent=null; -mxGraphHierarchyModel.prototype.dfsCount=0;mxGraphHierarchyModel.prototype.SOURCESCANSTARTRANK=1E8;mxGraphHierarchyModel.prototype.tightenToSource=!1; -mxGraphHierarchyModel.prototype.createInternalCells=function(a,b,c){for(var d=a.getGraph(),e=0;e=l.length){for(var k= -new mxGraphHierarchyEdge(l),m=0;mmxUtils.indexOf(c[e].connectsAsSource,k)&&c[e].connectsAsSource.push(k)}}}c[e].temp[0]=0}}; -mxGraphHierarchyModel.prototype.initialRank=function(){var a=[];if(null!=this.roots)for(var b=0;bc.maxRank&&0>c.minRank&&(a[c.temp[0]].push(c),c.maxRank=c.temp[0],c.minRank=c.temp[0],c.temp[0]=a[c.maxRank].length-1);if(null!=b&&null!=d&&1mxUtils.indexOf(l.connectsAsTarget,g)&&l.connectsAsTarget.push(g))}}c[d].temp[0]=1}}mxSwimlaneModel.prototype.maxRank=null;mxSwimlaneModel.prototype.vertexMapper=null;mxSwimlaneModel.prototype.edgeMapper=null;mxSwimlaneModel.prototype.ranks=null;mxSwimlaneModel.prototype.roots=null;mxSwimlaneModel.prototype.parent=null;mxSwimlaneModel.prototype.dfsCount=0; -mxSwimlaneModel.prototype.SOURCESCANSTARTRANK=1E8;mxSwimlaneModel.prototype.tightenToSource=!1;mxSwimlaneModel.prototype.ranksPerGroup=null; -mxSwimlaneModel.prototype.createInternalCells=function(a,b,c){for(var d=a.getGraph(),e=a.swimlanes,f=0;f=m.length){for(var l=new mxGraphHierarchyEdge(m),n=0;nmxUtils.indexOf(c[f].connectsAsSource,l)&&c[f].connectsAsSource.push(l)}}}c[f].temp[0]=0}}; -mxSwimlaneModel.prototype.initialRank=function(){this.ranksPerGroup=[];var a=[],b={};if(null!=this.roots)for(var c=0;cb[d.swimlaneIndex]&&(k=b[d.swimlaneIndex]);d.temp[0]=k;if(null!=f)for(c=0;cc.maxRank&&0>c.minRank&&(a[c.temp[0]].push(c),c.maxRank=c.temp[0],c.minRank=c.temp[0],c.temp[0]=a[c.maxRank].length-1);if(null!=b&&null!=d&&1>1,++e[l];return c}; -mxMedianHybridCrossingReduction.prototype.transpose=function(a,b){for(var c=!0,d=0;c&&10>d++;)for(var e=1==a%2&&1==d%2,c=!1,f=0;fn&&(n=l);k[n]=m}for(var p=null,q=null,r,t,u=null,x=null,y,A=null,l=0;lu[C]&&v++,r[z]x[C]&&v++,t[z]a.medianValue?-1:b.medianValuex+1&&(m==d[l].length-1?(e.setGeneralPurposeVariable(l,y),p=!0):(m=d[l][m+1],x=m.getGeneralPurposeVariable(l),x=x-m.width/2-this.intraCellSpacing-e.width/2,x>y?(e.setGeneralPurposeVariable(l, -y),p=!0):x>e.getGeneralPurposeVariable(l)+1&&(e.setGeneralPurposeVariable(l,x),p=!0)));if(p){for(e=0;e=k&&l<=q?g.setGeneralPurposeVariable(a,l):lq&&(g.setGeneralPurposeVariable(a,q),this.currentXDelta+=l-q);d[f].visited=!0}};mxCoordinateAssignment.prototype.calculatedWeightedValue=function(a,b){for(var c=0,d=0;dthis.widestRankValue&&(this.widestRankValue=k,this.widestRank=e);this.rankWidths[e]=k}1==l&&mxLog.warn("At least one cell has no bounds");this.rankY[e]=c;k=f/2+d/2+this.interRankCellSpacing;d=f;c=this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_WEST?c+k:c- -k;for(m=0;me.maxRank-e.minRank-1)){for(var f=e.getGeneralPurposeVariable(e.minRank+1),g=!0,k=0,l=e.minRank+2;le.minRank+1;l--)q=e.getX(l-1),p==q?(n[l-e.minRank-2]=p,g++):this.repositionValid(b,e,l-1,p)?(n[l-e.minRank-2]=p,g++):(n[l-e.minRank-2]=e.getX(l-1),p=q);if(g>k||f>k)if(g>=f)for(l=e.maxRank-2;l>e.minRank;l--)e.setX(l,n[l-e.minRank-1]);else if(f>g)for(l=e.minRank+2;le)return!1;f=b.getGeneralPurposeVariable(c);if(df){if(e==a.length-1)return!0;a=a[e+1];c=a.getGeneralPurposeVariable(c);c=c-a.width/2-this.intraCellSpacing-b.width/2;if(!(c>=d))return!1}return!0}; -mxCoordinateAssignment.prototype.setCellLocations=function(a,b){this.rankTopY=[];this.rankBottomY=[];for(var c=0;ck;k++){if(-1(f+1)*this.prefHozEdgeSep+2*this.prefHozEdgeSep&&(n+=this.prefHozEdgeSep,p-=this.prefHozEdgeSep);l=(p-n)/f;n+=l/2;p=this.minEdgeJetty-this.prefVertEdgeOff;for(m=0;mf/2&&(p-=this.prefVertEdgeOff),t=0;tf&&(f=l,e=k)}}0==c.length&&null!=e&&c.push(e)}return c}; -mxHierarchicalLayout.prototype.getEdges=function(a){var b=this.edgesCache.get(a);if(null!=b)return b;for(var c=this.graph.model,b=[],d=this.graph.isCellCollapsed(a),e=c.getChildCount(a),f=0;fb.length)){null==a&&(a=c.getParent(b[0]));this.parentY=this.parentX=null;if(a!=this.root&&null!=c.isVertex(a)&&this.maintainParentLocation){var d=this.graph.getCellGeometry(a);null!=d&&(this.parentX=d.x,this.parentY=d.y)}this.swimlanes=b;for(var e=[],f=0;ff&&(f=l,e=k)}}0==c.length&&null!=e&&c.push(e)}return c}; -mxSwimlaneLayout.prototype.getEdges=function(a){var b=this.edgesCache.get(a);if(null!=b)return b;for(var c=this.graph.model,b=[],d=this.graph.isCellCollapsed(a),e=c.getChildCount(a),f=0;f=this.swimlanes.length||!(q>k||(!b||p)&&q==k)||(e=this.traverse(n, -b,m[c],d,e,f,g,q))}}else if(null==e[l])for(c=0;cmxUtils.indexOf(this.edges,a))&&(null==this.edges&&(this.edges=[]),this.edges.push(a));return a};mxCell.prototype.removeEdge=function(a,b){if(null!=a){if(a.getTerminal(!b)!=this&&null!=this.edges){var c=this.getEdgeIndex(a);0<=c&&this.edges.splice(c,1)}a.setTerminal(null,b)}return a}; -mxCell.prototype.removeFromTerminal=function(a){var b=this.getTerminal(a);null!=b&&b.removeEdge(this,a)};mxCell.prototype.hasAttribute=function(a){var b=this.getValue();return null!=b&&b.nodeType==mxConstants.NODETYPE_ELEMENT&&b.hasAttribute?b.hasAttribute(a):null!=b.getAttribute(a)};mxCell.prototype.getAttribute=function(a,b){var c=this.getValue(),c=null!=c&&c.nodeType==mxConstants.NODETYPE_ELEMENT?c.getAttribute(a):null;return null!=c?c:b}; -mxCell.prototype.setAttribute=function(a,b){var c=this.getValue();null!=c&&c.nodeType==mxConstants.NODETYPE_ELEMENT&&c.setAttribute(a,b)};mxCell.prototype.clone=function(){var a=mxUtils.clone(this,this.mxTransient);a.setValue(this.cloneValue());return a};mxCell.prototype.cloneValue=function(){var a=this.getValue();null!=a&&("function"==typeof a.clone?a=a.clone():isNaN(a.nodeType)||(a=a.cloneNode(!0)));return a};function mxGeometry(a,b,c,d){mxRectangle.call(this,a,b,c,d)}mxGeometry.prototype=new mxRectangle; -mxGeometry.prototype.constructor=mxGeometry;mxGeometry.prototype.TRANSLATE_CONTROL_POINTS=!0;mxGeometry.prototype.alternateBounds=null;mxGeometry.prototype.sourcePoint=null;mxGeometry.prototype.targetPoint=null;mxGeometry.prototype.points=null;mxGeometry.prototype.offset=null;mxGeometry.prototype.relative=!1; -mxGeometry.prototype.swap=function(){if(null!=this.alternateBounds){var a=new mxRectangle(this.x,this.y,this.width,this.height);this.x=this.alternateBounds.x;this.y=this.alternateBounds.y;this.width=this.alternateBounds.width;this.height=this.alternateBounds.height;this.alternateBounds=a}};mxGeometry.prototype.getTerminalPoint=function(a){return a?this.sourcePoint:this.targetPoint};mxGeometry.prototype.setTerminalPoint=function(a,b){b?this.sourcePoint=a:this.targetPoint=a;return a}; -mxGeometry.prototype.rotate=function(a,b){var c=mxUtils.toRadians(a),d=Math.cos(c),c=Math.sin(c);if(!this.relative){var e=new mxPoint(this.getCenterX(),this.getCenterY()),e=mxUtils.getRotatedPoint(e,d,c,b);this.x=Math.round(e.x-this.width/2);this.y=Math.round(e.y-this.height/2)}null!=this.sourcePoint&&(e=mxUtils.getRotatedPoint(this.sourcePoint,d,c,b),this.sourcePoint.x=Math.round(e.x),this.sourcePoint.y=Math.round(e.y));null!=this.targetPoint&&(e=mxUtils.getRotatedPoint(this.targetPoint,d,c,b),this.targetPoint.x= -Math.round(e.x),this.targetPoint.y=Math.round(e.y));if(null!=this.points)for(var f=0;fb[e]?1:-1:(c=parseInt(a[e]),e=parseInt(b[e]),d=c==e?0:c>e?1:-1);break}0==d&&(c=a.length,e=b.length,c!=e&&(d=c>e?1:-1));return d}},mxPerimeter={RectanglePerimeter:function(a,b,c,d){b=a.getCenterX();var e=a.getCenterY(),f=Math.atan2(c.y-e,c.x-b),g=new mxPoint(0,0),k=Math.PI,l=Math.PI/2-f,m=Math.atan2(a.height,a.width);f<-k+m||f>k-m?(g.x=a.x,g.y=e-a.width* -Math.tan(f)/2):f<-m?(g.y=a.y,g.x=b-a.height*Math.tan(l)/2):f=a.x&&c.x<=a.x+a.width?g.x=c.x:c.y>=a.y&&c.y<=a.y+a.height&&(g.y=c.y),c.xa.x+a.width&&(g.x=a.x+a.width),c.ya.y+a.height&&(g.y=a.y+a.height));return g},EllipsePerimeter:function(a,b,c,d){var e=a.x,f=a.y,g=a.width/2,k=a.height/2,l=e+g,m=f+k;b=c.x;c=c.y;var n=parseInt(b-l),p=parseInt(c-m);if(0==n&&0!=p)return new mxPoint(l, -m+k*p/Math.abs(p));if(0==n&&0==p)return new mxPoint(b,c);if(d){if(c>=f&&c<=f+a.height)return a=c-m,a=Math.sqrt(g*g*(1-a*a/(k*k)))||0,b<=e&&(a=-a),new mxPoint(l+a,c);if(b>=e&&b<=e+a.width)return a=b-l,a=Math.sqrt(k*k*(1-a*a/(g*g)))||0,c<=f&&(a=-a),new mxPoint(b,m+a)}e=p/n;m-=e*l;f=g*g*e*e+k*k;a=-2*l*f;k=Math.sqrt(a*a-4*f*(g*g*e*e*l*l+k*k*l*l-g*g*k*k));g=(-a+k)/(2*f);l=(-a-k)/(2*f);k=e*g+m;m=e*l+m;Math.sqrt(Math.pow(g-b,2)+Math.pow(k-c,2))c?new mxPoint(g,e):new mxPoint(g,e+a);if(k==c)return g>l?new mxPoint(b,k):new mxPoint(b+f,k);var m=g,n=k;d&&(l>=b&&l<=b+f?m=l:c>=e&&c<=e+a&&(n=c));return l-t&&rMath.PI-t)?c=d&&(e&&c.x>=n.x&&c.x<=q.x||!e&&c.y>=n.y&&c.y<=q.y)?e?new mxPoint(c.x,n.y):new mxPoint(n.x,c.y):b==mxConstants.DIRECTION_NORTH?new mxPoint(f+k/2+l*Math.tan(r)/2,g+l):b==mxConstants.DIRECTION_SOUTH?new mxPoint(f+k/2-l*Math.tan(r)/2,g):b==mxConstants.DIRECTION_WEST?new mxPoint(f+k,g+l/2+k*Math.tan(r)/2):new mxPoint(f,g+ -l/2-k*Math.tan(r)/2):(d&&(d=new mxPoint(a,m),c.y>=g&&c.y<=g+l?(d.x=e?a:b==mxConstants.DIRECTION_WEST?f+k:f,d.y=c.y):c.x>=f&&c.x<=f+k&&(d.x=c.x,d.y=e?b==mxConstants.DIRECTION_NORTH?g+l:g:m),a=d.x,m=d.y),c=e&&c.x<=f+k/2||!e&&c.y<=g+l/2?mxUtils.intersection(c.x,c.y,a,m,n.x,n.y,p.x,p.y):mxUtils.intersection(c.x,c.y,a,m,p.x,p.y,q.x,q.y));null==c&&(c=new mxPoint(a,m));return c},HexagonPerimeter:function(a,b,c,d){var e=a.x,f=a.y,g=a.width,k=a.height,l=a.getCenterX();a=a.getCenterY();var m=c.x,n=c.y,p=-Math.atan2(n- -a,m-l),q=Math.PI,r=Math.PI/2;new mxPoint(l,a);b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;var t=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH;b=new mxPoint;var u=new mxPoint;if(mf+k||m>e+g&&ne+g&&n>f+k)d=!1;if(d){if(t){if(m==l){if(n<=f)return new mxPoint(l,f);if(n>=f+k)return new mxPoint(l,f+k)}else if(me+g){if(n==f+k/4)return new mxPoint(e+g,f+k/4);if(n==f+3*k/4)return new mxPoint(e+g,f+3*k/4)}else if(m==e){if(na)return new mxPoint(e,f+3*k/4)}else if(m==e+g){if(na)return new mxPoint(e+g,f+3*k/4)}if(n==f)return new mxPoint(l,f);if(n==f+k)return new mxPoint(l,f+k);mf+k/4&&nf+3*k/4&&(b=new mxPoint(e-Math.floor(.5*g),f+Math.floor(.5*k)),u=new mxPoint(e+g,f+Math.floor(1.25*k))):m>l&&(n>f+k/4&&nf+3*k/4&&(b=new mxPoint(e+Math.floor(1.5*g),f+Math.floor(.5*k)),u=new mxPoint(e,f+Math.floor(1.25*k))))}else{if(n==a){if(m<=e)return new mxPoint(e,f+k/2);if(m>=e+g)return new mxPoint(e+g,f+k/2)}else if(n< -f){if(m==e+g/4)return new mxPoint(e+g/4,f);if(m==e+3*g/4)return new mxPoint(e+3*g/4,f)}else if(n>f+k){if(m==e+g/4)return new mxPoint(e+g/4,f+k);if(m==e+3*g/4)return new mxPoint(e+3*g/4,f+k)}else if(n==f){if(ml)return new mxPoint(e+3*g/4,f)}else if(n==f+k){if(ma)return new mxPoint(e+3*g/4,f+k)}if(m==e)return new mxPoint(e,a);if(m==e+g)return new mxPoint(e+g,a);ne+g/4&&me+3*g/4&&(b=new mxPoint(e+Math.floor(.5*g),f-Math.floor(.5*k)),u=new mxPoint(e+Math.floor(1.25*g),f+k)):n>a&&(m>e+g/4&&me+3*g/4&&(b=new mxPoint(e+Math.floor(.5*g),f+Math.floor(1.5*k)),u=new mxPoint(e+Math.floor(1.25*g),f)))}d=l;p=a;m>=e&&m<= -e+g?(d=m,p=n=f&&n<=f+k&&(p=n,d=m-m?(b=new mxPoint(e+g,f),u=new mxPoint(e+g,f+ -k)):p>m&&pr&&pq-m&&p<=q||p<-q+m&&p>=-q?(b=new mxPoint(e,f),u=new mxPoint(e,f+k)):p<-m&&p>-r?(b=new mxPoint(e+Math.floor(1.5*g),f+Math.floor(.5*k)),u=new mxPoint(e,f+Math.floor(1.25*k))):p<-r&&p>-q+m&&(b=new mxPoint(e-Math.floor(.5*g),f+Math.floor(.5*k)),u=new mxPoint(e+g,f+Math.floor(1.25*k)))}else{m= -Math.atan2(k/2,g/4);if(p==m)return new mxPoint(e+Math.floor(.75*g),f);if(p==q-m)return new mxPoint(e+Math.floor(.25*g),f);if(p==q||p==-q)return new mxPoint(e,f+Math.floor(.5*k));if(0==p)return new mxPoint(e+g,f+Math.floor(.5*k));if(p==-m)return new mxPoint(e+Math.floor(.75*g),f+k);if(p==-q+m)return new mxPoint(e+Math.floor(.25*g),f+k);0m&&pq-m&& -pp&&p>-m?(b=new mxPoint(e+Math.floor(.5*g),f+Math.floor(1.5*k)),u=new mxPoint(e+Math.floor(1.25*g),f)):p<-m&&p>-q+m?(b=new mxPoint(e,f+k),u=new mxPoint(e+g,f+k)):p<-q+m&&p>-q&&(b=new mxPoint(e-Math.floor(.25*g),f),u=new mxPoint(e+Math.floor(.5*g),f+Math.floor(1.5*k)))}c=mxUtils.intersection(l,a,c.x,c.y,b.x,b.y,u.x,u.y)}return null==c?new mxPoint(l,a):c}}; -function mxPrintPreview(a,b,c,d,e,f,g,k,l){this.graph=a;this.scale=null!=b?b:1/a.pageScale;this.border=null!=d?d:0;this.pageFormat=mxRectangle.fromRectangle(null!=c?c:a.pageFormat);this.title=null!=k?k:"Printer-friendly version";this.x0=null!=e?e:0;this.y0=null!=f?f:0;this.borderColor=g;this.pageSelector=null!=l?l:!0}mxPrintPreview.prototype.graph=null;mxPrintPreview.prototype.pageFormat=null;mxPrintPreview.prototype.scale=null;mxPrintPreview.prototype.border=0; -mxPrintPreview.prototype.marginTop=0;mxPrintPreview.prototype.marginBottom=0;mxPrintPreview.prototype.x0=0;mxPrintPreview.prototype.y0=0;mxPrintPreview.prototype.autoOrigin=!0;mxPrintPreview.prototype.printOverlays=!1;mxPrintPreview.prototype.printControls=!1;mxPrintPreview.prototype.printBackgroundImage=!1;mxPrintPreview.prototype.backgroundColor="#ffffff";mxPrintPreview.prototype.borderColor=null;mxPrintPreview.prototype.title=null;mxPrintPreview.prototype.pageSelector=null; -mxPrintPreview.prototype.wnd=null;mxPrintPreview.prototype.targetWindow=null;mxPrintPreview.prototype.pageCount=0;mxPrintPreview.prototype.clipping=!0;mxPrintPreview.prototype.getWindow=function(){return this.wnd}; -mxPrintPreview.prototype.getDoctype=function(){var a="";5==document.documentMode?a='':8==document.documentMode?a='':8'):("CSS1Compat"===document.compatMode&&k.writeln(""),k.writeln(""));k.writeln("");this.writeHead(k,a);k.writeln("");k.writeln('')}var m=this.graph.getGraphBounds().clone(),n=this.graph.getView().getScale(),p=n/this.scale,q=this.graph.getView().getTranslate();this.autoOrigin||(this.x0-=q.x*this.scale,this.y0-= -q.y*this.scale,m.width+=m.x,m.height+=m.y,m.x=0,this.border=m.y=0);var r=this.pageFormat.width-2*this.border,t=this.pageFormat.height-2*this.border;this.pageFormat.height+=this.marginTop+this.marginBottom;m.width/=p;m.height/=p;var u=Math.max(1,Math.ceil((m.width+this.x0)/r)),x=Math.max(1,Math.ceil((m.height+this.y0)/t));this.pageCount=u*x;var y=mxUtils.bind(this,function(){if(this.pageSelector&&(1");a.writeln("");a.close();mxEvent.release(a.body)}}catch(b){}}; -mxPrintPreview.prototype.writeHead=function(a,b){null!=this.title&&a.writeln(""+this.title+"");mxClient.IS_VML&&a.writeln('');mxClient.link("stylesheet",mxClient.basePath+"/css/common.css",a);a.writeln('")};mxPrintPreview.prototype.writePostfix=function(a){}; -mxPrintPreview.prototype.createPageSelector=function(a,b){var c=this.wnd.document,d=c.createElement("table");d.className="mxPageSelector";d.setAttribute("border","0");for(var e=c.createElement("tbody"),f=0;f":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=5;mxCellEditor.prototype.minResize=new mxRectangle(0,20); -mxCellEditor.prototype.wordWrapPadding=mxClient.IS_QUIRKS?2:mxClient.IS_IE11?0:1;mxCellEditor.prototype.blurEnabled=!1;mxCellEditor.prototype.initialValue=null;mxCellEditor.prototype.align=null;mxCellEditor.prototype.init=function(){this.textarea=document.createElement("div");this.textarea.className="mxCellEditor mxPlainTextEditor";this.textarea.contentEditable=!0;mxClient.IS_GC&&(this.textarea.style.minHeight="1em");this.textarea.style.position=this.isLegacyEditor()?"absolute":"relative";this.installListeners(this.textarea)}; -mxCellEditor.prototype.applyValue=function(a,b){this.graph.labelChanged(a.cell,b,this.trigger)};mxCellEditor.prototype.setAlign=function(a){null!=this.textarea&&(this.textarea.style.textAlign=a);this.align=a;this.resize()}; -mxCellEditor.prototype.getInitialValue=function(a,b){var c=mxUtils.htmlEntities(this.graph.getEditingValue(a.cell,b),!1);mxClient.IS_QUIRKS||8==document.documentMode||9==document.documentMode||10==document.documentMode||(c=mxUtils.replaceTrailingNewlines(c,"

"));return c.replace(/\n/g,"
")};mxCellEditor.prototype.getCurrentValue=function(a){return mxUtils.extractTextWithWhitespace(this.textarea.childNodes)}; -mxCellEditor.prototype.isCancelEditingKeyEvent=function(a){return this.escapeCancelsEditing||mxEvent.isShiftDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)}; -mxCellEditor.prototype.installListeners=function(a){mxEvent.addListener(a,"dragstart",mxUtils.bind(this,function(a){this.graph.stopEditing(!1);mxEvent.consume(a)}));mxEvent.addListener(a,"blur",mxUtils.bind(this,function(a){this.blurEnabled&&this.focusLost(a)}));mxEvent.addListener(a,"keydown",mxUtils.bind(this,function(a){mxEvent.isConsumed(a)||(this.isStopEditingEvent(a)?(this.graph.stopEditing(!1),mxEvent.consume(a)):27==a.keyCode&&(this.graph.stopEditing(this.isCancelEditingKeyEvent(a)),mxEvent.consume(a)))})); -var b=mxUtils.bind(this,function(b){null!=this.editingCell&&this.clearOnChange&&a.innerHTML==this.getEmptyLabelText()&&(!mxClient.IS_FF||8!=b.keyCode&&46!=b.keyCode)&&(this.clearOnChange=!1,a.innerHTML="")});mxEvent.addListener(a,"keypress",b);mxEvent.addListener(a,"paste",b);b=mxUtils.bind(this,function(a){null!=this.editingCell&&(0==this.textarea.innerHTML.length||"
"==this.textarea.innerHTML?(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0e&&(this.textarea.style.width=this.textarea.scrollWidth+"px")):this.textarea.style.maxWidth= -e+"px"):(this.textarea.style.whiteSpace="nowrap",this.textarea.style.width="");8==document.documentMode&&(this.textarea.style.zoom="1",this.textarea.style.height="auto");a=this.textarea.scrollWidth;e=this.textarea.scrollHeight;8==document.documentMode?(this.textarea.style.left=Math.max(0,Math.ceil((this.bounds.x-d.x*(this.bounds.width-(a+1)*c)+a*(c-1)*0+2*(d.x+.5))/c))+"px",this.textarea.style.top=Math.max(0,Math.ceil((this.bounds.y-d.y*(this.bounds.height-(e+.5)*c)+e*(c-1)*0+1*Math.abs(d.y+.5))/ -c))+"px",this.textarea.style.width=Math.round(a*c)+"px",this.textarea.style.height=Math.round(e*c)+"px"):mxClient.IS_QUIRKS?(this.textarea.style.left=Math.max(0,Math.ceil(this.bounds.x-d.x*(this.bounds.width-(a+1)*c)+a*(c-1)*0+2*(d.x+.5)))+"px",this.textarea.style.top=Math.max(0,Math.ceil(this.bounds.y-d.y*(this.bounds.height-(e+.5)*c)+e*(c-1)*0+1*Math.abs(d.y+.5)))+"px"):(this.textarea.style.left=Math.max(0,Math.round(this.bounds.x-d.x*(this.bounds.width-2))+1)+"px",this.textarea.style.top=Math.max(0, -Math.round(this.bounds.y-d.y*(this.bounds.height-4)+(-1==d.y?3:0))+1)+"px")}else this.bounds=this.getEditorBounds(a),this.textarea.style.width=Math.round(this.bounds.width/c)+"px",this.textarea.style.height=Math.round(this.bounds.height/c)+"px",8==document.documentMode||mxClient.IS_QUIRKS?(this.textarea.style.left=Math.round(this.bounds.x)+"px",this.textarea.style.top=Math.round(this.bounds.y)+"px"):(this.textarea.style.left=Math.max(0,Math.round(this.bounds.x+1))+"px",this.textarea.style.top=Math.max(0, -Math.round(this.bounds.y+1))+"px"),this.graph.isWrapping(a.cell)&&(2<=this.bounds.width||2<=this.bounds.height)&&this.textarea.innerHTML!=this.getEmptyLabelText()?(this.textarea.style.wordWrap=mxConstants.WORD_WRAP,this.textarea.style.whiteSpace="normal","fill"!=a.style[mxConstants.STYLE_OVERFLOW]&&(this.textarea.style.width=Math.round(this.bounds.width/c)+this.wordWrapPadding+"px")):(this.textarea.style.whiteSpace="nowrap","fill"!=a.style[mxConstants.STYLE_OVERFLOW]&&(this.textarea.style.width="")); -mxClient.IS_VML?this.textarea.style.zoom=c:(mxUtils.setPrefixedStyle(this.textarea.style,"transformOrigin","0px 0px"),mxUtils.setPrefixedStyle(this.textarea.style,"transform","scale("+c+","+c+")"+(null==d?"":" translate("+100*d.x+"%,"+100*d.y+"%)")))}};mxCellEditor.prototype.focusLost=function(){this.stopEditing(!this.graph.isInvokesStopCellEditing())};mxCellEditor.prototype.getBackgroundColor=function(a){return null}; -mxCellEditor.prototype.isLegacyEditor=function(){if(mxClient.IS_VML)return!0;var a=!1;if(mxClient.IS_SVG){var b=this.graph.view.getDrawPane().ownerSVGElement;null!=b&&(a="absolute"==mxUtils.getCurrentStyle(b).position)}return!a}; -mxCellEditor.prototype.startEditing=function(a,b){this.stopEditing(!0);this.align=null;null==this.textarea&&this.init();null!=this.graph.tooltipHandler&&this.graph.tooltipHandler.hideTooltip();var c=this.graph.getView().getState(a);if(null!=c){this.graph.getView();var d=mxUtils.getValue(c.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),e=mxUtils.getValue(c.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),f=mxUtils.getValue(c.style,mxConstants.STYLE_FONTCOLOR,"black"), -g=mxUtils.getValue(c.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),k=(mxUtils.getValue(c.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,l=(mxUtils.getValue(c.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,m=(mxUtils.getValue(c.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+ -"px":mxConstants.LINE_HEIGHT;this.textarea.style.backgroundColor=this.getBackgroundColor(c);this.textarea.style.textDecoration=m?"underline":"";this.textarea.style.fontWeight=k?"bold":"normal";this.textarea.style.fontStyle=l?"italic":"";this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.zIndex=this.zIndex;this.textarea.style.fontFamily=e;this.textarea.style.textAlign=g;this.textarea.style.outline="none";this.textarea.style.color=f;d=this.textDirection=mxUtils.getValue(c.style,mxConstants.STYLE_TEXT_DIRECTION, -mxConstants.DEFAULT_TEXT_DIRECTION);d==mxConstants.TEXT_DIRECTION_AUTO&&(null==c||null==c.text||c.text.dialect==mxConstants.DIALECT_STRICTHTML||mxUtils.isNode(c.text.value)||(d=c.text.getAutoDirection()));d==mxConstants.TEXT_DIRECTION_LTR||d==mxConstants.TEXT_DIRECTION_RTL?this.textarea.setAttribute("dir",d):this.textarea.removeAttribute("dir");this.textarea.innerHTML=this.getInitialValue(c,b)||"";this.initialValue=this.textarea.innerHTML;0==this.textarea.innerHTML.length||"
"==this.textarea.innerHTML? -(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=!0):this.clearOnChange=this.textarea.innerHTML==this.getEmptyLabelText();this.graph.container.appendChild(this.textarea);this.editingCell=a;this.trigger=b;this.textNode=null;null!=c.text&&this.isHideLabel(c)&&(this.textNode=c.text.node,this.textNode.style.visibility="hidden");this.autoSize&&(this.graph.model.isEdge(c.cell)||"fill"!=c.style[mxConstants.STYLE_OVERFLOW])&&window.setTimeout(mxUtils.bind(this,function(){this.resize()}), -0);this.resize();try{this.textarea.focus(),this.isSelectText()&&0=l.x:null!=c&&(k=c.x+c.width=a.x:null!=b&&(l=b.x+b.widthb.x+b.width?null!=c?(d=c.x,m=Math.max(Math.abs(l-c.y),m)):a==mxConstants.DIRECTION_NORTH? -l=b.y-2*k:a==mxConstants.DIRECTION_SOUTH?l=b.y+b.height+2*k:d=a==mxConstants.DIRECTION_EAST?b.x-2*m:b.x+b.width+2*m:null!=c&&(d=f.getRoutingCenterX(b),k=Math.max(Math.abs(d-c.x),m),l=c.y,m=0);e.push(new mxPoint(d-k,l-m));e.push(new mxPoint(d+k,l+m))}},ElbowConnector:function(a,b,c,d,e){var f=null!=d&&0n,k=f.xm;else l=Math.max(b.x,c.x),m=Math.min(b.x+b.width,c.x+c.width),(g=l==m)||(k=Math.max(b.y,c.y),n=Math.min(b.y+b.height,c.y+c.height),k=k==n);k||!g&&a.style[mxConstants.STYLE_ELBOW]!=mxConstants.ELBOW_VERTICAL?mxEdgeStyle.SideToSide(a,b,c,d,e):mxEdgeStyle.TopToBottom(a,b,c,d,e)},SideToSide:function(a,b,c,d,e){var f=a.view;d=null!=d&&0=b.y&&d.y<=b.y+b.height&&(k=d.y),d.y>=c.y&&d.y<=c.y+c.height&&(f=d.y)),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),mxUtils.contains(c,a,f)||mxUtils.contains(b,a,f)||e.push(new mxPoint(a,f)),1==e.length&&(null!=d?mxUtils.contains(c,a, -d.y)||mxUtils.contains(b,a,d.y)||e.push(new mxPoint(a,d.y)):(f=Math.max(b.y,c.y),e.push(new mxPoint(a,f+(Math.min(b.y+b.height,c.y+c.height)-f)/2)))))},TopToBottom:function(a,b,c,d,e){var f=a.view;d=null!=d&&0=b.x&&d.x<=b.x+b.width&&(a=d.x),k=null!=d?d.y:Math.round(g+(k-g)/2),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),a=null!=d&&d.x>=c.x&&d.x<=c.x+c.width?d.x:f.getRoutingCenterX(c),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),1==e.length&&(null!=d&&1==e.length?mxUtils.contains(c,d.x,k)||mxUtils.contains(b,d.x,k)||e.push(new mxPoint(d.x,k)):(f=Math.max(b.x,c.x),e.push(new mxPoint(f+(Math.min(b.x+b.width,c.x+c.width)-f)/2,k)))))}, -SegmentConnector:function(a,b,c,d,e){function f(a){if(null==l||Math.abs(l.x-a.x)>=k||Math.abs(l.y-a.y)>=k)e.push(a),l=a;return l}var g=a.absolutePoints,k=Math.max(1,a.view.scale),l=0r;r++){var z=null!=x&&x.x==y.x,v=null!=x&&x.y==y.y,B=null!=u&&y.y>=u.y&&y.y<=u.y+ -u.height,u=null!=u&&y.x>=u.x&&y.x<=u.x+u.width,y=v||null==x&&B,A=z||null==x&&u;if(0!=r||!(y&&A||z&&v)){if(null!=x&&!v&&!z&&(B||u)){m=B?!1:!0;break}if(A||y){m=y;1==r&&(m=0==d.length%2?y:A);break}}u=c;x=g[q];null!=x&&(x.x=Math.round(x.x),x.y=Math.round(x.y),u=null);y=d[d.length-1];z&&v&&(d=d.slice(1))}m&&(null!=g[0]&&g[0].y!=n.y||null==g[0]&&null!=b&&(n.yb.y+b.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[0]&&g[0].x!=n.x||null==g[0]&&null!=b&&(n.xb.x+b.width))&&f(new mxPoint(n.x, -p.y));m?p.y=n.y:p.x=n.x;for(r=0;rc.y+c.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[q]&&g[q].x!=n.x||null==g[q]&&null!=c&&(n.xc.x+c.width))&&f(new mxPoint(n.x,p.y))));if(null==g[0]&&null!=b)for(;1< -e.length&&null!=e[1]&&mxUtils.contains(b,e[1].x,e[1].y);)e.splice(1,1);if(null==g[q]&&null!=c)for(;1 -v;v++)mxEdgeStyle.limits[v][1]=n[v][0]-A[v],mxEdgeStyle.limits[v][2]=n[v][1]-A[v],mxEdgeStyle.limits[v][4]=n[v][0]+n[v][2]+A[v],mxEdgeStyle.limits[v][8]=n[v][1]+n[v][3]+A[v];A=n[0][1]+n[0][3]/2;p=n[1][1]+n[1][3]/2;v=n[0][0]+n[0][2]/2-(n[1][0]+n[1][2]/2);B=A-p;A=0;0>v?A=0>B?2:1:0>=B&&(A=3,0==v&&(A=2));p=null;null!=b&&(p=l);b=[[.5,.5],[.5,.5]];for(v=0;2>v;v++)null!=p&&(b[v][0]=(p.x-n[v][0])/n[v][2],1>=Math.abs(p.x-n[v][0])?a[v]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(p.x-n[v][0]-n[v][2])&&(a[v]= -mxConstants.DIRECTION_MASK_EAST),b[v][1]=(p.y-n[v][1])/n[v][3],1>=Math.abs(p.y-n[v][1])?a[v]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(p.y-n[v][1]-n[v][3])&&(a[v]=mxConstants.DIRECTION_MASK_SOUTH)),p=null,null!=c&&(p=m);v=n[0][1]-(n[1][1]+n[1][3]);m=n[0][0]-(n[1][0]+n[1][2]);p=n[1][1]-(n[0][1]+n[0][3]);q=n[1][0]-(n[0][0]+n[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(m-z,0);mxEdgeStyle.vertexSeperations[2]=Math.max(v-z,0);mxEdgeStyle.vertexSeperations[4]=Math.max(p-z,0);mxEdgeStyle.vertexSeperations[3]= -Math.max(q-z,0);z=[];c=[];l=[];c[0]=m>=q?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;l[0]=v>=p?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;c[1]=mxUtils.reversePortConstraints(c[0]);l[1]=mxUtils.reversePortConstraints(l[0]);m=m>=q?m:q;p=v>=p?v:p;q=[[0,0],[0,0]];r=!1;for(v=0;2>v;v++)0==a[v]&&(0==(c[v]&d[v])&&(c[v]=mxUtils.reversePortConstraints(c[v])),0==(l[v]&d[v])&&(l[v]=mxUtils.reversePortConstraints(l[v])),q[v][0]=l[v],q[v][1]=c[v]);0v;v++)0==a[v]&&(0==(q[v][0]&d[v])&&(q[v][0]=q[v][1]),z[v]=q[v][0]&d[v],z[v]|=(q[v][1]&d[v])<<8,z[v]|=(q[1-v][v]&d[v])<<16,z[v]|=(q[1-v][1-v]&d[v])<<24,0==(z[v]&15)&&(z[v]<<=8),0==(z[v]&3840)&&(z[v]= -z[v]&15|z[v]>>8),0==(z[v]&983040)&&(z[v]=z[v]&65535|(z[v]&251658240)>>8),a[v]=z[v]&15,d[v]==mxConstants.DIRECTION_MASK_WEST||d[v]==mxConstants.DIRECTION_MASK_NORTH||d[v]==mxConstants.DIRECTION_MASK_EAST||d[v]==mxConstants.DIRECTION_MASK_SOUTH)&&(a[v]=d[v]);d=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];z=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];d-=A;z-=A;1>d&&(d+=4);1>z&&(z+=4);d=mxEdgeStyle.routePatterns[d-1][z-1];mxEdgeStyle.wayPoints1[0][0]=n[0][0];mxEdgeStyle.wayPoints1[0][1]=n[0][1];switch(a[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-= -f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2];mxEdgeStyle.wayPoints1[0][1]+=n[0][3]+f;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=n[0][2]+f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2],mxEdgeStyle.wayPoints1[0][1]-=f}f=0;c=z=0<(a[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))? -0:1;for(v=0;v>5,p<<=A,15>=4),q=0<(d[v]&mxEdgeStyle.CENTER_MASK),(u||t)&&9>p?(r=u?0:1,p=q&&0==l?n[r][0]+b[r][0]*n[r][2]:q?n[r][1]+b[r][1]* -n[r][3]:mxEdgeStyle.limits[r][p],0==l?(p=(p-mxEdgeStyle.wayPoints1[f][0])*m[0],0e&&(e+=4);1>a&&(a+=4);b=routePatterns[e-1][a-1];0!=c&&0!=d||null==inlineRoutePatterns[e-1][a- -1]||(b=inlineRoutePatterns[e-1][a-1]);return b}},mxStyleRegistry={values:[],putValue:function(a,b){mxStyleRegistry.values[a]=b},getValue:function(a){return mxStyleRegistry.values[a]},getName:function(a){for(var b in mxStyleRegistry.values)if(mxStyleRegistry.values[b]==a)return b;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation); -mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter); -mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource; -mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null; -mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.states=null;mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a}; -mxGraphView.prototype.getBounds=function(a){var b=null;if(null!=a&&0 -c.length||null==c[0]||null==c[c.length-1])?this.clear(a.cell,!0):(this.updateEdgeBounds(a),this.updateEdgeLabelOffset(a)))}; -mxGraphView.prototype.updateVertexLabelOffset=function(a){var b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);if(b==mxConstants.ALIGN_LEFT)b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null),b=null!=b?b*this.scale:a.width,a.absoluteOffset.x-=b;else if(b==mxConstants.ALIGN_RIGHT)a.absoluteOffset.x+=a.width;else if(b==mxConstants.ALIGN_CENTER&&(b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null),null!=b)){var c=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, -mxConstants.ALIGN_CENTER),d=0;c==mxConstants.ALIGN_CENTER?d=.5:c==mxConstants.ALIGN_RIGHT&&(d=1);0!=d&&(a.absoluteOffset.x-=(b*this.scale-a.width)*d)}b=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);b==mxConstants.ALIGN_TOP?a.absoluteOffset.y-=a.height:b==mxConstants.ALIGN_BOTTOM&&(a.absoluteOffset.y+=a.height)};mxGraphView.prototype.resetValidationState=function(){this.lastForegroundHtmlNode=this.lastForegroundNode=this.lastHtmlNode=this.lastNode=null}; -mxGraphView.prototype.stateValidated=function(a){var b=this.graph.getModel().isEdge(a.cell)&&this.graph.keepEdgesInForeground||this.graph.getModel().isVertex(a.cell)&&this.graph.keepEdgesInBackground;a=this.graph.cellRenderer.insertStateAfter(a,b?this.lastForegroundNode||this.lastNode:this.lastNode,b?this.lastForegroundHtmlNode||this.lastHtmlNode:this.lastHtmlNode);b?(this.lastForegroundHtmlNode=a[1],this.lastForegroundNode=a[0]):(this.lastHtmlNode=a[1],this.lastNode=a[0])}; -mxGraphView.prototype.updateFixedTerminalPoints=function(a,b,c){this.updateFixedTerminalPoint(a,b,!0,this.graph.getConnectionConstraint(a,b,!0));this.updateFixedTerminalPoint(a,c,!1,this.graph.getConnectionConstraint(a,c,!1))};mxGraphView.prototype.updateFixedTerminalPoint=function(a,b,c,d){a.setAbsoluteTerminalPoint(this.getFixedTerminalPoint(a,b,c,d),c)}; -mxGraphView.prototype.getFixedTerminalPoint=function(a,b,c,d){var e=null;null!=d&&(e=this.graph.getConnectionPoint(b,d,this.graph.isOrthogonal(a)));if(null==e&&null==b){b=this.scale;d=this.translate;var f=a.origin,e=this.graph.getCellGeometry(a.cell).getTerminalPoint(c);null!=e&&(e=new mxPoint(b*(d.x+e.x+f.x),b*(d.y+e.y+f.y)))}return e}; -mxGraphView.prototype.updateBoundsFromStencil=function(a){var b=null;if(null!=a&&null!=a.shape&&null!=a.shape.stencil&&"fixed"==a.shape.stencil.aspect){var b=mxRectangle.fromRectangle(a),c=a.shape.stencil.computeAspect(a.style,a.x,a.y,a.width,a.height);a.setRect(c.x,c.y,a.shape.stencil.w0*c.width,a.shape.stencil.h0*c.height)}return b}; -mxGraphView.prototype.updatePoints=function(a,b,c,d){if(null!=a){var e=[];e.push(a.absolutePoints[0]);var f=this.getEdgeStyle(a,b,c,d);if(null!=f){c=this.getTerminalPort(a,c,!0);d=this.getTerminalPort(a,d,!1);var g=this.updateBoundsFromStencil(c),k=this.updateBoundsFromStencil(d);f(a,c,d,b,e);null!=g&&c.setRect(g.x,g.y,g.width,g.height);null!=k&&d.setRect(k.x,k.y,k.width,k.height)}else if(null!=b)for(f=0;fb.length)||mxUtils.getValue(a.style,mxConstants.STYLE_ORTHOGONAL_LOOP,!1)&&(null!=e&&null!=e.point||null!=f&&null!=f.point)?!1:null!=c&&c==d}; -mxGraphView.prototype.getEdgeStyle=function(a,b,c,d){a=this.isLoopStyleEnabled(a,b,c,d)?mxUtils.getValue(a.style,mxConstants.STYLE_LOOP,this.graph.defaultLoopStyle):mxUtils.getValue(a.style,mxConstants.STYLE_NOEDGESTYLE,!1)?null:a.style[mxConstants.STYLE_EDGE];"string"==typeof a&&(b=mxStyleRegistry.getValue(a),null==b&&this.isAllowEval()&&(b=mxUtils.eval(a)),a=b);return"function"==typeof a?a:null}; -mxGraphView.prototype.updateFloatingTerminalPoints=function(a,b,c){var d=a.absolutePoints,e=d[0];null==d[d.length-1]&&null!=c&&this.updateFloatingTerminalPoint(a,c,b,!1);null==e&&null!=b&&this.updateFloatingTerminalPoint(a,b,c,!0)};mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){a.setAbsoluteTerminalPoint(this.getFloatingTerminalPoint(a,b,c,d),d)}; -mxGraphView.prototype.getFloatingTerminalPoint=function(a,b,c,d){b=this.getTerminalPort(a,b,d);var e=this.getNextPoint(a,c,d),f=this.graph.isOrthogonal(a);c=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0"));var g=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=c)var k=Math.cos(-c),l=Math.sin(-c),e=mxUtils.getRotatedPoint(e,k,l,g);k=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);k+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| -0);a=this.getPerimeterPoint(b,e,0==c&&f,k);0!=c&&(k=Math.cos(c),l=Math.sin(c),a=mxUtils.getRotatedPoint(a,k,l,g));return a};mxGraphView.prototype.getTerminalPort=function(a,b,c){a=mxUtils.getValue(a.style,c?mxConstants.STYLE_SOURCE_PORT:mxConstants.STYLE_TARGET_PORT);null!=a&&(a=this.getState(this.graph.getModel().getCell(a)),null!=a&&(b=a));return b}; -mxGraphView.prototype.getPerimeterPoint=function(a,b,c,d){var e=null;if(null!=a){var f=this.getPerimeterFunction(a);if(null!=f&&null!=b&&(d=this.getPerimeterBounds(a,d),0=Math.round(k+g)&&l=f?0:f*f/(a*a+m*m));a>e&&(a=e);e=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,k.x,k.y,b,c));-1==mxUtils.relativeCcw(g.x,g.y,k.x,k.y,b,c)&&(e=-e);return new mxPoint((d/2-p-a)/d*-2,e/this.scale)}}return new mxPoint}; -mxGraphView.prototype.updateEdgeLabelOffset=function(a){var b=a.absolutePoints;a.absoluteOffset.x=a.getCenterX();a.absoluteOffset.y=a.getCenterY();if(null!=b&&0c&&a.x>c+2&&a.x<=b)return!0;b=this.graph.container.offsetHeight;c=this.graph.container.clientHeight;return b>c&&a.y>c+2&&a.y<=b?!0:!1}; -mxGraphView.prototype.init=function(){this.installListeners();var a=this.graph;a.dialect==mxConstants.DIALECT_SVG?this.createSvg():a.dialect==mxConstants.DIALECT_VML?this.createVml():this.createHtml()}; -mxGraphView.prototype.installListeners=function(){var a=this.graph,b=a.container;if(null!=b){mxClient.IS_TOUCH&&(mxEvent.addListener(b,"gesturestart",mxUtils.bind(this,function(b){a.fireGestureEvent(b);mxEvent.consume(b)})),mxEvent.addListener(b,"gesturechange",mxUtils.bind(this,function(b){a.fireGestureEvent(b);mxEvent.consume(b)})),mxEvent.addListener(b,"gestureend",mxUtils.bind(this,function(b){a.fireGestureEvent(b);mxEvent.consume(b)})));mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){!this.isContainerEvent(b)|| -(mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_GC||mxClient.IS_OP||mxClient.IS_SF)&&this.isScrollEvent(b)||a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(b))}),mxUtils.bind(this,function(b){this.isContainerEvent(b)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(b))}),mxUtils.bind(this,function(b){this.isContainerEvent(b)&&a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(b))}));mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.isContainerEvent(b)&&a.dblClick(b)})); -var c=function(c){var d=null;mxClient.IS_TOUCH&&(d=mxEvent.getClientX(c),c=mxEvent.getClientY(c),c=mxUtils.convertPoint(b,d,c),d=a.view.getState(a.getCellAt(c.x,c.y)));return d};a.addMouseListener({mouseDown:function(b,c){a.popupMenuHandler.hideMenu()},mouseMove:function(){},mouseUp:function(){}});this.moveHandler=mxUtils.bind(this,function(b){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();this.captureDocumentGesture&&a.isMouseDown&&null!=a.container&&!this.isContainerEvent(b)&& -"none"!=a.container.style.display&&"hidden"!=a.container.style.visibility&&!mxEvent.isConsumed(b)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(b,c(b)))});this.endHandler=mxUtils.bind(this,function(b){this.captureDocumentGesture&&a.isMouseDown&&null!=a.container&&!this.isContainerEvent(b)&&"none"!=a.container.style.display&&"hidden"!=a.container.style.visibility&&a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(b))});mxEvent.addGestureListeners(document,null,this.moveHandler,this.endHandler)}}; -mxGraphView.prototype.createHtml=function(){var a=this.graph.container;null!=a&&(this.canvas=this.createHtmlPane("100%","100%"),this.canvas.style.overflow="hidden",this.backgroundPane=this.createHtmlPane("1px","1px"),this.drawPane=this.createHtmlPane("1px","1px"),this.overlayPane=this.createHtmlPane("1px","1px"),this.decoratorPane=this.createHtmlPane("1px","1px"),this.canvas.appendChild(this.backgroundPane),this.canvas.appendChild(this.drawPane),this.canvas.appendChild(this.overlayPane),this.canvas.appendChild(this.decoratorPane), -a.appendChild(this.canvas),this.updateContainerStyle(a),mxClient.IS_QUIRKS&&(a=mxUtils.bind(this,function(a){a=this.getGraphBounds();this.updateHtmlCanvasSize(a.x+a.width+this.graph.border,a.y+a.height+this.graph.border)}),mxEvent.addListener(window,"resize",a)))}; -mxGraphView.prototype.updateHtmlCanvasSize=function(a,b){if(null!=this.graph.container){var c=this.graph.container.offsetHeight;this.canvas.style.width=this.graph.container.offsetWidth")}; -mxGraph.prototype.createHandlers=function(){this.tooltipHandler=this.createTooltipHandler();this.tooltipHandler.setEnabled(!1);this.selectionCellsHandler=this.createSelectionCellsHandler();this.connectionHandler=this.createConnectionHandler();this.connectionHandler.setEnabled(!1);this.graphHandler=this.createGraphHandler();this.panningHandler=this.createPanningHandler();this.panningHandler.panningEnabled=!1;this.popupMenuHandler=this.createPopupMenuHandler()}; -mxGraph.prototype.createTooltipHandler=function(){return new mxTooltipHandler(this)};mxGraph.prototype.createSelectionCellsHandler=function(){return new mxSelectionCellsHandler(this)};mxGraph.prototype.createConnectionHandler=function(){return new mxConnectionHandler(this)};mxGraph.prototype.createGraphHandler=function(){return new mxGraphHandler(this)};mxGraph.prototype.createPanningHandler=function(){return new mxPanningHandler(this)};mxGraph.prototype.createPopupMenuHandler=function(){return new mxPopupMenuHandler(this)}; -mxGraph.prototype.createSelectionModel=function(){return new mxGraphSelectionModel(this)};mxGraph.prototype.createStylesheet=function(){return new mxStylesheet};mxGraph.prototype.createGraphView=function(){return new mxGraphView(this)};mxGraph.prototype.createCellRenderer=function(){return new mxCellRenderer};mxGraph.prototype.createCellEditor=function(){return new mxCellEditor(this)};mxGraph.prototype.getModel=function(){return this.model};mxGraph.prototype.getView=function(){return this.view}; -mxGraph.prototype.getStylesheet=function(){return this.stylesheet};mxGraph.prototype.setStylesheet=function(a){this.stylesheet=a};mxGraph.prototype.getSelectionModel=function(){return this.selectionModel};mxGraph.prototype.setSelectionModel=function(a){this.selectionModel=a}; -mxGraph.prototype.getSelectionCellsForChanges=function(a){for(var b=new mxDictionary,c=[],d=mxUtils.bind(this,function(a){if(!b.get(a)&&this.model.contains(a))if(this.model.isEdge(a)||this.model.isVertex(a))b.put(a,!0),c.push(a);else for(var e=this.model.getChildCount(a),f=0;f"+b+""),d&&b.addListener(mxEvent.CLICK,mxUtils.bind(this,function(b,c){this.isEnabled()&&this.setSelectionCell(a)})),this.addCellOverlay(a,b);this.removeCellOverlays(a);return null};mxGraph.prototype.startEditing=function(a){this.startEditingAtCell(null,a)}; -mxGraph.prototype.startEditingAtCell=function(a,b){null!=b&&mxEvent.isMultiTouchEvent(b)||(null==a&&(a=this.getSelectionCell(),null==a||this.isCellEditable(a)||(a=null)),null!=a&&(this.fireEvent(new mxEventObject(mxEvent.START_EDITING,"cell",a,"event",b)),this.cellEditor.startEditing(a,b),this.fireEvent(new mxEventObject(mxEvent.EDITING_STARTED,"cell",a,"event",b))))};mxGraph.prototype.getEditingValue=function(a,b){return this.convertValueToString(a)}; -mxGraph.prototype.stopEditing=function(a){this.cellEditor.stopEditing(a);this.fireEvent(new mxEventObject(mxEvent.EDITING_STOPPED,"cancel",a))};mxGraph.prototype.labelChanged=function(a,b,c){this.model.beginUpdate();try{var d=a.value;this.cellLabelChanged(a,b,this.isAutoSizeCell(a));this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED,"cell",a,"value",b,"old",d,"event",c))}finally{this.model.endUpdate()}return a}; -mxGraph.prototype.cellLabelChanged=function(a,b,c){this.model.beginUpdate();try{this.model.setValue(a,b),c&&this.cellSizeUpdated(a,!1)}finally{this.model.endUpdate()}};mxGraph.prototype.escape=function(a){this.fireEvent(new mxEventObject(mxEvent.ESCAPE,"event",a))}; -mxGraph.prototype.click=function(a){var b=a.getEvent(),c=a.getCell(),d=new mxEventObject(mxEvent.CLICK,"event",b,"cell",c);a.isConsumed()&&d.consume();this.fireEvent(d);if(this.isEnabled()&&!mxEvent.isConsumed(b)&&!d.isConsumed())if(null!=c){if(this.isTransparentClickEvent(b)){var e=!1;a=this.getCellAt(a.graphX,a.graphY,null,null,null,mxUtils.bind(this,function(a){a=this.isCellSelected(a.cell);e=e||a;return!e||a}));null!=a&&(c=a)}this.selectCellForEvent(c,b)}else c=null,this.isSwimlaneSelectionEnabled()&& -(c=this.getSwimlaneAt(a.getGraphX(),a.getGraphY())),null!=c?this.selectCellForEvent(c,b):this.isToggleEvent(b)||this.clearSelection()};mxGraph.prototype.dblClick=function(a,b){var c=new mxEventObject(mxEvent.DOUBLE_CLICK,"event",a,"cell",b);this.fireEvent(c);!this.isEnabled()||mxEvent.isConsumed(a)||c.isConsumed()||null==b||!this.isCellEditable(b)||this.isEditing(b)||(this.startEditingAtCell(b,a),mxEvent.consume(a))}; -mxGraph.prototype.tapAndHold=function(a){var b=a.getEvent(),c=new mxEventObject(mxEvent.TAP_AND_HOLD,"event",b,"cell",a.getCell());this.fireEvent(c);c.isConsumed()&&(this.panningHandler.panningTrigger=!1);this.isEnabled()&&!mxEvent.isConsumed(b)&&!c.isConsumed()&&this.connectionHandler.isEnabled()&&(b=this.view.getState(this.connectionHandler.marker.getCell(a)),null!=b&&(this.connectionHandler.marker.currentColor=this.connectionHandler.marker.validColor,this.connectionHandler.marker.markedState=b, -this.connectionHandler.marker.mark(),this.connectionHandler.first=new mxPoint(a.getGraphX(),a.getGraphY()),this.connectionHandler.edgeState=this.connectionHandler.createEdgeState(a),this.connectionHandler.previous=b,this.connectionHandler.fireEvent(new mxEventObject(mxEvent.START,"state",this.connectionHandler.previous))))}; -mxGraph.prototype.scrollPointToVisible=function(a,b,c,d){if(this.timerAutoScroll||!this.ignoreScrollbars&&!mxUtils.hasScrollbars(this.container))this.allowAutoPanning&&!this.panningHandler.isActive()&&(null==this.panningManager&&(this.panningManager=this.createPanningManager()),this.panningManager.panTo(a+this.panDx,b+this.panDy));else{var e=this.container;d=null!=d?d:20;if(a>=e.scrollLeft&&b>=e.scrollTop&&a<=e.scrollLeft+e.clientWidth&&b<=e.scrollTop+e.clientHeight){var f=e.scrollLeft+e.clientWidth- -a;if(fthis.minPageBreakDist)?Math.ceil(d.height/f.height)+1:0,k=a?Math.ceil(d.width/f.width)+1:0,l=(k-1)*f.width,m=(g-1)*f.height;null==this.horizontalPageBreaks&&0this.model.getChildCount(b)&&c--;this.model.add(b,a[l],c+l);this.autoSizeCellsOnAdd&&this.autoSizeCell(a[l],!0);(null==k||k)&&this.isExtendParentsOnAdd(a[l])&&this.isExtendParent(a[l])&&this.extendParent(a[l]);(null==g||g)&&this.constrainChild(a[l]);null!=d&&this.cellConnected(a[l],d,!0);null!=e&&this.cellConnected(a[l],e,!1)}this.fireEvent(new mxEventObject(mxEvent.CELLS_ADDED,"cells",a,"parent",b,"index",c,"source", -d,"target",e,"absolute",f))}finally{this.model.endUpdate()}}};mxGraph.prototype.autoSizeCell=function(a,b){if(null!=b?b:1)for(var c=this.model.getChildCount(a),d=0;d"),e=mxUtils.getSizeForString(f,e,d[mxConstants.STYLE_FONTFAMILY]),c=e.width+b,a=e.height+a,mxUtils.getValue(d,mxConstants.STYLE_HORIZONTAL,!0)||(d=a,a=c,c=d),this.gridEnabled&&(c=this.snap(c+this.gridSize/2),a=this.snap(a+this.gridSize/2)),b=new mxRectangle(0,0,c,a)):(d=4*this.gridSize,b=new mxRectangle(0,0,d,d))}}return b};mxGraph.prototype.resizeCell=function(a,b,c){return this.resizeCells([a],[b],c)[0]}; -mxGraph.prototype.resizeCells=function(a,b,c){c=null!=c?c:this.isRecursiveResize();this.model.beginUpdate();try{this.cellsResized(a,b,c),this.fireEvent(new mxEventObject(mxEvent.RESIZE_CELLS,"cells",a,"bounds",b))}finally{this.model.endUpdate()}return a}; -mxGraph.prototype.cellsResized=function(a,b,c){c=null!=c?c:!1;if(null!=a&&null!=b&&a.length==b.length){this.model.beginUpdate();try{for(var d=0;de.width&&(f=c.width-e.width,c.width-=f);d.x+d.width>e.x+e.width&&(f-=d.x+d.width-e.x-e.width-f);g=0;c.height>e.height&&(g=c.height-e.height,c.height-=g);d.y+d.height> -e.y+e.height&&(g-=d.y+d.height-e.y-e.height-g);d.xg&&(n=0),b>f&&(p=0),this.view.setTranslate(Math.floor(n/2-k.x),Math.floor(p/2-k.y)),this.container.scrollLeft= -(a-g)/2,this.container.scrollTop=(b-f)/2):this.view.setTranslate(a?Math.floor(l.x-k.x*m+n*c/m):l.x,b?Math.floor(l.y-k.y*m+p*d/m):l.y)}; -mxGraph.prototype.zoom=function(a,b){b=null!=b?b:this.centerZoom;var c=Math.round(this.view.scale*a*100)/100,d=this.view.getState(this.getSelectionCell());a=c/this.view.scale;if(this.keepSelectionVisibleOnZoom&&null!=d)d=new mxRectangle(d.x*a,d.y*a,d.width*a,d.height*a),this.view.scale=c,this.scrollRectToVisible(d)||(this.view.revalidate(),this.view.setScale(c));else if(d=mxUtils.hasScrollbars(this.container),b&&!d){var d=this.container.offsetWidth,e=this.container.offsetHeight;if(1b?(b=a.height/b,c=(b-a.height)/2,a.height=b,a.y-=Math.min(a.y,c),d=Math.min(this.container.scrollHeight,a.y+a.height),a.height=d-a.y):(b*=a.width,c=(b-a.width)/2,a.width=b,a.x-=Math.min(a.x,c),c=Math.min(this.container.scrollWidth, -a.x+a.width),a.width=c-a.x);b=this.container.clientWidth/a.width;c=this.view.scale*b;mxUtils.hasScrollbars(this.container)?(this.view.setScale(c),this.container.scrollLeft=Math.round(a.x*b),this.container.scrollTop=Math.round(a.y*b)):this.view.scaleAndTranslate(c,this.view.translate.x-a.x/this.view.scale,this.view.translate.y-a.y/this.view.scale)}; -mxGraph.prototype.scrollCellToVisible=function(a,b){var c=-this.view.translate.x,d=-this.view.translate.y,e=this.view.getState(a);null!=e&&(c=new mxRectangle(c+e.x,d+e.y,e.width,e.height),b&&null!=this.container&&(d=this.container.clientWidth,e=this.container.clientHeight,c.x=c.getCenterX()-d/2,c.width=d,c.y=c.getCenterY()-e/2,c.height=e),d=new mxPoint(this.view.translate.x,this.view.translate.y),this.scrollRectToVisible(c)&&(c=new mxPoint(this.view.translate.x,this.view.translate.y),this.view.translate.x= -d.x,this.view.translate.y=d.y,this.view.setTranslate(c.x,c.y)))}; -mxGraph.prototype.scrollRectToVisible=function(a){var b=!1;if(null!=a){var c=this.container.offsetWidth,d=this.container.offsetHeight,e=Math.min(c,a.width),f=Math.min(d,a.height);if(mxUtils.hasScrollbars(this.container)){c=this.container;a.x+=this.view.translate.x;a.y+=this.view.translate.y;var g=c.scrollLeft-a.x,d=Math.max(g-c.scrollLeft,0);0g+c&&(this.view.translate.x-=(a.x+e-c-g)/l,b=!0);a.y+f>k+d&&(this.view.translate.y-=(a.y+f-d-k)/l,b=!0);a.x")):this.setCellWarning(f,null);c=c&&null==g}d="";this.isCellCollapsed(a)&&!c&&(d+=(mxResources.get(this.containsValidationErrorsResource)||this.containsValidationErrorsResource)+"\n");d=this.model.isEdge(a)?d+ -(this.getEdgeValidationError(a,this.model.getTerminal(a,!0),this.model.getTerminal(a,!1))||""):d+(this.getCellValidationError(a)||"");e=this.validateCell(a,b);null!=e&&(d+=e);null==this.model.getParent(a)&&this.view.validate();return 0f.max||bf.max||c")),null==e&&null!=a.overlays&&a.overlays.visit(function(a,c){null!=e||b!=c.node&&b.parentNode!=c.node||(e=c.overlay.toString())}),null==e&&(c=this.selectionCellsHandler.getHandler(a.cell),null!=c&&"function"==typeof c.getTooltipForNode&&(e=c.getTooltipForNode(b))),null== -e&&(e=this.getTooltipForCell(a.cell)));return e};mxGraph.prototype.getTooltipForCell=function(a){return null!=a&&null!=a.getTooltip?a.getTooltip():this.convertValueToString(a)};mxGraph.prototype.getLinkForCell=function(a){return null};mxGraph.prototype.getCursorForMouseEvent=function(a){return this.getCursorForCell(a.getCell())};mxGraph.prototype.getCursorForCell=function(a){return null}; -mxGraph.prototype.getStartSize=function(a){var b=new mxRectangle,c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a);null!=a&&(c=parseInt(mxUtils.getValue(a,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE)),mxUtils.getValue(a,mxConstants.STYLE_HORIZONTAL,!0)?b.height=c:b.width=c);return b};mxGraph.prototype.getImage=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_IMAGE]:null}; -mxGraph.prototype.getVerticalAlign=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_VERTICAL_ALIGN]||mxConstants.ALIGN_MIDDLE:null};mxGraph.prototype.getIndicatorColor=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_COLOR]:null};mxGraph.prototype.getIndicatorGradientColor=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_GRADIENTCOLOR]:null}; -mxGraph.prototype.getIndicatorShape=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_SHAPE]:null};mxGraph.prototype.getIndicatorImage=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_IMAGE]:null};mxGraph.prototype.getBorder=function(){return this.border};mxGraph.prototype.setBorder=function(a){this.border=a}; -mxGraph.prototype.isSwimlane=function(a){if(null!=a&&this.model.getParent(a)!=this.model.getRoot()){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);if(null!=b&&!this.model.isEdge(a))return b[mxConstants.STYLE_SHAPE]==mxConstants.SHAPE_SWIMLANE}return!1};mxGraph.prototype.isResizeContainer=function(){return this.resizeContainer};mxGraph.prototype.setResizeContainer=function(a){this.resizeContainer=a};mxGraph.prototype.isEnabled=function(){return this.enabled}; -mxGraph.prototype.setEnabled=function(a){this.enabled=a};mxGraph.prototype.isEscapeEnabled=function(){return this.escapeEnabled};mxGraph.prototype.setEscapeEnabled=function(a){this.escapeEnabled=a};mxGraph.prototype.isInvokesStopCellEditing=function(){return this.invokesStopCellEditing};mxGraph.prototype.setInvokesStopCellEditing=function(a){this.invokesStopCellEditing=a};mxGraph.prototype.isEnterStopsCellEditing=function(){return this.enterStopsCellEditing}; -mxGraph.prototype.setEnterStopsCellEditing=function(a){this.enterStopsCellEditing=a};mxGraph.prototype.isCellLocked=function(a){var b=this.model.getGeometry(a);return this.isCellsLocked()||null!=b&&this.model.isVertex(a)&&b.relative};mxGraph.prototype.isCellsLocked=function(){return this.cellsLocked};mxGraph.prototype.setCellsLocked=function(a){this.cellsLocked=a};mxGraph.prototype.getCloneableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellCloneable(a)}))}; -mxGraph.prototype.isCellCloneable=function(a){var b=this.view.getState(a);a=null!=b?b.style:this.getCellStyle(a);return this.isCellsCloneable()&&0!=a[mxConstants.STYLE_CLONEABLE]};mxGraph.prototype.isCellsCloneable=function(){return this.cellsCloneable};mxGraph.prototype.setCellsCloneable=function(a){this.cellsCloneable=a};mxGraph.prototype.getExportableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.canExportCell(a)}))}; -mxGraph.prototype.canExportCell=function(a){return this.exportEnabled};mxGraph.prototype.getImportableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.canImportCell(a)}))};mxGraph.prototype.canImportCell=function(a){return this.importEnabled};mxGraph.prototype.isCellSelectable=function(a){return this.isCellsSelectable()};mxGraph.prototype.isCellsSelectable=function(){return this.cellsSelectable}; -mxGraph.prototype.setCellsSelectable=function(a){this.cellsSelectable=a};mxGraph.prototype.getDeletableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellDeletable(a)}))};mxGraph.prototype.isCellDeletable=function(a){var b=this.view.getState(a);a=null!=b?b.style:this.getCellStyle(a);return this.isCellsDeletable()&&0!=a[mxConstants.STYLE_DELETABLE]};mxGraph.prototype.isCellsDeletable=function(){return this.cellsDeletable}; -mxGraph.prototype.setCellsDeletable=function(a){this.cellsDeletable=a};mxGraph.prototype.isLabelMovable=function(a){return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&this.vertexLabelsMovable)};mxGraph.prototype.isCellRotatable=function(a){var b=this.view.getState(a);return 0!=(null!=b?b.style:this.getCellStyle(a))[mxConstants.STYLE_ROTATABLE]};mxGraph.prototype.getMovableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellMovable(a)}))}; -mxGraph.prototype.isCellMovable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isCellsMovable()&&!this.isCellLocked(a)&&0!=b[mxConstants.STYLE_MOVABLE]};mxGraph.prototype.isCellsMovable=function(){return this.cellsMovable};mxGraph.prototype.setCellsMovable=function(a){this.cellsMovable=a};mxGraph.prototype.isGridEnabled=function(){return this.gridEnabled};mxGraph.prototype.setGridEnabled=function(a){this.gridEnabled=a};mxGraph.prototype.isPortsEnabled=function(){return this.portsEnabled}; -mxGraph.prototype.setPortsEnabled=function(a){this.portsEnabled=a};mxGraph.prototype.getGridSize=function(){return this.gridSize};mxGraph.prototype.setGridSize=function(a){this.gridSize=a};mxGraph.prototype.getTolerance=function(){return this.tolerance};mxGraph.prototype.setTolerance=function(a){this.tolerance=a};mxGraph.prototype.isVertexLabelsMovable=function(){return this.vertexLabelsMovable};mxGraph.prototype.setVertexLabelsMovable=function(a){this.vertexLabelsMovable=a}; -mxGraph.prototype.isEdgeLabelsMovable=function(){return this.edgeLabelsMovable};mxGraph.prototype.setEdgeLabelsMovable=function(a){this.edgeLabelsMovable=a};mxGraph.prototype.isSwimlaneNesting=function(){return this.swimlaneNesting};mxGraph.prototype.setSwimlaneNesting=function(a){this.swimlaneNesting=a};mxGraph.prototype.isSwimlaneSelectionEnabled=function(){return this.swimlaneSelectionEnabled};mxGraph.prototype.setSwimlaneSelectionEnabled=function(a){this.swimlaneSelectionEnabled=a}; -mxGraph.prototype.isMultigraph=function(){return this.multigraph};mxGraph.prototype.setMultigraph=function(a){this.multigraph=a};mxGraph.prototype.isAllowLoops=function(){return this.allowLoops};mxGraph.prototype.setAllowDanglingEdges=function(a){this.allowDanglingEdges=a};mxGraph.prototype.isAllowDanglingEdges=function(){return this.allowDanglingEdges};mxGraph.prototype.setConnectableEdges=function(a){this.connectableEdges=a};mxGraph.prototype.isConnectableEdges=function(){return this.connectableEdges}; -mxGraph.prototype.setCloneInvalidEdges=function(a){this.cloneInvalidEdges=a};mxGraph.prototype.isCloneInvalidEdges=function(){return this.cloneInvalidEdges};mxGraph.prototype.setAllowLoops=function(a){this.allowLoops=a};mxGraph.prototype.isDisconnectOnMove=function(){return this.disconnectOnMove};mxGraph.prototype.setDisconnectOnMove=function(a){this.disconnectOnMove=a};mxGraph.prototype.isDropEnabled=function(){return this.dropEnabled}; -mxGraph.prototype.setDropEnabled=function(a){this.dropEnabled=a};mxGraph.prototype.isSplitEnabled=function(){return this.splitEnabled};mxGraph.prototype.setSplitEnabled=function(a){this.splitEnabled=a};mxGraph.prototype.isCellResizable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isCellsResizable()&&!this.isCellLocked(a)&&"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")};mxGraph.prototype.isCellsResizable=function(){return this.cellsResizable}; -mxGraph.prototype.setCellsResizable=function(a){this.cellsResizable=a};mxGraph.prototype.isTerminalPointMovable=function(a,b){return!0};mxGraph.prototype.isCellBendable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isCellsBendable()&&!this.isCellLocked(a)&&0!=b[mxConstants.STYLE_BENDABLE]};mxGraph.prototype.isCellsBendable=function(){return this.cellsBendable};mxGraph.prototype.setCellsBendable=function(a){this.cellsBendable=a}; -mxGraph.prototype.isCellEditable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isCellsEditable()&&!this.isCellLocked(a)&&0!=b[mxConstants.STYLE_EDITABLE]};mxGraph.prototype.isCellsEditable=function(){return this.cellsEditable};mxGraph.prototype.setCellsEditable=function(a){this.cellsEditable=a};mxGraph.prototype.isCellDisconnectable=function(a,b,c){return this.isCellsDisconnectable()&&!this.isCellLocked(a)};mxGraph.prototype.isCellsDisconnectable=function(){return this.cellsDisconnectable}; -mxGraph.prototype.setCellsDisconnectable=function(a){this.cellsDisconnectable=a};mxGraph.prototype.isValidSource=function(a){return null==a&&this.allowDanglingEdges||null!=a&&(!this.model.isEdge(a)||this.connectableEdges)&&this.isCellConnectable(a)};mxGraph.prototype.isValidTarget=function(a){return this.isValidSource(a)};mxGraph.prototype.isValidConnection=function(a,b){return this.isValidSource(a)&&this.isValidTarget(b)};mxGraph.prototype.setConnectable=function(a){this.connectionHandler.setEnabled(a)}; -mxGraph.prototype.isConnectable=function(){return this.connectionHandler.isEnabled()};mxGraph.prototype.setTooltips=function(a){this.tooltipHandler.setEnabled(a)};mxGraph.prototype.setPanning=function(a){this.panningHandler.panningEnabled=a};mxGraph.prototype.isEditing=function(a){if(null!=this.cellEditor){var b=this.cellEditor.getEditingCell();return null==a?null!=b:a==b}return!1}; -mxGraph.prototype.isAutoSizeCell=function(a){var b=this.view.getState(a);a=null!=b?b.style:this.getCellStyle(a);return this.isAutoSizeCells()||1==a[mxConstants.STYLE_AUTOSIZE]};mxGraph.prototype.isAutoSizeCells=function(){return this.autoSizeCells};mxGraph.prototype.setAutoSizeCells=function(a){this.autoSizeCells=a};mxGraph.prototype.isExtendParent=function(a){return!this.getModel().isEdge(a)&&this.isExtendParents()};mxGraph.prototype.isExtendParents=function(){return this.extendParents}; -mxGraph.prototype.setExtendParents=function(a){this.extendParents=a};mxGraph.prototype.isExtendParentsOnAdd=function(a){return this.extendParentsOnAdd};mxGraph.prototype.setExtendParentsOnAdd=function(a){this.extendParentsOnAdd=a};mxGraph.prototype.isExtendParentsOnMove=function(){return this.extendParentsOnMove};mxGraph.prototype.setExtendParentsOnMove=function(a){this.extendParentsOnMove=a};mxGraph.prototype.isRecursiveResize=function(a){return this.recursiveResize}; -mxGraph.prototype.setRecursiveResize=function(a){this.recursiveResize=a};mxGraph.prototype.isConstrainChild=function(a){return this.isConstrainChildren()&&!this.getModel().isEdge(this.getModel().getParent(a))};mxGraph.prototype.isConstrainChildren=function(){return this.constrainChildren};mxGraph.prototype.setConstrainChildren=function(a){this.constrainChildren=a};mxGraph.prototype.isConstrainRelativeChildren=function(){return this.constrainRelativeChildren}; -mxGraph.prototype.setConstrainRelativeChildren=function(a){this.constrainRelativeChildren=a};mxGraph.prototype.isAllowNegativeCoordinates=function(){return this.allowNegativeCoordinates};mxGraph.prototype.setAllowNegativeCoordinates=function(a){this.allowNegativeCoordinates=a};mxGraph.prototype.getOverlap=function(a){return this.isAllowOverlapParent(a)?this.defaultOverlap:0};mxGraph.prototype.isAllowOverlapParent=function(a){return!1}; -mxGraph.prototype.getFoldableCells=function(a,b){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellFoldable(a,b)}))};mxGraph.prototype.isCellFoldable=function(a,b){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return 0mxUtils.indexOf(a,g);)g=this.model.getParent(g);return this.model.isLayer(c)||null!=g?null:c};mxGraph.prototype.getDefaultParent=function(){var a=this.getCurrentRoot();null==a&&(a=this.defaultParent,null==a&&(a=this.model.getRoot(),a=this.model.getChildAt(a,0)));return a};mxGraph.prototype.setDefaultParent=function(a){this.defaultParent=a};mxGraph.prototype.getSwimlane=function(a){for(;null!=a&&!this.isSwimlane(a);)a=this.model.getParent(a);return a}; -mxGraph.prototype.getSwimlaneAt=function(a,b,c){c=c||this.getDefaultParent();if(null!=c)for(var d=this.model.getChildCount(c),e=0;ea.width*e||0a.height*e)return!0}return!1};mxGraph.prototype.getChildVertices=function(a){return this.getChildCells(a,!0,!1)};mxGraph.prototype.getChildEdges=function(a){return this.getChildCells(a,!1,!0)}; -mxGraph.prototype.getChildCells=function(a,b,c){a=null!=a?a:this.getDefaultParent();a=this.model.getChildCells(a,null!=b?b:!1,null!=c?c:!1);b=[];for(c=0;c=a&&q.y+q.height<=l&&q.y>=b&&q.x+q.width<=k?f.push(p):this.getCells(a, -b,c,d,p,f)}}}return f};mxGraph.prototype.getCellsBeyond=function(a,b,c,d,e){var f=[];if(d||e)if(null==c&&(c=this.getDefaultParent()),null!=c)for(var g=this.model.getChildCount(c),k=0;k=a)&&(!e||m.y>=b)&&f.push(l)}return f}; -mxGraph.prototype.findTreeRoots=function(a,b,c){b=null!=b?b:!1;c=null!=c?c:!1;var d=[];if(null!=a){for(var e=this.getModel(),f=e.getChildCount(a),g=null,k=0,l=0;lk&&(k=n,g=m)}}0==d.length&&null!=g&&d.push(g)}return d}; -mxGraph.prototype.traverse=function(a,b,c,d,e,f){if(null!=c&&null!=a&&(b=null!=b?b:!0,f=null!=f?f:!1,e=e||new mxDictionary,!e.get(a)&&(e.put(a,!0),d=c(a,d),null==d||d))&&(d=this.model.getEdgeCount(a),0b?f-1:b)),this.setSelectionCell(a)):this.getCurrentRoot()!=d&&this.setSelectionCell(d)};mxGraph.prototype.selectAll=function(a,b){a=a||this.getDefaultParent();var c=b?this.model.filterDescendants(mxUtils.bind(this,function(b){return b!=a&&null!=this.view.getState(b)}),a):this.model.getChildren(a);null!=c&&this.setSelectionCells(c)};mxGraph.prototype.selectVertices=function(a){this.selectCells(!0,!1,a)}; -mxGraph.prototype.selectEdges=function(a){this.selectCells(!1,!0,a)};mxGraph.prototype.selectCells=function(a,b,c){c=c||this.getDefaultParent();var d=mxUtils.bind(this,function(c){return null!=this.view.getState(c)&&(0==this.model.getChildCount(c)&&this.model.isVertex(c)&&a&&!this.model.isEdge(this.model.getParent(c))||this.model.isEdge(c)&&b)});c=this.model.filterDescendants(d,c);null!=c&&this.setSelectionCells(c)}; -mxGraph.prototype.selectCellForEvent=function(a,b){var c=this.isCellSelected(a);this.isToggleEvent(b)?c?this.removeSelectionCell(a):this.addSelectionCell(a):c&&1==this.getSelectionCount()||this.setSelectionCell(a)};mxGraph.prototype.selectCellsForEvent=function(a,b){this.isToggleEvent(b)?this.addSelectionCells(a):this.setSelectionCells(a)}; -mxGraph.prototype.createHandler=function(a){var b=null;if(null!=a)if(this.model.isEdge(a.cell))var b=a.getVisibleTerminalState(!0),c=a.getVisibleTerminalState(!1),d=this.getCellGeometry(a.cell),b=this.view.getEdgeStyle(a,null!=d?d.points:null,b,c),b=this.createEdgeHandler(a,b);else b=this.createVertexHandler(a);return b};mxGraph.prototype.createVertexHandler=function(a){return new mxVertexHandler(a)}; -mxGraph.prototype.createEdgeHandler=function(a,b){return b==mxEdgeStyle.Loop||b==mxEdgeStyle.ElbowConnector||b==mxEdgeStyle.SideToSide||b==mxEdgeStyle.TopToBottom?this.createElbowEdgeHandler(a):b==mxEdgeStyle.SegmentConnector||b==mxEdgeStyle.OrthConnector?this.createEdgeSegmentHandler(a):new mxEdgeHandler(a)};mxGraph.prototype.createEdgeSegmentHandler=function(a){return new mxEdgeSegmentHandler(a)};mxGraph.prototype.createElbowEdgeHandler=function(a){return new mxElbowEdgeHandler(a)}; -mxGraph.prototype.addMouseListener=function(a){null==this.mouseListeners&&(this.mouseListeners=[]);this.mouseListeners.push(a)};mxGraph.prototype.removeMouseListener=function(a){if(null!=this.mouseListeners)for(var b=0;bthis.doubleClickCounter){if(this.doubleClickCounter++,d=!1,a==mxEvent.MOUSE_UP?b.getCell()==this.lastTouchCell&&null!=this.lastTouchCell&&(this.lastTouchTime=0,d=this.lastTouchCell,this.lastTouchCell=null,mxClient.IS_QUIRKS&&b.getSource().fireEvent("ondblclick"),this.dblClick(b.getEvent(), -d),d=!0):(this.fireDoubleClick=!0,this.lastTouchTime=0),!mxClient.IS_QUIRKS||d){mxEvent.consume(b.getEvent());return}}else{if(null==this.lastTouchEvent||this.lastTouchEvent!=b.getEvent())this.lastTouchCell=b.getCell(),this.lastTouchX=b.getX(),this.lastTouchY=b.getY(),this.lastTouchTime=d,this.lastTouchEvent=b.getEvent(),this.doubleClickCounter=0}else if((this.isMouseDown||a==mxEvent.MOUSE_UP)&&this.fireDoubleClick){this.fireDoubleClick=!1;d=this.lastTouchCell;this.lastTouchCell=null;this.isMouseDown= -!1;(null!=d||(mxEvent.isTouchEvent(b.getEvent())||mxEvent.isPenEvent(b.getEvent()))&&(mxClient.IS_GC||mxClient.IS_SF))&&Math.abs(this.lastTouchX-b.getX())c.x&&(f-=c.x);0>c.y&&(g-=c.y);if(b.translate.x!=f||b.translate.y!=g)b.translate.x=f,b.translate.y=g,a=!0;var c=b.translate,d=this.source.getView().scale,f=d/b.scale,g=1/b.scale,k=this.source.container;this.bounds=new mxRectangle((c.x-e.x-this.source.panDx)/g,(c.y-e.y-this.source.panDy)/g,k.clientWidth/f,k.clientHeight/f);this.bounds.x+=this.source.container.scrollLeft*b.scale/d;this.bounds.y+=this.source.container.scrollTop*b.scale/d;c=this.selectionBorder.bounds;if(c.x!=this.bounds.x|| -c.y!=this.bounds.y||c.width!=this.bounds.width||c.height!=this.bounds.height)this.selectionBorder.bounds=this.bounds,this.selectionBorder.redraw();c=this.sizer.bounds;b=new mxRectangle(this.bounds.x+this.bounds.width-c.width/2,this.bounds.y+this.bounds.height-c.height/2,c.width,c.height);if(c.x!=b.x||c.y!=b.y||c.width!=b.width||c.height!=b.height)this.sizer.bounds=b,"hidden"!=this.sizer.node.style.visibility&&this.sizer.redraw();a&&this.outline.view.revalidate()}}}; -mxOutline.prototype.mouseDown=function(a,b){if(this.enabled&&this.showViewport){var c=mxEvent.isMouseEvent(b.getEvent())?0:this.source.tolerance,c=this.source.allowHandleBoundsCheck&&(mxClient.IS_IE||0=this.max)||!this.source&&(0==this.max||f>=this.max))&&(g+=this.countError+"\n"),null!=this.validNeighbors&&null!=this.typeError&&0mxUtils.indexOf(a,f)&&(f=this.getLayout(f),null!=f&&f.moveCell(a[e],c.x,c.y))}}; -mxLayoutManager.prototype.getCellsForChanges=function(a){for(var b=new mxDictionary,c=[],d=0;dthis.graph.model.getChildCount(d);this.guide.isStateIgnored=mxUtils.bind(this,function(a){var b=this.graph.model.getParent(a.cell);return null!=a.cell&&(!this.cloning&&this.isCellMoving(a.cell)||a.cell!=(this.target||d)&&!e&&(null==this.target||2<=this.graph.model.getChildCount(this.target))&&b!=(this.target||d))})}}; -mxGraphHandler.prototype.addStates=function(a,b){var c=this.graph.view.getState(a),d=0;if(null!=c&&null==b.get(a)){b.put(a,c);d++;for(var c=this.graph.model.getChildCount(a),e=0;ef||Math.abs(d)>f){null==this.highlight&&(this.highlight=new mxCellHighlight(this.graph,mxConstants.DROP_TARGET_COLOR,3));var g=c.isCloneEvent(b.getEvent())&&c.isCellsCloneable()&&this.isCloneEnabled(), -k=c.isGridEnabledEvent(b.getEvent()),l=b.getCell(),f=!0,m=null;this.cloning=g;c.isDropEnabled()&&this.highlightEnabled&&(m=c.getDropTarget(this.cells,b.getEvent(),l,g));var n=c.getView().getState(m),p=!1;null==n||c.model.getParent(this.cell)==m&&!g?(this.target=null,this.connectOnDrop&&null!=l&&1==this.cells.length&&c.getModel().isVertex(l)&&c.isCellConnectable(l)&&(n=c.getView().getState(l),null!=n&&(l=null==c.getEdgeValidationError(null,this.cell,l)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR, -this.setHighlightColor(l),p=!0))):(this.target!=m&&(this.target=m,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),p=!0);null!=n&&p?this.highlight.highlight(n):this.highlight.hide();this.livePreviewActive&&g?(this.resetLivePreview(),this.livePreviewActive=!1):this.maxLivePreview>=this.cellCount&&!this.livePreviewActive&&this.allowLivePreview?(this.setHandlesVisibleForCells(this.cells,!1),this.livePreviewUsed=this.livePreviewActive=!0):this.livePreviewUsed||null!=this.shape||(this.shape=this.createPreviewShape(this.bounds)); -null!=this.guide&&this.useGuidesForEvent(b)?(d=this.guide.move(this.bounds,new mxPoint(e,d),k,g),f=!1,e=d.x,d=d.y):k&&(k=c.getView().translate,n=c.getView().scale,g=this.bounds.x-(c.snap(this.bounds.x/n-k.x)+k.x)*n,k=this.bounds.y-(c.snap(this.bounds.y/n-k.y)+k.y)*n,d=this.snap(new mxPoint(e,d)),e=d.x-g,d=d.y-k);null!=this.guide&&f&&this.guide.hide();c.isConstrainedEvent(b.getEvent())&&(Math.abs(e)>Math.abs(d)?d=0:e=0);this.currentDx=e;this.currentDy=d;this.updatePreview()}this.updateHint(b);this.consumeMouseEvent(mxEvent.MOUSE_MOVE, -b);mxEvent.consume(b.getEvent())}else!this.isMoveEnabled()&&!this.isCloneEnabled()||!this.updateCursor||b.isConsumed()||null==b.getState()&&null==b.sourceState||c.isMouseDown||(e=c.getCursorForMouseEvent(b),null==e&&c.isEnabled()&&c.isCellMovable(b.getCell())&&(e=c.getModel().isEdge(b.getCell())?mxConstants.CURSOR_MOVABLE_EDGE:mxConstants.CURSOR_MOVABLE_VERTEX),null!=e&&null!=b.sourceState&&b.sourceState.setCursor(e))}; -mxGraphHandler.prototype.updatePreview=function(a){this.livePreviewUsed&&!a?null!=this.cells&&this.updateLivePreview(this.currentDx,this.currentDy):this.updatePreviewShape()};mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx),Math.round(this.pBounds.y+this.currentDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())}; -mxGraphHandler.prototype.updateLivePreview=function(a,b){var c=[];null!=this.allCells&&this.allCells.visit(mxUtils.bind(this,function(d,e){var f=e.clone();c.push([e,f]);null!=e.shape&&(null==e.shape.originalPointerEvents&&(e.shape.originalPointerEvents=e.shape.pointerEvents),e.shape.pointerEvents=!1,null!=e.text&&null!=e.text.node&&(f=e.text.node,null!=f.firstChild&&null!=f.firstChild.firstChild&&"foreignObject"==f.firstChild.firstChild.nodeName?f.firstChild.firstChild.setAttribute("pointer-events", -"none"):null!=f.ownerSVGElement?f.setAttribute("pointer-events","none"):f.style.pointerEvents="none"));this.graph.model.isVertex(e.cell)&&(e.x+=a,e.y+=b,this.cloning||(e.view.graph.cellRenderer.redraw(e,!0),e.view.invalidate(e.cell),e.invalid=!1),null!=e.control&&null!=e.control.node&&(e.control.node.style.visibility="hidden"))}));for(var d=this.graph.view.scale,e=0;ethis.graph.tolerance||Math.abs(this.dy)>this.graph.tolerance;!c&&this.active&&this.fireEvent(new mxEventObject(mxEvent.PAN_START, -"event",b))}(this.active||this.panningTrigger)&&b.consume()};mxPanningHandler.prototype.mouseUp=function(a,b){if(this.active){if(null!=this.dx&&null!=this.dy){if(!this.graph.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.graph.container)){var c=this.graph.getView().scale,d=this.graph.getView().translate;this.graph.panGraph(0,0);this.panGraph(d.x+this.dx/c,d.y+this.dy/c)}b.consume()}this.fireEvent(new mxEventObject(mxEvent.PAN_END,"event",b))}this.reset()}; -mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)};mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)}; -function mxPopupMenuHandler(a,b){null!=a&&(this.graph=a,this.factoryMethod=b,this.graph.addMouseListener(this),this.gestureHandler=mxUtils.bind(this,function(a,b){this.inTolerance=!1}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.init())}mxPopupMenuHandler.prototype=new mxPopupMenu;mxPopupMenuHandler.prototype.constructor=mxPopupMenuHandler;mxPopupMenuHandler.prototype.graph=null;mxPopupMenuHandler.prototype.selectOnPopup=!0; -mxPopupMenuHandler.prototype.clearSelectionOnBackground=!0;mxPopupMenuHandler.prototype.triggerX=null;mxPopupMenuHandler.prototype.triggerY=null;mxPopupMenuHandler.prototype.screenX=null;mxPopupMenuHandler.prototype.screenY=null;mxPopupMenuHandler.prototype.init=function(){mxPopupMenu.prototype.init.apply(this);mxEvent.addGestureListeners(this.div,mxUtils.bind(this,function(a){this.graph.tooltipHandler.hide()}))};mxPopupMenuHandler.prototype.isSelectOnPopup=function(a){return this.selectOnPopup}; -mxPopupMenuHandler.prototype.mouseDown=function(a,b){this.isEnabled()&&!mxEvent.isMultiTouchEvent(b.getEvent())&&(this.hideMenu(),this.triggerX=b.getGraphX(),this.triggerY=b.getGraphY(),this.screenX=mxEvent.getMainEvent(b.getEvent()).screenX,this.screenY=mxEvent.getMainEvent(b.getEvent()).screenY,this.popupTrigger=this.isPopupTrigger(b),this.inTolerance=!0)}; -mxPopupMenuHandler.prototype.mouseMove=function(a,b){this.inTolerance&&null!=this.screenX&&null!=this.screenY&&(Math.abs(mxEvent.getMainEvent(b.getEvent()).screenX-this.screenX)>this.graph.tolerance||Math.abs(mxEvent.getMainEvent(b.getEvent()).screenY-this.screenY)>this.graph.tolerance)&&(this.inTolerance=!1)}; -mxPopupMenuHandler.prototype.mouseUp=function(a,b){if(this.popupTrigger&&this.inTolerance&&null!=this.triggerX&&null!=this.triggerY){var c=this.getCellForPopupEvent(b);this.graph.isEnabled()&&this.isSelectOnPopup(b)&&null!=c&&!this.graph.isCellSelected(c)?this.graph.setSelectionCell(c):this.clearSelectionOnBackground&&null==c&&this.graph.clearSelection();this.graph.tooltipHandler.hide();var d=mxUtils.getScrollOrigin();this.popup(b.getX()+d.x+1,b.getY()+d.y+1,c,b.getEvent());b.consume()}this.inTolerance= -this.popupTrigger=!1};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){return a.getCell()};mxPopupMenuHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.gestureHandler);mxPopupMenu.prototype.destroy.apply(this)}; -function mxCellMarker(a,b,c,d){mxEventSource.call(this);null!=a&&(this.graph=a,this.validColor=null!=b?b:mxConstants.DEFAULT_VALID_COLOR,this.invalidColor=null!=c?c:mxConstants.DEFAULT_INVALID_COLOR,this.hotspot=null!=d?d:mxConstants.DEFAULT_HOTSPOT,this.highlight=new mxCellHighlight(a))}mxUtils.extend(mxCellMarker,mxEventSource);mxCellMarker.prototype.graph=null;mxCellMarker.prototype.enabled=!0;mxCellMarker.prototype.hotspot=mxConstants.DEFAULT_HOTSPOT;mxCellMarker.prototype.hotspotEnabled=!1; -mxCellMarker.prototype.validColor=null;mxCellMarker.prototype.invalidColor=null;mxCellMarker.prototype.currentColor=null;mxCellMarker.prototype.validState=null;mxCellMarker.prototype.markedState=null;mxCellMarker.prototype.setEnabled=function(a){this.enabled=a};mxCellMarker.prototype.isEnabled=function(){return this.enabled};mxCellMarker.prototype.setHotspot=function(a){this.hotspot=a};mxCellMarker.prototype.getHotspot=function(){return this.hotspot}; -mxCellMarker.prototype.setHotspotEnabled=function(a){this.hotspotEnabled=a};mxCellMarker.prototype.isHotspotEnabled=function(){return this.hotspotEnabled};mxCellMarker.prototype.hasValidState=function(){return null!=this.validState};mxCellMarker.prototype.getValidState=function(){return this.validState};mxCellMarker.prototype.getMarkedState=function(){return this.markedState};mxCellMarker.prototype.reset=function(){this.validState=null;null!=this.markedState&&(this.markedState=null,this.unmark())}; -mxCellMarker.prototype.process=function(a){var b=null;this.isEnabled()&&(b=this.getState(a),this.setCurrentState(b,a));return b};mxCellMarker.prototype.setCurrentState=function(a,b,c){var d=null!=a?this.isValidState(a):!1;c=null!=c?c:this.getMarkerColor(b.getEvent(),a,d);this.validState=d?a:null;if(a!=this.markedState||c!=this.currentColor)this.currentColor=c,null!=a&&null!=this.currentColor?(this.markedState=a,this.mark()):null!=this.markedState&&(this.markedState=null,this.unmark())}; -mxCellMarker.prototype.markCell=function(a,b){var c=this.graph.getView().getState(a);null!=c&&(this.currentColor=null!=b?b:this.validColor,this.markedState=c,this.mark())};mxCellMarker.prototype.mark=function(){this.highlight.setHighlightColor(this.currentColor);this.highlight.highlight(this.markedState);this.fireEvent(new mxEventObject(mxEvent.MARK,"state",this.markedState))};mxCellMarker.prototype.unmark=function(){this.mark()};mxCellMarker.prototype.isValidState=function(a){return!0}; -mxCellMarker.prototype.getMarkerColor=function(a,b,c){return c?this.validColor:this.invalidColor};mxCellMarker.prototype.getState=function(a){var b=this.graph.getView(),c=this.getCell(a),b=this.getStateToMark(b.getState(c));return null!=b&&this.intersects(b,a)?b:null};mxCellMarker.prototype.getCell=function(a){return a.getCell()};mxCellMarker.prototype.getStateToMark=function(a){return a}; -mxCellMarker.prototype.intersects=function(a,b){return this.hotspotEnabled?mxUtils.intersectsHotspot(a,b.getGraphX(),b.getGraphY(),this.hotspot,mxConstants.MIN_HOTSPOT_SIZE,mxConstants.MAX_HOTSPOT_SIZE):!0};mxCellMarker.prototype.destroy=function(){this.graph.getView().removeListener(this.resetHandler);this.graph.getModel().removeListener(this.resetHandler);this.highlight.destroy()}; -function mxSelectionCellsHandler(a){mxEventSource.call(this);this.graph=a;this.handlers=new mxDictionary;this.graph.addMouseListener(this);this.refreshHandler=mxUtils.bind(this,function(a,c){this.isEnabled()&&this.refresh()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.refreshHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler);this.graph.getView().addListener(mxEvent.SCALE,this.refreshHandler);this.graph.getView().addListener(mxEvent.TRANSLATE,this.refreshHandler); -this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE,this.refreshHandler);this.graph.getView().addListener(mxEvent.DOWN,this.refreshHandler);this.graph.getView().addListener(mxEvent.UP,this.refreshHandler)}mxUtils.extend(mxSelectionCellsHandler,mxEventSource);mxSelectionCellsHandler.prototype.graph=null;mxSelectionCellsHandler.prototype.enabled=!0;mxSelectionCellsHandler.prototype.refreshHandler=null;mxSelectionCellsHandler.prototype.maxHandlers=100; -mxSelectionCellsHandler.prototype.handlers=null;mxSelectionCellsHandler.prototype.isEnabled=function(){return this.enabled};mxSelectionCellsHandler.prototype.setEnabled=function(a){this.enabled=a};mxSelectionCellsHandler.prototype.getHandler=function(a){return this.handlers.get(a)};mxSelectionCellsHandler.prototype.reset=function(){this.handlers.visit(function(a,b){b.reset.apply(b)})}; -mxSelectionCellsHandler.prototype.refresh=function(){var a=this.handlers;this.handlers=new mxDictionary;for(var b=this.graph.getSelectionCells(),c=0;cthis.graph.tolerance||Math.abs(b.getGraphY()-this.first.y)>this.graph.tolerance)&&this.updateCurrentState(b,c);if(null!=this.first){var f=null,d=c;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint?(f=this.constraintHandler.currentConstraint, -d=this.constraintHandler.currentPoint.clone()):null!=this.previous&&!this.graph.isIgnoreTerminalEvent(b.getEvent())&&mxEvent.isShiftDown(b.getEvent())&&(Math.abs(this.previous.getCenterX()-c.x)this.graph.tolerance||g>this.graph.tolerance)&&(this.shape=this.createShape(),null!=this.edgeState&&this.shape.apply(this.edgeState),this.updateCurrentState(b,c));null!=this.shape&&(null!=this.edgeState?this.shape.points=this.edgeState.absolutePoints:(c=[e],null!=this.waypoints&&(c=c.concat(this.waypoints)),c.push(d),this.shape.points=c),this.drawPreview()); -null!=this.cursor&&(this.graph.container.style.cursor=this.cursor);mxEvent.consume(b.getEvent());b.consume()}else this.isEnabled()&&this.graph.isEnabled()?this.previous!=this.currentState&&null==this.edgeState?(this.destroyIcons(),null!=this.currentState&&null==this.error&&null==this.constraintHandler.currentConstraint&&(this.icons=this.createIcons(this.currentState),null==this.icons&&(this.currentState.setCursor(mxConstants.CURSOR_CONNECT),b.consume())),this.previous=this.currentState):this.previous!= -this.currentState||null==this.currentState||null!=this.icons||this.graph.isMouseDown||b.consume():this.constraintHandler.reset();if(!this.graph.isMouseDown&&null!=this.currentState&&null!=this.icons){c=!1;d=b.getSource();for(e=0;ethis.graph.tolerance||b>this.graph.tolerance))null==this.waypoints&&(this.waypoints=[]),c=this.graph.view.scale,b=new mxPoint(this.graph.snap(a.getGraphX()/c)*c,this.graph.snap(a.getGraphY()/c)*c),this.waypoints.push(b)}; -mxConnectionHandler.prototype.checkConstraints=function(a,b){return null==a||null==b||null==a.point||null==b.point||!a.point.equals(b.point)||a.dx!=b.dx||a.dy!=b.dy||a.perimeter!=b.perimeter}; -mxConnectionHandler.prototype.mouseUp=function(a,b){if(!b.isConsumed()&&this.isConnecting()){if(this.waypointsEnabled&&!this.isStopEvent(b)){this.addWaypointForEvent(b);b.consume();return}var c=this.sourceConstraint,d=this.constraintHandler.currentConstraint,e=null!=this.previous?this.previous.cell:null,f=null;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(f=this.constraintHandler.currentFocus.cell);null==f&&null!=this.currentState&&(f=this.currentState.cell); -null!=this.error||null!=e&&null!=f&&e==f&&!this.checkConstraints(c,d)?(null!=this.previous&&null!=this.marker.validState&&this.previous.cell==this.marker.validState.cell&&this.graph.selectCellForEvent(this.marker.source,b.getEvent()),null!=this.error&&0g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c),b.consume()}}; -mxRubberband.prototype.createShape=function(){null==this.sharedDiv&&(this.sharedDiv=document.createElement("div"),this.sharedDiv.className="mxRubberband",mxUtils.setOpacity(this.sharedDiv,this.defaultOpacity));this.graph.container.appendChild(this.sharedDiv);var a=this.sharedDiv;mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&this.fadeOut&&(this.sharedDiv=null);return a};mxRubberband.prototype.isActive=function(a,b){return null!=this.div&&"none"!=this.div.style.display}; -mxRubberband.prototype.mouseUp=function(a,b){var c=this.isActive();this.reset();c&&(this.execute(b.getEvent()),b.consume())};mxRubberband.prototype.execute=function(a){var b=new mxRectangle(this.x,this.y,this.width,this.height);this.graph.selectRegion(b,a)}; -mxRubberband.prototype.reset=function(){if(null!=this.div)if(mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&this.fadeOut){var a=this.div;mxUtils.setPrefixedStyle(a.style,"transition","all 0.2s linear");a.style.pointerEvents="none";a.style.opacity=0;window.setTimeout(function(){a.parentNode.removeChild(a)},200)}else this.div.parentNode.removeChild(this.div);mxEvent.removeGestureListeners(document,null,this.dragHandler,this.dropHandler);this.dropHandler=this.dragHandler=null;this.currentY= -this.currentX=0;this.div=this.first=null};mxRubberband.prototype.update=function(a,b){this.currentX=a;this.currentY=b;this.repaint()}; -mxRubberband.prototype.repaint=function(){if(null!=this.div){var a=this.currentX-this.graph.panDx,b=this.currentY-this.graph.panDy;this.x=Math.min(this.first.x,a);this.y=Math.min(this.first.y,b);this.width=Math.max(this.first.x,a)-this.x;this.height=Math.max(this.first.y,b)-this.y;a=mxClient.IS_VML?this.graph.panDy:0;this.div.style.left=this.x+(mxClient.IS_VML?this.graph.panDx:0)+"px";this.div.style.top=this.y+a+"px";this.div.style.width=Math.max(1,this.width)+"px";this.div.style.height=Math.max(1, -this.height)+"px"}};mxRubberband.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.graph.removeMouseListener(this),this.graph.removeListener(this.forceRubberbandHandler),this.graph.removeListener(this.panHandler),this.reset(),null!=this.sharedDiv&&(this.sharedDiv=null))};function mxHandle(a,b,c){this.graph=a.view.graph;this.state=a;this.cursor=null!=b?b:this.cursor;this.image=null!=c?c:this.image;this.init()}mxHandle.prototype.cursor="default";mxHandle.prototype.image=null; -mxHandle.prototype.ignoreGrid=!1;mxHandle.prototype.getPosition=function(a){};mxHandle.prototype.setPosition=function(a,b,c){};mxHandle.prototype.execute=function(){};mxHandle.prototype.copyStyle=function(a){this.graph.setCellStyles(a,this.state.style[a],[this.state.cell])}; -mxHandle.prototype.processEvent=function(a){var b=this.graph.view.scale,c=this.graph.view.translate,c=new mxPoint(a.getGraphX()/b-c.x,a.getGraphY()/b-c.y);null!=this.shape&&null!=this.shape.bounds&&(c.x-=this.shape.bounds.width/b/4,c.y-=this.shape.bounds.height/b/4);var b=-mxUtils.toRadians(this.getRotation()),d=-mxUtils.toRadians(this.getTotalRotation())-b,c=this.flipPoint(this.rotatePoint(this.snapPoint(this.rotatePoint(c,b),this.ignoreGrid||!this.graph.isGridEnabledEvent(a.getEvent())),d));this.setPosition(this.state.getPaintBounds(), -c,a);this.positionChanged();this.redraw()};mxHandle.prototype.positionChanged=function(){null!=this.state.text&&this.state.text.apply(this.state);null!=this.state.shape&&this.state.shape.apply(this.state);this.graph.cellRenderer.redraw(this.state,!0)};mxHandle.prototype.getRotation=function(){return null!=this.state.shape?this.state.shape.getRotation():0};mxHandle.prototype.getTotalRotation=function(){return null!=this.state.shape?this.state.shape.getShapeRotation():0}; -mxHandle.prototype.init=function(){var a=this.isHtmlRequired();null!=this.image?(this.shape=new mxImageShape(new mxRectangle(0,0,this.image.width,this.image.height),this.image.src),this.shape.preserveImageAspect=!1):this.shape=this.createShape(a);this.initShape(a)};mxHandle.prototype.createShape=function(a){a=new mxRectangle(0,0,mxConstants.HANDLE_SIZE,mxConstants.HANDLE_SIZE);return new mxRectangleShape(a,mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)}; -mxHandle.prototype.initShape=function(a){a&&this.shape.isHtmlAllowed()?(this.shape.dialect=mxConstants.DIALECT_STRICTHTML,this.shape.init(this.graph.container)):(this.shape.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG,null!=this.cursor&&this.shape.init(this.graph.getView().getOverlayPane()));mxEvent.redirectMouseEvents(this.shape.node,this.graph,this.state);this.shape.node.style.cursor=this.cursor}; -mxHandle.prototype.redraw=function(){if(null!=this.shape&&null!=this.state.shape){var a=this.getPosition(this.state.getPaintBounds());if(null!=a){var b=mxUtils.toRadians(this.getTotalRotation()),a=this.rotatePoint(this.flipPoint(a),b),b=this.graph.view.scale,c=this.graph.view.translate;this.shape.bounds.x=Math.floor((a.x+c.x)*b-this.shape.bounds.width/2);this.shape.bounds.y=Math.floor((a.y+c.y)*b-this.shape.bounds.height/2);this.shape.redraw()}}}; -mxHandle.prototype.isHtmlRequired=function(){return null!=this.state.text&&this.state.text.node.parentNode==this.graph.container};mxHandle.prototype.rotatePoint=function(a,b){var c=this.state.getCellBounds(),c=new mxPoint(c.getCenterX(),c.getCenterY());return mxUtils.getRotatedPoint(a,Math.cos(b),Math.sin(b),c)}; -mxHandle.prototype.flipPoint=function(a){if(null!=this.state.shape){var b=this.state.getCellBounds();this.state.shape.flipH&&(a.x=2*b.x+b.width-a.x);this.state.shape.flipV&&(a.y=2*b.y+b.height-a.y)}return a};mxHandle.prototype.snapPoint=function(a,b){b||(a.x=this.graph.snap(a.x),a.y=this.graph.snap(a.y));return a};mxHandle.prototype.setVisible=function(a){null!=this.shape&&null!=this.shape.node&&(this.shape.node.style.display=a?"":"none")}; -mxHandle.prototype.reset=function(){this.setVisible(!0);this.state.style=this.graph.getCellStyle(this.state.cell);this.positionChanged()};mxHandle.prototype.destroy=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null)}; -function mxVertexHandler(a){null!=a&&(this.state=a,this.init(),this.escapeHandler=mxUtils.bind(this,function(a,c){this.livePreview&&null!=this.index&&(this.state.view.graph.cellRenderer.redraw(this.state,!0),this.state.view.invalidate(this.state.cell),this.state.invalid=!1,this.state.view.validate());this.reset()}),this.state.view.graph.addListener(mxEvent.ESCAPE,this.escapeHandler))}mxVertexHandler.prototype.graph=null;mxVertexHandler.prototype.state=null;mxVertexHandler.prototype.singleSizer=!1; -mxVertexHandler.prototype.index=null;mxVertexHandler.prototype.allowHandleBoundsCheck=!0;mxVertexHandler.prototype.handleImage=null;mxVertexHandler.prototype.tolerance=0;mxVertexHandler.prototype.rotationEnabled=!1;mxVertexHandler.prototype.parentHighlightEnabled=!1;mxVertexHandler.prototype.rotationRaster=!0;mxVertexHandler.prototype.rotationCursor="crosshair";mxVertexHandler.prototype.livePreview=!1;mxVertexHandler.prototype.manageSizers=!1;mxVertexHandler.prototype.constrainGroupByChildren=!1; -mxVertexHandler.prototype.rotationHandleVSpacing=-16;mxVertexHandler.prototype.horizontalOffset=0;mxVertexHandler.prototype.verticalOffset=0; -mxVertexHandler.prototype.init=function(){this.graph=this.state.view.graph;this.selectionBounds=this.getSelectionBounds(this.state);this.bounds=new mxRectangle(this.selectionBounds.x,this.selectionBounds.y,this.selectionBounds.width,this.selectionBounds.height);this.selectionBorder=this.createSelectionShape(this.bounds);this.selectionBorder.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG;this.selectionBorder.pointerEvents=!1;this.selectionBorder.rotation= -Number(this.state.style[mxConstants.STYLE_ROTATION]||"0");this.selectionBorder.init(this.graph.getView().getOverlayPane());mxEvent.redirectMouseEvents(this.selectionBorder.node,this.graph,this.state);this.graph.isCellMovable(this.state.cell)&&this.selectionBorder.setCursor(mxConstants.CURSOR_MOVABLE_VERTEX);if(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()this.state.width&&2>this.state.height&&(this.labelShape=this.createSizer(mxConstants.CURSOR_MOVABLE_VERTEX,mxEvent.LABEL_HANDLE, -null,mxConstants.LABEL_HANDLE_FILLCOLOR),this.sizers.push(this.labelShape))}this.isRotationHandleVisible()&&(this.rotationShape=this.createSizer(this.rotationCursor,mxEvent.ROTATION_HANDLE,mxConstants.HANDLE_SIZE+3,mxConstants.HANDLE_FILLCOLOR),this.sizers.push(this.rotationShape));this.customHandles=this.createCustomHandles();this.redraw();this.constrainGroupByChildren&&this.updateMinBounds()}; -mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()this.graph.tolerance||Math.abs(a.getGraphY()-this.startY)>this.graph.tolerance)&&(this.inTolerance=!1)};mxVertexHandler.prototype.updateHint=function(a){};mxVertexHandler.prototype.removeHint=function(){};mxVertexHandler.prototype.roundAngle=function(a){return Math.round(10*a)/10}; -mxVertexHandler.prototype.roundLength=function(a){return Math.round(a)}; -mxVertexHandler.prototype.mouseMove=function(a,b){b.isConsumed()||null==this.index?this.graph.isMouseDown||null==this.getHandleForEvent(b)||b.consume(!1):(this.checkTolerance(b),this.inTolerance||(this.index<=mxEvent.CUSTOM_HANDLE?null!=this.customHandles&&(this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(b),this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].active=!0):this.index==mxEvent.LABEL_HANDLE?this.moveLabel(b):this.index==mxEvent.ROTATION_HANDLE?this.rotateVertex(b):this.resizeVertex(b), -this.updateHint(b)),b.consume())};mxVertexHandler.prototype.moveLabel=function(a){var b=new mxPoint(a.getGraphX(),a.getGraphY()),c=this.graph.view.translate,d=this.graph.view.scale;this.graph.isGridEnabledEvent(a.getEvent())&&(b.x=(this.graph.snap(b.x/d-c.x)+c.x)*d,b.y=(this.graph.snap(b.y/d-c.y)+c.y)*d);this.moveSizerTo(this.sizers[null!=this.rotationShape?this.sizers.length-2:this.sizers.length-1],b.x,b.y)}; -mxVertexHandler.prototype.rotateVertex=function(a){var b=new mxPoint(a.getGraphX(),a.getGraphY()),c=this.state.x+this.state.width/2-b.x,d=this.state.y+this.state.height/2-b.y;this.currentAlpha=0!=c?180*Math.atan(d/c)/Math.PI+90:0>d?180:0;0k.x+k.width&&(this.unscaledBounds.width-=this.unscaledBounds.x+this.unscaledBounds.width-k.x-k.width),this.unscaledBounds.y+this.unscaledBounds.height> -k.y+k.height&&(this.unscaledBounds.height-=this.unscaledBounds.y+this.unscaledBounds.height-k.y-k.height)));this.bounds=new mxRectangle((null!=this.parentState?this.parentState.x:e.x*f)+this.unscaledBounds.x*f,(null!=this.parentState?this.parentState.y:e.y*f)+this.unscaledBounds.y*f,this.unscaledBounds.width*f,this.unscaledBounds.height*f);g.relative&&null!=this.parentState&&(this.bounds.x+=this.state.x-this.parentState.x,this.bounds.y+=this.state.y-this.parentState.y);g=Math.cos(c);k=Math.sin(c); -c=new mxPoint(this.bounds.getCenterX(),this.bounds.getCenterY());l=c.x-b.x;d=c.y-b.y;b=g*l-k*d-l;c=k*l+g*d-d;l=this.bounds.x-this.state.x;d=this.bounds.y-this.state.y;e=g*l-k*d;g=k*l+g*d;this.bounds.x+=b;this.bounds.y+=c;this.unscaledBounds.x=this.roundLength(this.unscaledBounds.x+b/f);this.unscaledBounds.y=this.roundLength(this.unscaledBounds.y+c/f);this.unscaledBounds.width=this.roundLength(this.unscaledBounds.width);this.unscaledBounds.height=this.roundLength(this.unscaledBounds.height);this.graph.isCellCollapsed(this.state.cell)|| -0==b&&0==c?this.childOffsetY=this.childOffsetX=0:(this.childOffsetX=this.state.x-this.bounds.x+e,this.childOffsetY=this.state.y-this.bounds.y+g);this.livePreviewActive&&this.updateLivePreview(a);null!=this.preview&&this.drawPreview()}; -mxVertexHandler.prototype.updateLivePreview=function(a){var b=this.graph.view.scale,c=this.graph.view.translate;a=this.state.clone();this.state.x=this.bounds.x;this.state.y=this.bounds.y;this.state.origin=new mxPoint(this.state.x/b-c.x,this.state.y/b-c.y);this.state.width=this.bounds.width;this.state.height=this.bounds.height;this.state.unscaledWidth=null;b=this.state.absoluteOffset;new mxPoint(b.x,b.y);this.state.absoluteOffset.x=0;this.state.absoluteOffset.y=0;b=this.graph.getCellGeometry(this.state.cell); -null!=b&&(c=b.offset||this.EMPTY_POINT,null==c||b.relative||(this.state.absoluteOffset.x=this.state.view.scale*c.x,this.state.absoluteOffset.y=this.state.view.scale*c.y),this.state.view.updateVertexLabelOffset(this.state));this.state.view.graph.cellRenderer.redraw(this.state,!0);this.state.view.invalidate(this.state.cell);this.state.invalid=!1;this.state.view.validate();this.redrawHandles();null!=this.state.control&&null!=this.state.control.node&&(this.state.control.node.style.visibility="hidden"); -this.state.setState(a)}; -mxVertexHandler.prototype.mouseUp=function(a,b){if(null!=this.index&&null!=this.state){var c=new mxPoint(b.getGraphX(),b.getGraphY()),d=this.index;this.index=null;this.graph.getModel().beginUpdate();try{if(d<=mxEvent.CUSTOM_HANDLE)null!=this.customHandles&&(this.customHandles[mxEvent.CUSTOM_HANDLE-d].active=!1,this.customHandles[mxEvent.CUSTOM_HANDLE-d].execute());else if(d==mxEvent.ROTATION_HANDLE)if(null!=this.currentAlpha){var e=this.currentAlpha-(this.state.style[mxConstants.STYLE_ROTATION]||0); -0!=e&&this.rotateCell(this.state.cell,e)}else this.rotateClick();else{var f=this.graph.isGridEnabledEvent(b.getEvent()),g=mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION]||"0"),k=Math.cos(-g),l=Math.sin(-g),m=c.x-this.startX,n=c.y-this.startY,c=l*m+k*n,m=k*m-l*n,n=c,p=this.graph.view.scale,q=this.isRecursiveResize(this.state,b);this.resizeCell(this.state.cell,this.roundLength(m/p),this.roundLength(n/p),d,f,this.isConstrainedEvent(b),q)}}finally{this.graph.getModel().endUpdate()}b.consume(); -this.reset()}};mxVertexHandler.prototype.isRecursiveResize=function(a,b){return this.graph.isRecursiveResize(this.state)};mxVertexHandler.prototype.rotateClick=function(){}; -mxVertexHandler.prototype.rotateCell=function(a,b,c){if(0!=b){var d=this.graph.getModel();if(d.isVertex(a)||d.isEdge(a)){if(!d.isEdge(a)){var e=this.graph.view.getState(a),e=null!=e?e.style:this.graph.getCellStyle(a);null!=e&&this.graph.setCellStyles(mxConstants.STYLE_ROTATION,(e[mxConstants.STYLE_ROTATION]||0)+b,[a])}e=this.graph.getCellGeometry(a);if(null!=e){var f=this.graph.getCellGeometry(c);null==f||d.isEdge(c)||(e=e.clone(),e.rotate(b,new mxPoint(f.width/2,f.height/2)),d.setGeometry(a,e)); -if(d.isVertex(a)&&!e.relative||d.isEdge(a))for(c=d.getChildCount(a),e=0;ed&&(a+=c,e&&(a=this.graph.snap(a/f)*f));if(0==d||3==d||5==d)p+=b,e&&(p=this.graph.snap(p/f)*f);else if(2==d||4==d||7==d)q+=b,e&&(q=this.graph.snap(q/ -f)*f);e=q-p;c=r-a;k&&(k=this.graph.getCellGeometry(this.state.cell),null!=k&&(k=k.width/k.height,1==d||2==d||7==d||6==d?e=c*k:c=e/k,0==d&&(p=q-e,a=r-c)));l&&(e+=e-m,c+=c-n,p+=t-(p+e/2),a+=u-(a+c/2));0>e&&(p+=e,e=Math.abs(e));0>c&&(a+=c,c=Math.abs(c));d=new mxRectangle(p+g.x*f,a+g.y*f,e,c);null!=this.minBounds&&(d.width=Math.max(d.width,this.minBounds.x*f+this.minBounds.width*f+Math.max(0,this.x0*f-d.x)),d.height=Math.max(d.height,this.minBounds.y*f+this.minBounds.height*f+Math.max(0,this.y0*f-d.y))); -return d};mxVertexHandler.prototype.redraw=function(a){this.selectionBounds=this.getSelectionBounds(this.state);this.bounds=new mxRectangle(this.selectionBounds.x,this.selectionBounds.y,this.selectionBounds.width,this.selectionBounds.height);this.drawPreview();a||this.redrawHandles()}; -mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),b=this.tolerance;null!=this.sizers&&0=mxGraphHandler.prototype.maxCells)this.bends=this.createBends(),this.isVirtualBendsEnabled()&&(this.virtualBends=this.createVirtualBends());this.label=new mxPoint(this.state.absoluteOffset.x,this.state.absoluteOffset.y);this.labelShape=this.createLabelHandleShape();this.initBend(this.labelShape);this.labelShape.setCursor(mxConstants.CURSOR_LABEL_HANDLE);this.customHandles=this.createCustomHandles();this.redraw()};mxEdgeHandler.prototype.createCustomHandles=function(){return null}; -mxEdgeHandler.prototype.isVirtualBendsEnabled=function(a){return this.virtualBendsEnabled&&(null==this.state.style[mxConstants.STYLE_EDGE]||this.state.style[mxConstants.STYLE_EDGE]==mxConstants.NONE||1==this.state.style[mxConstants.STYLE_NOEDGESTYLE])&&"arrow"!=mxUtils.getValue(this.state.style,mxConstants.STYLE_SHAPE,null)};mxEdgeHandler.prototype.isAddPointEvent=function(a){return mxEvent.isShiftDown(a)};mxEdgeHandler.prototype.isRemovePointEvent=function(a){return mxEvent.isShiftDown(a)}; -mxEdgeHandler.prototype.getSelectionPoints=function(a){return a.absolutePoints};mxEdgeHandler.prototype.createParentHighlightShape=function(a){a=new mxRectangleShape(a,null,this.getSelectionColor());a.strokewidth=this.getSelectionStrokeWidth();a.isDashed=this.isSelectionDashed();return a};mxEdgeHandler.prototype.createSelectionShape=function(a){a=new this.state.shape.constructor;a.outline=!0;a.apply(this.state);a.isDashed=this.isSelectionDashed();a.stroke=this.getSelectionColor();a.isShadow=!1;return a}; -mxEdgeHandler.prototype.getSelectionColor=function(){return mxConstants.EDGE_SELECTION_COLOR};mxEdgeHandler.prototype.getSelectionStrokeWidth=function(){return mxConstants.EDGE_SELECTION_STROKEWIDTH};mxEdgeHandler.prototype.isSelectionDashed=function(){return mxConstants.EDGE_SELECTION_DASHED};mxEdgeHandler.prototype.isConnectableCell=function(a){return!0};mxEdgeHandler.prototype.getCellAt=function(a,b){return this.outlineConnect?null:this.graph.getCellAt(a,b)}; -mxEdgeHandler.prototype.createMarker=function(){var a=new mxCellMarker(this.graph),b=this;a.getCell=function(a){var c=mxCellMarker.prototype.getCell.apply(this,arguments);c!=b.state.cell&&null!=c||null==b.currentPoint||(c=b.graph.getCellAt(b.currentPoint.x,b.currentPoint.y));if(null!=c&&!this.graph.isCellConnectable(c)){var e=this.graph.getModel().getParent(c);this.graph.getModel().isVertex(e)&&this.graph.isCellConnectable(e)&&(c=e)}e=b.graph.getModel();if(this.graph.isSwimlane(c)&&null!=b.currentPoint&& -this.graph.hitsSwimlaneContent(c,b.currentPoint.x,b.currentPoint.y)||!b.isConnectableCell(c)||c==b.state.cell||null!=c&&!b.graph.connectableEdges&&e.isEdge(c)||e.isAncestor(b.state.cell,c))c=null;this.graph.isCellConnectable(c)||(c=null);return c};a.isValidState=function(a){var c=b.graph.getModel(),c=b.graph.view.getTerminalPort(a,b.graph.view.getState(c.getTerminal(b.state.cell,!b.isSource)),!b.isSource),c=null!=c?c.cell:null;b.error=b.validateConnection(b.isSource?a.cell:c,b.isSource?c:a.cell); -return null==b.error};return a};mxEdgeHandler.prototype.validateConnection=function(a,b){return this.graph.getEdgeValidationError(this.state.cell,a,b)}; -mxEdgeHandler.prototype.createBends=function(){for(var a=this.state.cell,b=[],c=0;c -mxEvent.VIRTUAL_HANDLE&&null!=this.customHandles)for(c=0;cmxEvent.VIRTUAL_HANDLE&&(c[this.index-1]=d)}return null!=e?e:c}; -mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){var b=mxUtils.getOffset(this.graph.container),c=a.getEvent(),d=mxEvent.getClientX(c),c=mxEvent.getClientY(c),e=document.documentElement,f=this.currentPoint.x-this.graph.container.scrollLeft+b.x-((window.pageXOffset||e.scrollLeft)-(e.clientLeft||0)),b=this.currentPoint.y-this.graph.container.scrollTop+b.y-((window.pageYOffset||e.scrollTop)-(e.clientTop||0));return this.outlineConnect&&!mxEvent.isShiftDown(a.getEvent())&&(a.isSource(this.marker.highlight.shape)|| -mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHighlightAt(d,c)||(f!=d||b!=c)&&null==a.getState()&&this.marker.highlight.isHighlightAt(f,b))}; -mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d,e){var f=this.isSource?c:this.state.getVisibleTerminalState(!0),g=this.isTarget?c:this.state.getVisibleTerminalState(!1),k=this.graph.getConnectionConstraint(a,f,!0),l=this.graph.getConnectionConstraint(a,g,!1),m=this.constraintHandler.currentConstraint;null==m&&e&&(null!=c?(d.isSource(this.marker.highlight.shape)&&(b=new mxPoint(d.getGraphX(),d.getGraphY())),m=this.graph.getOutlineConstraint(b,c,d),this.constraintHandler.setFocus(d,c,this.isSource), -this.constraintHandler.currentConstraint=m,this.constraintHandler.currentPoint=b):m=new mxConnectionConstraint);if(this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape){var n=this.graph.view.scale;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=e?mxConstants.OUTLINE_HIGHLIGHT_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint()): -this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.marker.getValidState()==d.getState()?mxConstants.DEFAULT_VALID_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint())}this.isSource?k=m:this.isTarget&&(l=m);if(this.isSource||this.isTarget)null!=m&&null!=m.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=m.point.x,a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]= -m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(f,!0);a.setVisibleTerminalState(g,!1);this.isSource&&null==f||a.view.updateFixedTerminalPoint(a,f,!0,k);this.isTarget&&null==g||a.view.updateFixedTerminalPoint(a,g,!1,l);(this.isSource||this.isTarget)&&null==c&&(a.setAbsoluteTerminalPoint(b,this.isSource),null==this.marker.getMarkedState()&&(this.error= -this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)}; -mxEdgeHandler.prototype.mouseMove=function(a,b){if(null!=this.index&&null!=this.marker){this.currentPoint=this.getPointForEvent(b);this.error=null;!this.graph.isIgnoreTerminalEvent(b.getEvent())&&mxEvent.isShiftDown(b.getEvent())&&null!=this.snapPoint&&(Math.abs(this.snapPoint.x-this.currentPoint.x)mxEvent.VIRTUAL_HANDLE)null!= -this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(b);else if(this.isLabel)this.label.x=this.currentPoint.x,this.label.y=this.currentPoint.y;else{this.points=this.getPreviewPoints(this.currentPoint,b);var c=this.isSource||this.isTarget?this.getPreviewTerminalState(b):null;if(null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint)this.currentPoint=this.constraintHandler.currentPoint.clone(); -else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null!=c&&this.graph.isCellLocked(c.cell)&&(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,c,b,d);this.setPreviewColor(null==this.error? -this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)}; -mxEdgeHandler.prototype.mouseUp=function(a,b){if(null!=this.index&&null!=this.marker){var c=this.state.cell,d=this.index;this.index=null;if(b.getX()!=this.startX||b.getY()!=this.startY){var e=!this.graph.isIgnoreTerminalEvent(b.getEvent())&&this.graph.isCloneEvent(b.getEvent())&&this.cloneEnabled&&this.graph.isCellsCloneable();if(null!=this.error)0mxEvent.VIRTUAL_HANDLE){if(null!=this.customHandles){var f= -this.graph.getModel();f.beginUpdate();try{this.customHandles[mxEvent.CUSTOM_HANDLE-d].execute()}finally{f.endUpdate()}}}else if(this.isLabel)this.moveLabel(this.state,this.label.x,this.label.y);else if(this.isSource||this.isTarget)if(d=null,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(d=this.constraintHandler.currentFocus.cell),null==d&&this.marker.hasValidState()&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&"transparent"!=this.marker.highlight.shape.stroke&& -"white"!=this.marker.highlight.shape.stroke&&(d=this.marker.validState.cell),null!=d){var f=this.graph.getModel(),g=f.getParent(c);f.beginUpdate();try{if(e){var k=f.getGeometry(c),e=this.graph.cloneCell(c);f.add(g,e,f.getChildCount(g));null!=k&&(k=k.clone(),f.setGeometry(e,k));var l=f.getTerminal(c,!this.isSource);this.graph.connectCell(e,l,!this.isSource);c=e}c=this.connect(c,d,this.isSource,e,b)}finally{f.endUpdate()}}else this.graph.isAllowDanglingEdges()&&(f=this.abspoints[this.isSource?0:this.abspoints.length- -1],f.x=this.roundLength(f.x/this.graph.view.scale-this.graph.view.translate.x),f.y=this.roundLength(f.y/this.graph.view.scale-this.graph.view.translate.y),k=this.graph.getView().getState(this.graph.getModel().getParent(c)),null!=k&&(f.x-=k.origin.x,f.y-=k.origin.y),f.x-=this.graph.panDx/this.graph.view.scale,f.y-=this.graph.panDy/this.graph.view.scale,c=this.changeTerminalPoint(c,f,this.isSource,e));else this.active?c=this.changePoints(c,this.points,e):(this.graph.getView().invalidate(this.state.cell), -this.graph.getView().validate(this.state.cell))}null!=this.marker&&(this.reset(),c!=this.state.cell&&this.graph.setSelectionCell(c));b.consume()}}; -mxEdgeHandler.prototype.reset=function(){this.active&&this.refresh();this.snapPoint=this.points=this.label=this.index=this.error=null;this.active=this.isTarget=this.isSource=this.isLabel=!1;if(this.livePreview&&null!=this.sizers)for(var a=0;a");this.div.style.visibility="";mxUtils.fit(this.div)}}; -mxTooltipHandler.prototype.destroy=function(){this.destroyed||(this.graph.removeMouseListener(this),mxEvent.release(this.div),null!=this.div&&null!=this.div.parentNode&&this.div.parentNode.removeChild(this.div),this.destroyed=!0,this.div=null)};function mxCellTracker(a,b,c){mxCellMarker.call(this,a,b);this.graph.addMouseListener(this);null!=c&&(this.getCell=c);mxClient.IS_IE&&mxEvent.addListener(window,"unload",mxUtils.bind(this,function(){this.destroy()}))}mxUtils.extend(mxCellTracker,mxCellMarker); -mxCellTracker.prototype.mouseDown=function(a,b){};mxCellTracker.prototype.mouseMove=function(a,b){this.isEnabled()&&this.process(b)};mxCellTracker.prototype.mouseUp=function(a,b){};mxCellTracker.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.graph.removeMouseListener(this),mxCellMarker.prototype.destroy.apply(this))}; -function mxCellHighlight(a,b,c,d){null!=a&&(this.graph=a,this.highlightColor=null!=b?b:mxConstants.DEFAULT_VALID_COLOR,this.strokeWidth=null!=c?c:mxConstants.HIGHLIGHT_STROKEWIDTH,this.dashed=null!=d?d:!1,this.opacity=mxConstants.HIGHLIGHT_OPACITY,this.repaintHandler=mxUtils.bind(this,function(){if(null!=this.state){var a=this.graph.view.getState(this.state.cell);null==a?this.hide():(this.state=a,this.repaint())}}),this.graph.getView().addListener(mxEvent.SCALE,this.repaintHandler),this.graph.getView().addListener(mxEvent.TRANSLATE, -this.repaintHandler),this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler),this.graph.getModel().addListener(mxEvent.CHANGE,this.repaintHandler),this.resetHandler=mxUtils.bind(this,function(){this.hide()}),this.graph.getView().addListener(mxEvent.DOWN,this.resetHandler),this.graph.getView().addListener(mxEvent.UP,this.resetHandler))}mxCellHighlight.prototype.keepOnTop=!1;mxCellHighlight.prototype.graph=!0;mxCellHighlight.prototype.state=null; -mxCellHighlight.prototype.spacing=2;mxCellHighlight.prototype.resetHandler=null;mxCellHighlight.prototype.setHighlightColor=function(a){this.highlightColor=a;null!=this.shape&&(this.shape.stroke=a)};mxCellHighlight.prototype.drawHighlight=function(){this.shape=this.createShape();this.repaint();this.keepOnTop||this.shape.node.parentNode.firstChild==this.shape.node||this.shape.node.parentNode.insertBefore(this.shape.node,this.shape.node.parentNode.firstChild)}; -mxCellHighlight.prototype.createShape=function(){var a=this.graph.cellRenderer.createShape(this.state);a.svgStrokeTolerance=this.graph.tolerance;a.points=this.state.absolutePoints;a.apply(this.state);a.stroke=this.highlightColor;a.opacity=this.opacity;a.isDashed=this.dashed;a.isShadow=!1;a.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG;a.init(this.graph.getView().getOverlayPane());mxEvent.redirectMouseEvents(a.node,this.graph,this.state);this.graph.dialect!= -mxConstants.DIALECT_SVG?a.pointerEvents=!1:a.svgPointerEvents="stroke";return a};mxCellHighlight.prototype.getStrokeWidth=function(a){return this.strokeWidth}; -mxCellHighlight.prototype.repaint=function(){if(null!=this.state&&null!=this.shape){this.shape.scale=this.state.view.scale;this.graph.model.isEdge(this.state.cell)?(this.shape.strokewidth=this.getStrokeWidth(),this.shape.points=this.state.absolutePoints,this.shape.outline=!1):(this.shape.bounds=new mxRectangle(this.state.x-this.spacing,this.state.y-this.spacing,this.state.width+2*this.spacing,this.state.height+2*this.spacing),this.shape.rotation=Number(this.state.style[mxConstants.STYLE_ROTATION]|| -"0"),this.shape.strokewidth=this.getStrokeWidth()/this.state.view.scale,this.shape.outline=!0);null!=this.state.shape&&this.shape.setCursor(this.state.shape.getCursor());if(mxClient.IS_QUIRKS||8==document.documentMode)"transparent"==this.shape.stroke?(this.shape.stroke="white",this.shape.opacity=1):this.shape.opacity=this.opacity;this.shape.redraw()}};mxCellHighlight.prototype.hide=function(){this.highlight(null)}; -mxCellHighlight.prototype.highlight=function(a){this.state!=a&&(null!=this.shape&&(this.shape.destroy(),this.shape=null),this.state=a,null!=this.state&&this.drawHighlight())};mxCellHighlight.prototype.isHighlightAt=function(a,b){var c=!1;if(null!=this.shape&&null!=document.elementFromPoint&&!mxClient.IS_QUIRKS)for(var d=document.elementFromPoint(a,b);null!=d;){if(d==this.shape.node){c=!0;break}d=d.parentNode}return c}; -mxCellHighlight.prototype.destroy=function(){this.graph.getView().removeListener(this.resetHandler);this.graph.getView().removeListener(this.repaintHandler);this.graph.getModel().removeListener(this.repaintHandler);null!=this.shape&&(this.shape.destroy(),this.shape=null)}; -function mxDefaultKeyHandler(a){if(null!=a){this.editor=a;this.handler=new mxKeyHandler(a.graph);var b=this.handler.escape;this.handler.escape=function(c){b.apply(this,arguments);a.hideProperties();a.fireEvent(new mxEventObject(mxEvent.ESCAPE,"event",c))}}}mxDefaultKeyHandler.prototype.editor=null;mxDefaultKeyHandler.prototype.handler=null; -mxDefaultKeyHandler.prototype.bindAction=function(a,b,c){var d=mxUtils.bind(this,function(){this.editor.execute(b)});c?this.handler.bindControlKey(a,d):this.handler.bindKey(a,d)};mxDefaultKeyHandler.prototype.destroy=function(){this.handler.destroy();this.handler=null};function mxDefaultPopupMenu(a){this.config=a}mxDefaultPopupMenu.prototype.imageBasePath=null;mxDefaultPopupMenu.prototype.config=null; -mxDefaultPopupMenu.prototype.createMenu=function(a,b,c,d){if(null!=this.config){var e=this.createConditions(a,c,d);this.addItems(a,b,c,d,e,this.config.firstChild,null)}}; -mxDefaultPopupMenu.prototype.addItems=function(a,b,c,d,e,f,g){for(var k=!1;null!=f;){if("add"==f.nodeName){var l=f.getAttribute("if");if(null==l||e[l]){var l=f.getAttribute("as"),l=mxResources.get(l)||l,m=mxUtils.eval(mxUtils.getTextContent(f)),n=f.getAttribute("action"),p=f.getAttribute("icon"),q=f.getAttribute("iconCls"),r=f.getAttribute("enabled-if"),r=null==r||e[r];k&&(b.addSeparator(g),k=!1);null!=p&&this.imageBasePath&&(p=this.imageBasePath+p);l=this.addAction(b,a,l,p,m,n,c,g,q,r);this.addItems(a, -b,c,d,e,f.firstChild,l)}}else"separator"==f.nodeName&&(k=!0);f=f.nextSibling}};mxDefaultPopupMenu.prototype.addAction=function(a,b,c,d,e,f,g,k,l,m){return a.addItem(c,d,function(a){"function"==typeof e&&e.call(b,b,g,a);null!=f&&b.execute(f,g,a)},k,l,m)}; -mxDefaultPopupMenu.prototype.createConditions=function(a,b,c){var d=a.graph.getModel(),e=d.getChildCount(b),f=[];f.nocell=null==b;f.ncells=1 "+b.convertValueToString(c)+a),c=b.getModel().getParent(c);return this.getRootTitle()+a};mxEditor.prototype.getRootTitle=function(){var a=this.graph.getModel().getRoot();return this.graph.convertValueToString(a)};mxEditor.prototype.undo=function(){this.undoManager.undo()};mxEditor.prototype.redo=function(){this.undoManager.redo()}; -mxEditor.prototype.groupCells=function(){var a=null!=this.groupBorderSize?this.groupBorderSize:this.graph.gridSize;return this.graph.groupCells(this.createGroup(),a)};mxEditor.prototype.createGroup=function(){return this.graph.getModel().cloneCell(this.defaultGroup)};mxEditor.prototype.open=function(a){if(null!=a){var b=mxUtils.load(a).getXml();this.readGraphModel(b.documentElement);this.filename=a;this.fireEvent(new mxEventObject(mxEvent.OPEN,"filename",a))}}; -mxEditor.prototype.readGraphModel=function(a){(new mxCodec(a.ownerDocument)).decode(a,this.graph.getModel());this.resetHistory()};mxEditor.prototype.save=function(a,b){a=a||this.getUrlPost();if(null!=a&&0n&&(c-=c+k-n);n=l.y+l.height;d+m>n&&(d-=d+m-n)}}else null!=k&&(c-=k.x*f,d-=k.y*f)}}g=g.clone();g.x=this.graph.snap(c/f-this.graph.getView().translate.x-this.graph.gridSize/2);g.y=this.graph.snap(d/f-this.graph.getView().translate.y-this.graph.gridSize/2);b.setGeometry(g);null==a&&(a=this.graph.getDefaultParent());this.cycleAttribute(b);this.fireEvent(new mxEventObject(mxEvent.BEFORE_ADD_VERTEX,"vertex",b,"parent",a));e.beginUpdate();try{b=this.graph.addCell(b, -a),null!=b&&(this.graph.constrainChild(b),this.fireEvent(new mxEventObject(mxEvent.ADD_VERTEX,"vertex",b)))}finally{e.endUpdate()}null!=b&&(this.graph.setSelectionCell(b),this.graph.scrollCellToVisible(b),this.fireEvent(new mxEventObject(mxEvent.AFTER_ADD_VERTEX,"vertex",b)));return b}; -mxEditor.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,null!=this.tasks&&this.tasks.destroy(),null!=this.outline&&this.outline.destroy(),null!=this.properties&&this.properties.destroy(),null!=this.keyHandler&&this.keyHandler.destroy(),null!=this.rubberband&&this.rubberband.destroy(),null!=this.toolbar&&this.toolbar.destroy(),null!=this.graph&&this.graph.destroy(),this.templates=this.status=null)}; -var mxCodecRegistry={codecs:[],aliases:[],register:function(a){if(null!=a){var b=a.getName();mxCodecRegistry.codecs[b]=a;var c=mxUtils.getFunctionName(a.template.constructor);c!=b&&mxCodecRegistry.addAlias(c,b)}return a},addAlias:function(a,b){mxCodecRegistry.aliases[a]=b},getCodec:function(a){var b=null;if(null!=a){var b=mxUtils.getFunctionName(a),c=mxCodecRegistry.aliases[b];null!=c&&(b=c);b=mxCodecRegistry.codecs[b];if(null==b)try{b=new mxObjectCodec(new a),mxCodecRegistry.register(b)}catch(d){}}return b}}; -function mxCodec(a){this.document=a||mxUtils.createXmlDocument();this.objects=[]}mxCodec.prototype.document=null;mxCodec.prototype.objects=null;mxCodec.prototype.elements=null;mxCodec.prototype.encodeDefaults=!1;mxCodec.prototype.putObject=function(a,b){return this.objects[a]=b};mxCodec.prototype.getObject=function(a){var b=null;null!=a&&(b=this.objects[a],null==b&&(b=this.lookup(a),null==b&&(a=this.getElementById(a),null!=a&&(b=this.decode(a)))));return b};mxCodec.prototype.lookup=function(a){return null}; -mxCodec.prototype.getElementById=function(a){this.updateElements();return this.elements[a]};mxCodec.prototype.updateElements=function(){null==this.elements&&(this.elements={},null!=this.document.documentElement&&this.addElement(this.document.documentElement))}; -mxCodec.prototype.addElement=function(a){if(a.nodeType==mxConstants.NODETYPE_ELEMENT){var b=a.getAttribute("id");if(null!=b)if(null==this.elements[b])this.elements[b]=a;else if(this.elements[b]!=a)throw Error(b+": Duplicate ID");}for(a=a.firstChild;null!=a;)this.addElement(a),a=a.nextSibling};mxCodec.prototype.getId=function(a){var b=null;null!=a&&(b=this.reference(a),null==b&&a instanceof mxCell&&(b=a.getId(),null==b&&(b=mxCellPath.create(a),0==b.length&&(b="root"))));return b}; -mxCodec.prototype.reference=function(a){return null};mxCodec.prototype.encode=function(a){var b=null;if(null!=a&&null!=a.constructor){var c=mxCodecRegistry.getCodec(a.constructor);null!=c?b=c.encode(this,a):mxUtils.isNode(a)?b=mxUtils.importNode(this.document,a,!0):mxLog.warn("mxCodec.encode: No codec for "+mxUtils.getFunctionName(a.constructor))}return b}; -mxCodec.prototype.decode=function(a,b){this.updateElements();var c=null;if(null!=a&&a.nodeType==mxConstants.NODETYPE_ELEMENT){c=null;try{c=window[a.nodeName]}catch(d){}c=mxCodecRegistry.getCodec(c);null!=c?c=c.decode(this,a,b):(c=a.cloneNode(!0),c.removeAttribute("as"))}return c};mxCodec.prototype.encodeCell=function(a,b,c){b.appendChild(this.encode(a));if(null==c||c){c=a.getChildCount();for(var d=0;da.length?a[0]:a[1]+" "+a[0]+" "+a[0]+" "+a[1]})();l.btn.style.color=r.pickerButtonColor;l.btn.style.font="12px sans-serif";l.btn.style.textAlign="center";try{l.btn.style.cursor="pointer"}catch(F){l.btn.style.cursor="hand"}l.btn.onmousedown=function(){r.hidePicker()};l.btnS.style.lineHeight=l.btn.style.height;switch(t){case 0:var q= -"hs.png";break;case 1:q="hv.png"}l.padM.style.backgroundImage="url(data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=)";l.padM.style.backgroundRepeat="no-repeat";l.sldM.style.backgroundImage="url(data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7)";l.sldM.style.backgroundRepeat="no-repeat";l.pad.style.backgroundImage="url('"+jscolor.getDir()+q+"')";l.pad.style.backgroundRepeat= -"no-repeat";l.pad.style.backgroundPosition="0 0";f();g();jscolor.picker.owner=r;document.getElementsByTagName("body")[0].appendChild(l.boxB)}function e(a){return[2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[0]+(a.slider?2*a.pickerInset+2*jscolor.images.arrow[0]+jscolor.images.sld[0]:0),a.pickerClosable?4*a.pickerInset+3*a.pickerFace+jscolor.images.pad[1]+a.pickerButtonHeight:2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[1]]}function f(){switch(t){case 0:var a=1;break;case 1:a=2}jscolor.picker.padM.style.backgroundPosition= -r.pickerFace+r.pickerInset+Math.round(r.hsv[0]/6*(jscolor.images.pad[0]-1))-Math.floor(jscolor.images.cross[0]/2)+"px "+(r.pickerFace+r.pickerInset+Math.round((1-r.hsv[a])*(jscolor.images.pad[1]-1))-Math.floor(jscolor.images.cross[1]/2))+"px";a=jscolor.picker.sld.childNodes;switch(t){case 0:for(var b=c(r.hsv[0],r.hsv[1],1),d=0;d.213*this.rgb[0]+.715*this.rgb[1]+.072*this.rgb[2]?"#FFF":"#000");a&B||!k()||f();a&C||!k()||g()};this.fromHSV=function(a,b,d,e){0>a&&(a=0);6b&&(b=0);1d&&(d=0);1a&&(a=0);1b&&(b=0);1c&&(c=0);1document.documentMode)&&(e=80);f+=e;d+=e;var k=f,t=d,n=mxUtils.getDocumentSize(),g=n.height,y=Math.max(1,Math.round((n.width-f-64)/2)),A=Math.max(1,Math.round((g-d-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");f=null!=document.body?Math.min(f,document.body.scrollWidth-64):f;d=Math.min(d,g-64);0q.clientHeight-64&&(b.style.overflowY="auto");m&&(m=document.createElement("img"),m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.className="geDialogClose",m.style.top=A+14+"px",m.style.left=y+f+38-e+"px",m.style.zIndex=this.zIndex,mxEvent.addListener(m,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})), -document.body.appendChild(m),this.dialogImg=m,c||mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(c){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){if(null!=B){var c=B();null!=c&&(k=f=c.w,t=d=c.h)}c=mxUtils.getDocumentSize();g=c.height;this.bg.style.height=g+"px";y=Math.max(1,Math.round((c.width-f-64)/2));A=Math.max(1,Math.round((g-d-a.footerHeight)/3));f=null!=document.body?Math.min(k,document.body.scrollWidth-64):k;d=Math.min(t,g-64);c=this.getPosition(y, -A,f,d);y=c.x;A=c.y;q.style.left=y+"px";q.style.top=A+"px";q.style.width=f+"px";q.style.height=d+"px";!v&&b.clientHeight>q.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=A+14+"px",this.dialogImg.style.left=y+f+38-e+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=p;this.container=q;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; -Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC": -IMAGE_PATH+"/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; -Dialog.prototype.clearImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQAKAIABAMDAwP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUIzOEM1NzI4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUIzOEM1NzM4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QjM4QzU3MDg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QjM4QzU3MTg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAANAAoAAAIXTGCJebD9jEOTqRlttXdrB32PJ2ncyRQAOw==":IMAGE_PATH+ -"/clear.gif"; -Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCODExNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCODIxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3RjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI4MDE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvqMCFYAAAAVUExURZmZmb+/v7KysqysrMzMzLGxsf///4g8N1cAAAAHdFJOU////////wAaSwNGAAAAPElEQVR42lTMQQ4AIQgEwUa0//9kTQirOweYOgDqAMbZUr10AGlAwx4/BJ2QJ4U0L5brYjovvpv32xZgAHZaATFtMbu4AAAAAElFTkSuQmCC":IMAGE_PATH+ -"/locked.png"; -Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ -"/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,b){return new mxPoint(a,b)};Dialog.prototype.close=function(a,b){if(null!=this.onDialogClose){if(0==this.onDialogClose(a,b))return!1;this.onDialogClose=null}null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; -var ErrorDialog=function(a,b,f,d,l,m,p,v,z,B,c){z=null!=z?z:!0;var e=document.createElement("div");e.style.textAlign="center";if(null!=b){var k=document.createElement("div");k.style.padding="0px";k.style.margin="0px";k.style.fontSize="18px";k.style.paddingBottom="16px";k.style.marginBottom="10px";k.style.borderBottom="1px solid #c0c0c0";k.style.color="gray";k.style.whiteSpace="nowrap";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxUtils.write(k,b);k.setAttribute("title",b);e.appendChild(k)}b= -document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";b.innerHTML=f;e.appendChild(b);f=document.createElement("div");f.style.marginTop="12px";f.style.textAlign="center";null!=m&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();m()}),b.className="geBtn",f.appendChild(b),f.style.textAlign="center");null!=B&&(B=mxUtils.button(B,function(){null!=c&&c()}),B.className="geBtn",f.appendChild(B));var t=mxUtils.button(d,function(){z&&a.hideDialog();null!=l&&l()}); -t.className="geBtn";f.appendChild(t);null!=p&&(d=mxUtils.button(p,function(){z&&a.hideDialog();null!=v&&v()}),d.className="geBtn gePrimaryBtn",f.appendChild(d));this.init=function(){t.focus()};e.appendChild(f);this.container=e},PrintDialog=function(a,b){this.create(a,b)}; -PrintDialog.prototype.create=function(a){function b(a){var b=v.checked||B.checked,d=parseInt(e.value)/100;isNaN(d)&&(d=1,e.value="100%");var d=.75*d,k=f.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,t=1/f.pageScale;if(b){var q=v.checked?1:parseInt(c.value);isNaN(q)||(t=mxUtils.getScaleForPageCount(q,f,k))}f.getGraphBounds();var l=q=0,k=mxRectangle.fromRectangle(k);k.width=Math.ceil(k.width*d);k.height=Math.ceil(k.height*d);t*=d;!b&&f.pageVisible?(d=f.getPageLayout(),q-=d.x*k.width,l-=d.y*k.height): -b=!0;b=PrintDialog.createPrintPreview(f,t,k,0,q,l,b);b.open();a&&PrintDialog.printPreview(b)}var f=a.editor.graph,d,l,m=document.createElement("table");m.style.width="100%";m.style.height="100%";var p=document.createElement("tbody");d=document.createElement("tr");var v=document.createElement("input");v.setAttribute("type","checkbox");l=document.createElement("td");l.setAttribute("colspan","2");l.style.fontSize="10pt";l.appendChild(v);var z=document.createElement("span");mxUtils.write(z," "+mxResources.get("fitPage")); -l.appendChild(z);mxEvent.addListener(z,"click",function(a){v.checked=!v.checked;B.checked=!v.checked;mxEvent.consume(a)});mxEvent.addListener(v,"change",function(){B.checked=!v.checked});d.appendChild(l);p.appendChild(d);d=d.cloneNode(!1);var B=document.createElement("input");B.setAttribute("type","checkbox");l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(B);z=document.createElement("span");mxUtils.write(z," "+mxResources.get("posterPrint")+":");l.appendChild(z);mxEvent.addListener(z, -"click",function(a){B.checked=!B.checked;v.checked=!B.checked;mxEvent.consume(a)});d.appendChild(l);var c=document.createElement("input");c.setAttribute("value","1");c.setAttribute("type","number");c.setAttribute("min","1");c.setAttribute("size","4");c.setAttribute("disabled","disabled");c.style.width="50px";l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(c);mxUtils.write(l," "+mxResources.get("pages")+" (max)");d.appendChild(l);p.appendChild(d);mxEvent.addListener(B,"change", -function(){B.checked?c.removeAttribute("disabled"):c.setAttribute("disabled","disabled");v.checked=!B.checked});d=d.cloneNode(!1);l=document.createElement("td");mxUtils.write(l,mxResources.get("pageScale")+":");d.appendChild(l);l=document.createElement("td");var e=document.createElement("input");e.setAttribute("value","100 %");e.setAttribute("size","5");e.style.width="50px";l.appendChild(e);d.appendChild(l);p.appendChild(d);d=document.createElement("tr");l=document.createElement("td");l.colSpan=2; -l.style.paddingTop="20px";l.setAttribute("align","right");z=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});z.className="geBtn";a.editor.cancelFirst&&l.appendChild(z);if(PrintDialog.previewEnabled){var k=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});k.className="geBtn";l.appendChild(k)}k=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});k.className="geBtn gePrimaryBtn";l.appendChild(k);a.editor.cancelFirst|| -l.appendChild(z);d.appendChild(l);p.appendChild(d);m.appendChild(p);this.container=m};PrintDialog.printPreview=function(a){try{if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}catch(f){}}; -PrintDialog.createPrintPreview=function(a,b,f,d,l,m,p){b=new mxPrintPreview(a,b,f,d,l,m);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=p;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var v=b.writeHead;b.writeHead=function(a){v.apply(this,arguments);a.writeln('")};return b}; -PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function b(){null==c||c==mxConstants.NONE?(B.style.backgroundColor="",B.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(B.style.backgroundColor=c,B.style.backgroundImage="")}function f(){null==t?(k.removeAttribute("title"),k.style.fontSize="",k.innerHTML=mxResources.get("change")+"..."):(k.setAttribute("title",t.src),k.style.fontSize="11px",k.innerHTML=t.src.substring(0,42)+"...")}var d=a.editor.graph,l,m,p=document.createElement("table");p.style.width= -"100%";p.style.height="100%";var v=document.createElement("tbody");l=document.createElement("tr");m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";mxUtils.write(m,mxResources.get("paperSize")+":");l.appendChild(m);m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";var z=PageSetupDialog.addPageFormatPanel(m,"pagesetupdialog",d.pageFormat);l.appendChild(m);v.appendChild(l);l=document.createElement("tr");m=document.createElement("td"); -mxUtils.write(m,mxResources.get("background")+":");l.appendChild(m);m=document.createElement("td");m.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var B=document.createElement("button");B.style.width="18px";B.style.height="18px";B.style.marginRight="20px";B.style.backgroundPosition="center center";B.style.backgroundRepeat="no-repeat";var c=d.background;b();mxEvent.addListener(B,"click",function(e){a.pickColor(c||"none",function(a){c=a;b()});mxEvent.consume(e)}); -m.appendChild(B);mxUtils.write(m,mxResources.get("gridSize")+":");var e=document.createElement("input");e.setAttribute("type","number");e.setAttribute("min","0");e.style.width="40px";e.style.marginLeft="6px";e.value=d.getGridSize();m.appendChild(e);mxEvent.addListener(e,"change",function(){var a=parseInt(e.value);e.value=Math.max(1,isNaN(a)?d.getGridSize():a)});l.appendChild(m);v.appendChild(l);l=document.createElement("tr");m=document.createElement("td");mxUtils.write(m,mxResources.get("image")+ -":");l.appendChild(m);m=document.createElement("td");var k=document.createElement("a");k.style.textDecoration="underline";k.style.cursor="pointer";k.style.color="#a0a0a0";var t=d.backgroundImage;mxEvent.addListener(k,"click",function(c){a.showBackgroundImageDialog(function(a){t=a;f()});mxEvent.consume(c)});f();m.appendChild(k);l.appendChild(m);v.appendChild(l);l=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="16px";m.setAttribute("align","right");var n= -mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var g=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.gridSize!==e.value&&d.setGridSize(parseInt(e.value));var b=new ChangePageSetup(a,c,t,z.get());b.ignoreColor=d.background==c;b.ignoreImage=(null!=d.backgroundImage?d.backgroundImage.src:null)===(null!=t?t.src:null);d.pageFormat.width==b.previousFormat.width&&d.pageFormat.height==b.previousFormat.height&& -b.ignoreColor&&b.ignoreImage||d.model.execute(b)});g.className="geBtn gePrimaryBtn";m.appendChild(g);a.editor.cancelFirst||m.appendChild(n);l.appendChild(m);v.appendChild(l);p.appendChild(v);this.container=p}; -PageSetupDialog.addPageFormatPanel=function(a,b,f,d){function l(a,b,d){if(d||e!=document.activeElement&&k!=document.activeElement){a=!1;for(b=0;b=g)e.value=f.width/100;g=parseFloat(k.value);if(isNaN(g)||0>=g)k.value=f.height/100;g=new mxRectangle(0,0,Math.floor(100*parseFloat(e.value)),Math.floor(100*parseFloat(k.value)));"custom"!=v.value&&p.checked&&(g=new mxRectangle(0,0, -g.height,g.width));b&&q||g.width==F.width&&g.height==F.height||(F=g,null!=d&&d(F))};mxEvent.addListener(b,"click",function(a){m.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(B,"click",function(a){p.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(e,"blur",x);mxEvent.addListener(e,"click",x);mxEvent.addListener(k,"blur",x);mxEvent.addListener(k,"click",x);mxEvent.addListener(p,"change",x);mxEvent.addListener(m,"change",x);mxEvent.addListener(v,"change",function(a){q="custom"==v.value; -x(a,!0)});x();return{set:function(a){f=a;l(null,null,!0)},get:function(){return F},widthInput:e,heightInput:k}}; -PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)", -format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)}, -{key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,1600,900)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1920,1200)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1600,1200)},{key:"custom",title:mxResources.get("custom"),format:null}]}; -(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var b=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var d=a.container.firstChild;null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.nextSibling;null!=d&&(this.backgroundPageShape=this.createBackgroundPageShape(b),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect= -mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),d.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,d),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(c){a.dblClick(c)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c))}), -mxUtils.bind(this,function(c){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(c)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(c))}),mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(c))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=b,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape= -null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,b=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,d=null!=b&&this.gridColor!=b.toLowerCase()?this.gridColor:"#ffffff",c="none",e="";if(a.isGridEnabled()){e=10;mxClient.IS_SVG?(c=unescape(encodeURIComponent(this.createSvgGrid(d))),c=window.btoa?btoa(c):Base64.encode(c,!0),c="url(data:image/svg+xml;base64,"+c+")",e=a.gridSize*this.scale*this.gridSteps): -c="url("+this.gridImage+")";var k=d=0;null!=a.view.backgroundPageShape&&(k=this.getBackgroundPageBounds(),d=1+k.x,k=1+k.y);e=-Math.round(e-mxUtils.mod(this.translate.x*this.scale-d,e))+"px "+-Math.round(e-mxUtils.mod(this.translate.y*this.scale-k,e))+"px"}d=a.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=e,a.view.backgroundPageShape.node.style.backgroundImage=c,a.view.backgroundPageShape.node.style.backgroundColor= -b,a.container.className="geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(a.container.className="geDiagramContainer",d.style.backgroundPosition=e,d.style.backgroundColor=b,d.style.backgroundImage=c)};mxGraphView.prototype.createSvgGrid=function(a){for(var b=this.graph.gridSize*this.scale;b'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,d){a.apply(this,arguments);if(null!=this.shiftPreview1){var f= -this.view.canvas;null!=f.ownerSVGElement&&(f=f.ownerSVGElement);var c=this.gridSize*this.view.scale*this.view.gridSteps,c=-Math.round(c-mxUtils.mod(this.view.translate.x*this.view.scale+b,c))+"px "+-Math.round(c-mxUtils.mod(this.view.translate.y*this.view.scale+d,c))+"px";f.style.backgroundPosition=c}};mxGraph.prototype.updatePageBreaks=function(a,b,d){var c=this.view.scale,e=this.view.translate,k=this.pageFormat,f=c*this.pageScale,n=this.view.getBackgroundPageBounds();b=n.width;d=n.height;var g= -new mxRectangle(c*e.x,c*e.y,k.width*f,k.height*f),y=(a=a&&Math.min(g.width,g.height)>this.minPageBreakDist)?Math.ceil(d/g.height)-1:0,A=a?Math.ceil(b/g.width)-1:0,q=n.x+b,l=n.y+d;null==this.horizontalPageBreaks&&0document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):d.panningHandler.usePopupTrigger=!1;d.init(this.diagramContainer);mxClient.IS_SVG&&null!=d.view.getDrawPane()&&(b=d.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position= -"absolute"));this.hoverIcons=this.createHoverIcons();mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var c=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=g}a=this.toolbar.fontMenu;g=this.toolbar.sizeMenu;if(null==k)this.toolbar.createTextToolbar();else{for(var f= -0;fmxUtils.indexOf(q,F[a])&&q.push(F[a]);var C=function(a,c){var e=d.getModel();e.beginUpdate();try{if(c)for(var b=e.isEdge(n),k=b?d.currentEdgeStyle:d.currentVertexStyle,b=["fontSize","fontFamily","fontColor"],g=0;gmxUtils.indexOf(F,x))||(p=mxUtils.setStyle(p,x,E))}e.setStyle(n,p)}}finally{e.endUpdate()}};d.addListener("cellsInserted",function(a,c){C(c.getProperty("cells"))}); -d.addListener("textInserted",function(a,c){C(c.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT,function(a,c){var e=[c.getProperty("cell")];c.getProperty("terminalInserted")&&e.push(c.getProperty("terminal"));C(e)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var e=c.getProperty("cells"),b=!1,k=!1;if(0=screen.width?118:"large"!=urlParams["sidebar-entries"]?212:240;EditorUi.prototype.allowAnimation=!0;EditorUi.prototype.lightboxMaxFitScale=2;EditorUi.prototype.lightboxVerticalDivider=4;EditorUi.prototype.hsplitClickEnabled=!1; -EditorUi.prototype.init=function(){var a=this.editor.graph;if(!a.standalone){mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container,"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()})); -var b=a.setDefaultParent,f=this;this.editor.graph.setDefaultParent=function(){b.apply(this,arguments);f.updateActionStates()};a.editLink=f.actions.get("editLink").funct;this.updateActionStates();this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()}};EditorUi.prototype.onKeyDown=function(a){var b=this.editor.graph;9==a.which&&b.isEnabled()&&!mxEvent.isAltDown(a)&&(b.isEditing()?b.stopEditing(!1):b.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))}; -EditorUi.prototype.onKeyPress=function(a){var b=this.editor.graph;!this.isImmediateEditingEvent(a)||b.isEditing()||b.isSelectionEmpty()||0===a.which||27===a.which||mxEvent.isAltDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)||(b.escape(),b.startEditing(),mxClient.IS_FF&&(b=b.cellEditor,b.textarea.innerHTML=String.fromCharCode(a.which),a=document.createRange(),a.selectNodeContents(b.textarea),a.collapse(!1),b=window.getSelection(),b.removeAllRanges(),b.addRange(a)))}; -EditorUi.prototype.isImmediateEditingEvent=function(a){return!0}; -EditorUi.prototype.getCssClassForMarker=function(a,b,f,d){return"flexArrow"==b?null!=f&&f!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":f==mxConstants.ARROW_CLASSIC?"1"==d?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":f==mxConstants.ARROW_CLASSIC_THIN?"1"==d?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":f==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":f==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ -a+"openthin":f==mxConstants.ARROW_BLOCK?"1"==d?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":f==mxConstants.ARROW_BLOCK_THIN?"1"==d?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":f==mxConstants.ARROW_OVAL?"1"==d?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":f==mxConstants.ARROW_DIAMOND?"1"==d?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":f==mxConstants.ARROW_DIAMOND_THIN?"1"==d?"geSprite geSprite-"+a+"thindiamond": -"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==f?"geSprite geSprite-"+a+"openasync":"dash"==f?"geSprite geSprite-"+a+"dash":"cross"==f?"geSprite geSprite-"+a+"cross":"async"==f?"1"==d?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==f||"circlePlus"==f?"1"==d||"circle"==f?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==f?"geSprite geSprite-"+a+"erone":"ERmandOne"==f?"geSprite geSprite-"+a+"eronetoone":"ERmany"==f?"geSprite geSprite-"+ -a+"ermany":"ERoneToMany"==f?"geSprite geSprite-"+a+"eronetomany":"ERzeroToOne"==f?"geSprite geSprite-"+a+"eroneopt":"ERzeroToMany"==f?"geSprite geSprite-"+a+"ermanyopt":"geSprite geSprite-noarrow"};EditorUi.prototype.createMenus=function(){return null}; -EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=this.actions.get("paste"),f=this.actions.get("pasteHere");b.setEnabled(this.editor.graph.cellEditor.isContentEditing()||!mxClipboard.isEmpty()&&a.isEnabled()&&!a.isCellLocked(a.getDefaultParent()));f.setEnabled(b.isEnabled())}; -EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(d){d.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};mxClipboard.copy=function(b){var d=null;if(b.cellEditor.isContentEditing())document.execCommand("copy",!1,null);else{for(var d=d||b.getSelectionCells(),d=b.getExportableCells(b.model.getTopmostCells(d)),f={},l=b.createCellLookup(d),m=b.cloneCells(d,null,f),c=new mxGraphModel,e=c.getChildAt(c.getRoot(), -0),k=0;kthis.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor= -(this.view.scale+.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale-.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.01,Math.min(this.view.scale* -this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=window.setTimeout(mxUtils.bind(this,function(){var c=mxUtils.getOffset(a.container),e=0,d=0;null!=u&&(e=a.container.offsetWidth/2-u.x+c.x,d=a.container.offsetHeight/2-u.y+c.y);c=this.view.scale;this.zoom(this.cumulativeZoomFactor);this.view.scale!=c&&(null!=b&&f.chromelessResize(!1,null,e*(this.cumulativeZoomFactor-1),d*(this.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||0==e&&0==d||(a.container.scrollLeft-=e*(this.cumulativeZoomFactor- -1),a.container.scrollTop-=d*(this.cumulativeZoomFactor-1)));this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),this.lazyZoomDelay)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(c,e){if((null==this.dialogs||0==this.dialogs.length)&&a.isZoomWheelEvent(c))for(var b=mxEvent.getSource(c);null!=b;){if(b==a.container)return u=new mxPoint(mxEvent.getClientX(c),mxEvent.getClientY(c)),a.lazyZoom(e),mxEvent.consume(c),!1;b=b.parentNode}}),a.container)}; -EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; -EditorUi.prototype.createTemporaryGraph=function(a){a=new Graph(document.createElement("div"),null,null,a);a.resetViewOnRootChange=!1;a.setConnectable(!1);a.gridEnabled=!1;a.autoScroll=!1;a.setTooltips(!1);a.setEnabled(!1);a.container.style.visibility="hidden";a.container.style.position="absolute";a.container.style.overflow="hidden";a.container.style.height="1px";a.container.style.width="1px";return a}; -EditorUi.prototype.addChromelessClickHandler=function(){var a=urlParams.highlight;null!=a&&0a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(b.x+b.width-a.container.clientWidth,b.x-10)),b.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(b.y+b.height-a.container.clientHeight,b.y-10)))}else{var b=a.getGraphBounds(),f=Math.max(b.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,b.y-Math.max(20,(a.container.clientHeight-Math.max(b.height, -a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,b.x-Math.max(0,(a.container.clientWidth-f)/2)))}else a.pageVisible?(b=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x),Math.floor(Math.max(0,(a.container.clientHeight-b.height)/2)-b.y))):(b=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-b.width)/2)-b.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight- -b.height)/4))-b.y)))}; -EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,f=mxUtils.hasScrollbars(b.container),d=0,l=0;f&&(d=b.view.translate.x*b.view.scale-b.container.scrollLeft,l=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();f&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();f&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-d,b.container.scrollTop=b.view.translate.y* -b.view.scale-l);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,f,d){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=f;this.previousFormat=this.format=d;this.ignoreImage=this.ignoreColor=!1} -ChangePageSetup.prototype.execute=function(){var a=this.ui.editor.graph;if(!this.ignoreColor){this.color=this.previousColor;var b=a.background;this.ui.setBackgroundColor(this.previousColor);this.previousColor=b}this.ignoreImage||(this.image=this.previousImage,b=a.backgroundImage,this.ui.setBackgroundImage(this.previousImage),this.previousImage=b);null!=this.previousFormat&&(this.format=this.previousFormat,b=a.pageFormat,this.previousFormat.width!=b.width||this.previousFormat.height!=b.height)&&(this.ui.setPageFormat(this.previousFormat), -this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled)};(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.afterDecode=function(a,f,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);return d};mxCodecRegistry.register(a)})(); -EditorUi.prototype.setBackgroundColor=function(a){this.editor.graph.background=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("backgroundColorChanged"))};EditorUi.prototype.setFoldingEnabled=function(a){this.editor.graph.foldingEnabled=a;this.editor.graph.view.revalidate();this.fireEvent(new mxEventObject("foldingEnabledChanged"))}; -EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageFormatChanged"))};EditorUi.prototype.setPageScale=function(a){this.editor.graph.pageScale=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageScaleChanged"))}; -EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))}; -EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),f=this.editor.undoManager,d=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});f.addListener(mxEvent.ADD,d);f.addListener(mxEvent.UNDO,d);f.addListener(mxEvent.REDO,d);f.addListener(mxEvent.CLEAR,d);var l=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){l.apply(this,arguments);d()};var m=this.editor.graph.cellEditor.stopEditing; -this.editor.graph.cellEditor.stopEditing=function(a,b){m.apply(this,arguments);d()};d()}; -EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),f=!1,d=!1,l=a.getSelectionCells();if(null!=l)for(var m=0;mscreen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)}; -EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var b=document.createElement("div");b.className=a;return b}; -EditorUi.prototype.addSplitHandler=function(a,b,f,d){function l(a){if(null!=p){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));d(Math.max(0,v+(b?e.x-p.x:p.y-e.y)-f));mxEvent.consume(a);v!=c()&&(z=!0,B=null)}}function m(a){l(a);p=v=null}var p=null,v=null,z=!0,B=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var c=mxUtils.bind(this,function(){var c=parseInt(b?a.style.left:a.style.bottom);b||(c=c+f-this.footerHeight);return c});mxEvent.addGestureListeners(a,function(a){p=new mxPoint(mxEvent.getClientX(a), -mxEvent.getClientY(a));v=c();z=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){if(!z&&this.hsplitClickEnabled){var e=null!=B?B-f:0;B=c();d(e);mxEvent.consume(a)}}));mxEvent.addGestureListeners(document,null,l,m);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,l,m)})}; -EditorUi.prototype.handleError=function(a,b,f,d,l){a=null!=a&&null!=a.error?a.error:a;if(null!=a||null!=b){l=mxUtils.htmlEntities(mxResources.get("unknownError"));var m=mxResources.get("ok");b=null!=b?b:mxResources.get("error");null!=a&&null!=a.message&&(l=mxUtils.htmlEntities(a.message));this.showError(b,l,m,f,null,null,null,null,null,null,null,null,d?f:null)}else null!=f&&f()}; -EditorUi.prototype.showError=function(a,b,f,d,l,m,p,v,z,B,c,e,k){a=new ErrorDialog(this,a,b,f||mxResources.get("ok"),d,l,m,p,e,v,z);b=Math.ceil(null!=b?b.length/50:1);this.showDialog(a.container,B||340,c||100+20*b,!0,!1,k);a.init()};EditorUi.prototype.showDialog=function(a,b,f,d,l,m,p,v,z,B){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,f,d,l,m,p,v,z,B);this.dialogs.push(this.dialog)}; -EditorUi.prototype.hideDialog=function(a,b){if(null!=this.dialogs&&0f&&(b=a.substring(f,d+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(l){}return b}; -EditorUi.prototype.extractGraphModelFromEvent=function(a){var b=null,f=null;null!=a&&(a=null!=a.dataTransfer?a.dataTransfer:a.clipboardData,null!=a&&(10==document.documentMode||11==document.documentMode?f=a.getData("Text"):(f=0<=mxUtils.indexOf(a.types,"text/html")?a.getData("text/html"):null,mxUtils.indexOf(a.types,null==f||0==f.length)&&(f=a.getData("text/plain"))),null!=f&&(f=Graph.zapGremlins(mxUtils.trim(f)),a=this.extractGraphModelFromHtml(f),null!=a&&(f=a))));null!=f&&this.isCompatibleString(f)&& -(b=f);return b};EditorUi.prototype.isCompatibleString=function(a){return!1};EditorUi.prototype.saveFile=function(a){a||null==this.editor.filename?(a=new FilenameDialog(this,this.editor.getOrCreateFilename(),mxResources.get("save"),mxUtils.bind(this,function(a){this.save(a)}),null,mxUtils.bind(this,function(a){if(null!=a&&0navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(d),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){d.getModel().endUpdate();null!=f&&f()})),a.startAnimation()):(d.getModel().endUpdate(),null!=f&&f())}}}; -EditorUi.prototype.showImageDialog=function(a,b,f,d){d=this.editor.graph.cellEditor;var l=d.saveSelection(),m=mxUtils.prompt(a,b);d.restoreSelection(l);if(null!=m&&0d||Math.abs(p.y-b.getGraphY())>d){this.isCellSelected(e.cell)||this.setSelectionCell(e.cell);var k=this.selectionCellsHandler.getHandler(e.cell);if(null!=k&&null!=k.bends&&0mxUtils.indexOf(c,d)&&b.push(d)):b.push(c[e])}return b};this.connectionHandler.createTargetVertex=function(a,c){var e=this.graph.view.getState(c),e=null!=e?e.style:this.graph.getCellStyle(c);mxUtils.getValue(e,"part",!1)&&(e=this.graph.model.getParent(c),this.graph.model.isVertex(e)&&(c=e));return mxConnectionHandler.prototype.createTargetVertex.apply(this, -arguments)};var k=new mxRubberband(this);this.getRubberband=function(){return k};var t=(new Date).getTime(),n=0,g=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;g.apply(this,arguments);a!=this.currentState?(t=(new Date).getTime(),n=0):n=(new Date).getTime()-t};var y=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3=a&&C.y+C.height<=u&&C.y>=c&&C.x+C.width<=f&&k.push(q);this.getAllCells(a,c, -e,b,q,k)}}}return k};var u=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,c,e){return this.graph.isCellSelected(a)?!1:u.apply(this,arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var C=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,c){if("mouseDown"==c.getProperty("eventName")){var e= -c.getProperty("event").getState();C=null==e||this.isSelectionEmpty()||this.isCellSelected(e.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,c){if(!mxEvent.isMultiTouchEvent(c)){var e=c.getProperty("event"),b=c.getProperty("cell");null==b?(e=mxUtils.convertPoint(this.container,mxEvent.getClientX(e),mxEvent.getClientY(e)),k.start(e.x,e.y)):null!=C?this.addSelectionCells(C):1'+f+""));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(f):Base64.encode(f,!0)),a,b)}; -Graph.zapGremlins=function(a){for(var b=[],f=0;fk?"a":"p",tt:12>k?"am":"pm",T:12>k?"A":"P",TT:12>k?"AM":"PM",Z:f?"UTC":(String(a).match(l)||[""]).pop().replace(m,""),o:(0d&&"%"==b.charAt(match.index-1))m=l.substring(1);else{var p=l.substring(1,l.length-1);if(0>p.indexOf("{"))for(var v=a;null==m&&null!=v;)null!=v.value&&"object"==typeof v.value&&(m=v.hasAttribute(p)?null!=v.getAttribute(p)?v.getAttribute(p):"":null),v=this.model.getParent(v);null==m&&(m=this.getGlobalVariable(p))}f.push(b.substring(d, -match.index)+(null!=m?m:l));d=match.index+l.length}}f.push(b.substring(d))}return f.join("")};Graph.prototype.restoreSelection=function(a){if(null!=a&&0this.view.scale?this.zoom((this.view.scale+.01)/this.view.scale):this.zoom(Math.round(this.view.scale*this.zoomFactor*20)/20/this.view.scale)};Graph.prototype.zoomOut=function(){.15>=this.view.scale?this.zoom((this.view.scale-.01)/this.view.scale):this.zoom(Math.round(1/this.zoomFactor*this.view.scale*20)/20/this.view.scale)}; -Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var f=a.value.getAttribute("tooltip");if(null!=f)null!=f&&this.isReplacePlaceholders(a)&&(f=this.replacePlaceholders(a,f)),b=this.sanitizeHtml(f);else{f=this.builtInProperties;a=a.value.attributes;var d=[];this.isEnabled()&&f.push("link");for(var l=0;lmxUtils.indexOf(f,a[l].nodeName)&&0b.name?1:0});for(l=0;l"+d[l].name+": ":"")+mxUtils.htmlEntities(d[l].value)+"\n");0'+b+""))}}return b};Graph.prototype.stringToBytes=function(a){return Graph.stringToBytes(a)};Graph.prototype.bytesToString=function(a){return Graph.bytesToString(a)};Graph.prototype.compressNode=function(a){return Graph.compressNode(a)}; -Graph.prototype.compress=function(a,b){return Graph.compress(a,b)};Graph.prototype.decompress=function(a,b){return Graph.decompress(a,b)};Graph.prototype.zapGremlins=function(a){return Graph.zapGremlins(a)};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=2;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15; -HoverIcons.prototype.cssCursor="copy";HoverIcons.prototype.checkCollisions=!0;HoverIcons.prototype.arrowFill="#29b6f2";HoverIcons.prototype.triangleUp=mxClient.IS_SVG?Graph.createSvgImage(18,28,''):new mxImage(IMAGE_PATH+"/triangle-up.png",26,14); -HoverIcons.prototype.triangleRight=mxClient.IS_SVG?Graph.createSvgImage(26,18,''):new mxImage(IMAGE_PATH+"/triangle-right.png",14,26);HoverIcons.prototype.triangleDown=mxClient.IS_SVG?Graph.createSvgImage(18,26,''):new mxImage(IMAGE_PATH+"/triangle-down.png",26,14); -HoverIcons.prototype.triangleLeft=mxClient.IS_SVG?Graph.createSvgImage(28,18,''):new mxImage(IMAGE_PATH+"/triangle-left.png",14,26);HoverIcons.prototype.roundDrop=mxClient.IS_SVG?Graph.createSvgImage(26,26,''):new mxImage(IMAGE_PATH+"/round-drop.png",26,26); -HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDQxNERDRTU1QjY1MTFFNDkzNTRFQTVEMTdGMTdBQjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDQxNERDRTY1QjY1MTFFNDkzNTRFQTVEMTdGMTdBQjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NDE0RENFMzVCNjUxMUU0OTM1NEVBNUQxN0YxN0FCNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NDE0RENFNDVCNjUxMUU0OTM1NEVBNUQxN0YxN0FCNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsvuX50AAANaSURBVHja7FjRZ1tRGD9ZJ1NCyIQSwrivI4Q8hCpjlFDyFEoYfSp9Ko1QWnmo0If+BSXkIfo0QirTMUpeGo2EPfWllFYjZMLKLDJn53d3biU337m5J223bPbxk5t7v+/c3/2+73znO8fDOWezKM/YjMpz68Lj8ejY+QTeCCwLxOS9qPxtyN+6wAeBTwJ31CCO0cJDjXBGBN4LfIepSwykTUT1bgpuib0SONIgo8KRHOtRiCFcvUcgZeGrHPNBxLIyFPyRgTGz0xLbegJCdmzpElue5KlAIMDX19d5uVzm5+fnfDAYmMA17uEZdOx2Yvb/sHlu2S0xwymn5ufneTab5b1ej08S6EAXNrDd2dnhiUTim21MvMtwQ6yiIrWwsMDPzs64rsBmf3/fvM7n89TYlUnEllSkQqEQv7q64g+Vk5MTVXosORErU0Zer5f0FEIlw2N6MxwO82QyaXql2+2SxDqdjopYWUUsqEp45IldqtWq6UWVh/1+P7+8vCTJ4QMUJSRIEXuneoH96w8PDyeWAnhSJfCqwm6NIlaklFdXV0cGhRcQ2mlJQXK5nMq2YPEZbnteU1U2lUqN/D84OGD9fl+5fgnSrFarsUwmw0qlEru4uBjTicViTk3Cr27HSnxR+Doyz0ZE1CAWiUTusbu7y9rttlZv5fP5WDQavYfIMba4uEipfhF8XtqJoZXx/uH+sC/4vPg7OljZZQbsCmLtYzc3N6zRaJhotVrmfx0xDINtbm6athYUeXpHdbBNaqZUKpWxWXV7e2vex+xaWVnhc3NzjrPUXgexyCt0m67LBV7uJMITjqRE4o8tZeg8FPpFitgapYxiOC0poFgsji1jKNo6BZZckrAGUtJsNk1vqAihCBcKhTE7hNWhqw2qFnGy5UFOUYJVIJ1OjzSE+BCEilon0URavRmBqnbbQ00AXbm+vnZc9O1tj72OnQoc2+cwygRkb2+P1et17ZoEm3g87lRmjgWZ00kbXkNuse6/Bu2wlegIxfb2tuvWGroO4bO2c4bbzUh60mxDXm1sbJhhxkQYnhS4h2fUZoRAWnf7lv8N27f8P7Xhnekjgpk+VKGOoQbsiY+hhhtF3YO7twIJ+ULvUGv+GQ2fQEvWxI/THNx5/p/BaspPAQYAqStgiSQwCDoAAAAASUVORK5CYII=": -IMAGE_PATH+"/refresh.png",38,38);HoverIcons.prototype.tolerance=mxClient.IS_TOUCH?6:0; -HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.repaintHandler=mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE, -this.repaintHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler);this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE, -mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING,mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(b){a.apply(this.graph,arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)|| -!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,d){b=!1;var f=d.getEvent();if(this.isResetEvent(f))this.reset();else if(!this.isActive()){var m=this.getState(d.getState());null==m&&mxEvent.isTouchEvent(f)||this.update(m)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,d){var f=d.getEvent();this.isResetEvent(f)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(f)|| -this.update(this.getState(d.getState()),d.getGraphX(),d.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,d){var f=d.getEvent();mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(f),mxEvent.getClientY(f));this.isResetEvent(f)?this.reset():this.isActive()&&!b&&null!=this.mouseDownPoint?this.click(this.currentState,this.getDirection(),d):this.isActive()?1==this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())? -this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(d.getGraphX(),d.getGraphY())))):mxEvent.isTouchEvent(f)||null!=this.bbox&&mxUtils.contains(this.bbox,d.getGraphX(),d.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(f)||this.reset();b=!1;this.resetActiveArrow()})})};HoverIcons.prototype.isResetEvent=function(a,b){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)}; -HoverIcons.prototype.createArrow=function(a,b){var f=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(f=document.createElement(mxClient.VML_PREFIX+":image"),f.setAttribute("src",a.src),f.style.borderStyle="none"):(f=document.createElement("div"),f.style.backgroundImage="url("+a.src+")",f.style.backgroundPosition="center",f.style.backgroundRepeat="no-repeat"),f.style.width=a.width+4+"px",f.style.height=a.height+4+"px",f.style.display=mxClient.IS_QUIRKS?"inline": -"inline-block"):(f=mxUtils.createImage(a.src),f.style.width=a.width+"px",f.style.height=a.height+"px",f.style.padding=this.tolerance+"px");null!=b&&f.setAttribute("title",b);f.style.position="absolute";f.style.cursor=this.cssCursor;mxEvent.addGestureListeners(f,mxUtils.bind(this,function(a){null==this.currentState||this.isResetEvent(a)||(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y), -this.activeArrow=f,this.setDisplay("none"),mxEvent.consume(a))}));mxEvent.redirectMouseEvents(f,this.graph,this.currentState);mxEvent.addListener(f,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isMouseEvent(a)&&(null!=this.activeArrow&&this.activeArrow!=f&&mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.graph.connectionHandler.constraintHandler.reset(),mxUtils.setOpacity(f,100),this.activeArrow=f)}));mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){this.graph.isMouseDown|| -this.resetActiveArrow()}));return f};HoverIcons.prototype.resetActiveArrow=function(){null!=this.activeArrow&&(mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.activeArrow=null)};HoverIcons.prototype.getDirection=function(){var a=mxConstants.DIRECTION_EAST;this.activeArrow==this.arrowUp?a=mxConstants.DIRECTION_NORTH:this.activeArrow==this.arrowDown?a=mxConstants.DIRECTION_SOUTH:this.activeArrow==this.arrowLeft&&(a=mxConstants.DIRECTION_WEST);return a}; -HoverIcons.prototype.visitNodes=function(a){for(var b=0;bthis.activationDelay)&&this.currentState!=a&&(d>this.updateDelay&&null!=a||null==this.bbox||null==b||null==f||!mxUtils.contains(this.bbox, -b,f))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()):this.reset())}}; -HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a}; -(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,d){d=null!=d?d:!0;var c=this.getState(a);null!=c&&d&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&!c.invalid&&this.updateLineJumps(c)&&this.graph.cellRenderer.redraw(c,!1,this.isRendering());c=b.apply(this, -arguments);null!=c&&d&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(c);return c};var f=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,b){return f.apply(this,arguments)||null!=a.routedPoints&&null!=b.routedPoints&&!mxUtils.equalPoints(b.routedPoints,a.routedPoints)};var d=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){d.apply(this,arguments);this.graph.model.isEdge(a.cell)&& -1!=a.style[mxConstants.STYLE_CURVED]&&this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,e=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var d=function(c,b,d){var k=new mxPoint(b,d);k.type=c;e.push(k);k=null!=a.routedPoints?a.routedPoints[e.length-1]:null;return null==k||k.type!=c||k.x!=b||k.y!=d},f=.5*this.scale,c=!1,e=[],n=0;nf||Math.abs(q.y-y.y)>f)&&(Math.abs(q.x-g.x)>f||Math.abs(q.y-g.y)>f)&&(Math.abs(q.x-C.x)>f||Math.abs(q.y-C.y)>f)&&(Math.abs(q.x-u.x)>f||Math.abs(q.y-u.y)>f)){u=q.x-y.x;C=q.y-y.y;q={distSq:u*u+C*C,x:q.x,y:q.y};for(u=0;uq.distSq){A.splice(u,0,q);q=null;break}null==q||0!=A.length&&A[A.length-1].x===q.x&&A[A.length-1].y===q.y||A.push(q)}}}for(x=0;xd*d&&0d*d&&(u=new mxPoint(m.x-q.x,m.y-q.y),x=new mxPoint(m.x+q.x,m.y+q.y),n.push(u),this.addPoints(a,n,c,e,!1,null,g),n=0>Math.round(q.x)||0==Math.round(q.x)&&0>=Math.round(q.y)?1:-1,g=!1,"sharp"==f?(a.lineTo(u.x-q.y*n,u.y+q.x*n),a.lineTo(x.x-q.y*n,x.y+q.x*n),a.lineTo(x.x,x.y)):"arc"==f?(n*=1.3,a.curveTo(u.x-q.y*n,u.y+q.x*n,x.x-q.y*n,x.y+q.x*n,x.x,x.y)):(a.moveTo(x.x,x.y),g=!0),n=[x],u=!0))}else q=null;u||(n.push(m),y=m)}this.addPoints(a,n,c,e,!1,null,g);a.stroke()}};var m= -mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,e){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)m.apply(this,arguments);else{b=this.getTerminalPort(a,b,e);var d=this.getNextPoint(a,c,e),f=this.graph.isOrthogonal(a),n=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),g=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=n)var y=Math.cos(-n),l=Math.sin(-n),d=mxUtils.getRotatedPoint(d,y,l,g); -y=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);y+=parseFloat(a.style[e?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);d=this.getPerimeterPoint(b,d,0==n&&f,y);0!=n&&(y=Math.cos(n),l=Math.sin(n),d=mxUtils.getRotatedPoint(d,y,l,g));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,e,d),e)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,e,d){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);e=c=null;if(null!=a)for(var k= -0;k=m.getStatus()&&eval.call(window,m.getText())}}catch(p){null!=window.console&&console.log("error in getStencil:",l,p)}}mxStencilRegistry.packages[f]=1}}else f=f.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+f+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; -mxStencilRegistry.getBasenameForStencil=function(a){var b=null;if(null!=a&&"string"===typeof a&&(a=a.split("."),0=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;bk||e>k)&&this.clear()}}else{for(b=c.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&g.tooltipHandler.reset(c,!0,this.currentState),(null== -this.currentState||c.getState()!=this.currentState&&null!=c.sourceState||!g.intersects(this.currentState,c.getGraphX(),c.getGraphY()))&&this.updateCurrentState(c))}},mouseUp:function(a,e){for(var d=e.getSource(),f=e.getEvent();null!=d&&"a"!=d.nodeName.toLowerCase();)d=d.parentNode;null==d&&Math.abs(this.scrollLeft-g.container.scrollLeft)c&&b[e].deleteCell(c)};Graph.prototype.pasteHtmlAtCaret= -function(a){var c;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){c=c.getRangeAt(0);c.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var e;e=b.firstChild;)lastNode=a.appendChild(e);c.insertNode(a)}}else(c=document.selection)&&"Control"!=c.type&&c.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,c){function b(a,c){a.length>c&&(a=a.substring(0,Math.round(c/2))+"..."+a.substring(a.length- -Math.round(c/4)));return a}a=null!=a?a:"javascript:void(0);";if(null==c||0==c.length)c=this.isCustomLink(a)?this.getLinkTitle(a):a;var e=document.createElement("a");e.setAttribute("rel",this.linkRelation);e.setAttribute("href",this.getAbsoluteUrl(a));e.setAttribute("title",b(this.isCustomLink(a)?this.getLinkTitle(a):a,80));null!=this.linkTarget&&e.setAttribute("target",this.linkTarget);mxUtils.write(e,b(c,40));this.isCustomLink(a)&&mxEvent.addListener(e,"click",mxUtils.bind(this,function(c){this.customLinkClicked(a); -mxEvent.consume(c)}));return e};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a,c){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(c){c=a.apply(this,arguments);if(mxEvent.isTouchEvent(c.getEvent())&&null==c.getState()){var b=this.getCellAt(c.graphX,c.graphY);null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,c.graphX, -c.graphY)||(c.state=this.view.getState(b),null!=c.state&&null!=c.state.shape&&(this.container.style.cursor=c.state.shape.node.style.cursor))}null==c.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return c};var c=!1,b=!1,e=!1,d=this.fireMouseEvent;this.fireMouseEvent=function(a,k,g){a==mxEvent.MOUSE_DOWN&&(k=this.updateMouseEvent(k),c=this.isCellSelected(k.getCell()),b=this.isSelectionEmpty(),e=this.popupMenuHandler.isMenuShowing());d.apply(this,arguments)};this.popupMenuHandler.mouseUp= -mxUtils.bind(this,function(a,d){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==d.getState()||!d.isSource(d.getState().control))&&(this.popupMenuHandler.popupTrigger||!e&&!mxEvent.isMouseEvent(d.getEvent())&&(b&&null==d.getCell()&&this.isSelectionEmpty()||c&&this.isCellSelected(d.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell); -return null!=a&&1==a.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.alignText=function(a,c){!this.isTableSelected()==(null==c||!mxEvent.isShiftDown(c))&&(this.graph.cellEditor.setAlign(a),this.graph.processElements(this.textarea,function(a){a.removeAttribute("align");a.style.textAlign=null}));document.execCommand("justify"+a.toLowerCase(),!1,null)};mxCellEditor.prototype.saveSelection= -function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var c=[],b=0,e=a.rangeCount;b")||0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>"))&&b(this.textarea,e)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell);if(null!=a){var c=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),b=this.saveSelection();if(this.codeViewMode){f=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0"):f,!0);this.textarea.className="mxCellEditor geContentEditable";var e=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),d=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),k=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)& -mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(e*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(e)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=k?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily= -c;this.textarea.style.textAlign=d;this.textarea.style.padding="0px";this.textarea.innerHTML!=f&&(this.textarea.innerHTML=f,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0
"));f=this.graph.sanitizeHtml(c?f.replace(/\n/g,"").replace(/<br\s*.?>/g,"
"):f,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var e=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(e*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(e)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle= -"";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=f&&(this.textarea.innerHTML=f);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=b;this.resize()}};var c=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell), -this.codeViewMode&&null!=a){var e=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*e;this.bounds.height=60*e;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width= -Math.round((this.bounds.width-4)/e)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/e)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return b=this.graph.sanitizeHtml(b,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var c=this.graph.sanitizeHtml(this.textarea.innerHTML, -!0);return c="1"==mxUtils.getValue(a.style,"nl2Br","1")?c.replace(/\r\n/g,"
").replace(/\n/g,"
"):c.replace(/\r\n/g,"").replace(/\n/g,"")};var e=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();e.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(ca){}};var k=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a, -c){this.graph.getModel().beginUpdate();try{if(k.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var b=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),e=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==c&&b==mxConstants.NONE&&e==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var c=mxUtils.getValue(a.style, -mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=c&&c!=mxConstants.NONE||!(null!=a.cell.geometry&&0'):new mxImage(IMAGE_PATH+"/handle-main.png",17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,''): -new mxImage(IMAGE_PATH+"/handle-secondary.png",17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,''):new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,''): -new mxImage(IMAGE_PATH+"/handle-terminal.png",17,17);HoverIcons.prototype.rotationHandle=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAVCAYAAACkCdXRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA6ZJREFUeNqM001IY1cUB/D/fYmm2sbR2lC1zYlgoRG6MpEyBlpxM9iFIGKFIm3s0lCKjOByhCLZCFqLBF1YFVJdSRbdFHRhBbULtRuFVBTzYRpJgo2mY5OX5N9Fo2TG+eiFA/dd3vvd8+65ByTxshARTdf1JySp6/oTEdFe9T5eg5lIcnBwkCSZyWS+exX40oyur68/KxaLf5Okw+H4X+A9JBaLfUySZ2dnnJqaosPhIAACeC34DJRKpb7IZrMcHx+nwWCgUopGo/EOKwf9fn/1CzERUevr6+9ls1mOjIwQAH0+H4PBIKPR6D2ofAQCgToRUeVYJUkuLy8TANfW1kiS8/PzCy84Mw4MDBAAZ2dnmc/nub+/X0MSEBF1cHDwMJVKsaGhgV6vl+l0mqOjo1+KyKfl1dze3l4NBoM/PZ+diFSLiIKIGBOJxA9bW1sEwNXVVSaTyQMRaRaRxrOzs+9J8ujoaE5EPhQRq67rcZ/PRwD0+/3Udf03EdEgIqZisZibnJykwWDg4eEhd3Z2xkXELCJvPpdBrYjUiEhL+Xo4HH4sIhUaAKNSqiIcDsNkMqG+vh6RSOQQQM7tdhsAQCkFAHC73UUATxcWFqypVApmsxnDw8OwWq2TADQNgAYAFosF+XweyWQSdru9BUBxcXFRB/4rEgDcPouIIx6P4+bmBi0tLSCpAzBqAIqnp6c/dnZ2IpfLYXNzE62traMADACKNputpr+/v8lms9UAKAAwiMjXe3t7KBQKqKurQy6Xi6K0i2l6evpROp1mbW0t29vbGY/Hb8/IVIqq2zlJXl1dsaOjg2azmefn5wwEAl+JSBVExCgi75PkzMwMlVJsbGxkIpFgPp8PX15ePopEIs3JZPITXdf/iEajbGpqolKKExMT1HWdHo/nIxGpgIgoEXnQ3d39kCTHxsYIgC6Xi3NzcwyHw8xkMozFYlxaWmJbWxuVUuzt7WUul6PX6/1cRN4WEe2uA0SkaWVl5XGpRVhdXU0A1DSNlZWVdz3qdDrZ09PDWCzG4+Pjn0XEWvp9KJKw2WwKwBsA3gHQHAqFfr24uMDGxgZ2d3cRiUQAAHa7HU6nE319fTg5Ofmlq6vrGwB/AngaCoWK6rbsNptNA1AJoA7Aux6Pp3NoaMhjsVg+QNmIRqO/u1yubwFEASRKUAEA7rASqABUAKgC8KAUb5XWCOAfAFcA/gJwDSB7C93DylCtdM8qABhLc5TumV6KQigUeubjfwcAHkQJ94ndWeYAAAAASUVORK5CYII=": -IMAGE_PATH+"/handle-rotate.png",19,21);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,''));mxVertexHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxVertexHandler.prototype.secondaryHandleImage=HoverIcons.prototype.secondaryHandle;mxEdgeHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxEdgeHandler.prototype.terminalHandleImage=HoverIcons.prototype.terminalHandle; -mxEdgeHandler.prototype.fixedHandleImage=HoverIcons.prototype.fixedHandle;mxEdgeHandler.prototype.labelHandleImage=HoverIcons.prototype.secondaryHandle;mxOutline.prototype.sizerImage=HoverIcons.prototype.mainHandle;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget= -HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((new Image).src=HoverIcons.prototype.mainHandle.src,(new Image).src=HoverIcons.prototype.fixedHandle.src,(new Image).src=HoverIcons.prototype.terminalHandle.src,(new Image).src=HoverIcons.prototype.secondaryHandle.src,(new Image).src=HoverIcons.prototype.rotationHandle.src,(new Image).src=HoverIcons.prototype.triangleUp.src,(new Image).src=HoverIcons.prototype.triangleRight.src,(new Image).src= -HoverIcons.prototype.triangleDown.src,(new Image).src=HoverIcons.prototype.triangleLeft.src,(new Image).src=HoverIcons.prototype.refreshTarget.src,(new Image).src=HoverIcons.prototype.roundDrop.src);mxVertexHandler.prototype.rotationEnabled=!0;mxVertexHandler.prototype.manageSizers=!0;mxVertexHandler.prototype.livePreview=!0;mxGraphHandler.prototype.maxLivePreview=16;mxRubberband.prototype.defaultOpacity=30;mxConnectionHandler.prototype.outlineConnect=!0;mxCellHighlight.prototype.keepOnTop=!0;mxVertexHandler.prototype.parentHighlightEnabled= -!0;mxVertexHandler.prototype.rotationHandleVSpacing=-20;mxEdgeHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent= -function(a){return!mxEvent.isShiftDown(a.getEvent())};if(Graph.touchStyle){if(mxClient.IS_TOUCH||0g||Math.abs(k)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(), -this.update(e,b),this.isSpaceEvent(c)?(e=this.x+this.width,b=this.y+this.height,d=this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(this.width=this.graph.snap(this.width/d)*d,this.height=this.graph.snap(this.height/d)*d,this.graph.isGridEnabled()||(this.width=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+ -"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),c.consume()}};var q=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv), -this.secondDiv=null);q.apply(this,arguments)};var F=(new Date).getTime(),x=0,E=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,c,b,e){E.apply(this,arguments);b!=this.currentTerminalState?(F=(new Date).getTime(),x=0):x=(new Date).getTime()-F;this.currentTerminalState=b};var u=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&& -2E3=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state, -e,b):null,b=null!=(null!=d?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b),d):null)?this.fixedHandleImage:null!=d&&null!=e?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var C=mxVertexHandler.prototype.createSizerShape; -mxVertexHandler.prototype.createSizerShape=function(a,c,b){this.handleImage=c==mxEvent.ROTATION_HANDLE?HoverIcons.prototype.rotationHandle:c==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return C.apply(this,arguments)};var K=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var c=this.graph.getModel(),b=c.getParent(a[0]),e=this.graph.getCellGeometry(a[0]);if(c.isEdge(b)&&null!=e&&e.relative&&(c=this.graph.view.getState(a[0]), -null!=c&&2>c.width&&2>c.height&&null!=c.text&&null!=c.text.boundingBox))return mxRectangle.fromRectangle(c.text.boundingBox)}return K.apply(this,arguments)};var Y=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=Y.apply(this,arguments),c=[],b=0;ba.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(c=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(c.x),Math.round(c.y),Math.round(c.width),Math.round(c.height))):H.apply(this,arguments)};var Q=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,c){var b=this.graph.getModel(),e=b.getParent(this.state.cell),d=this.graph.getCellGeometry(this.state.cell); -(this.getHandleForEvent(c)==mxEvent.ROTATION_HANDLE||!b.isEdge(e)||null==d||!d.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&Q.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(e-k,0),a.lineTo(e,k),a.lineTo(k,k),a.close(),a.fill()),0!=X&&(a.setFillAlpha(Math.abs(X)),a.setFillColor(0>X?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(k,k),a.lineTo(k,d),a.lineTo(0,d-k),a.close(),a.fill()),a.begin(),a.moveTo(k,d),a.lineTo(k,k),a.lineTo(0, -0),a.moveTo(k,k),a.lineTo(e,k),a.end(),a.stroke())};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",a);var ta=Math.tan(mxUtils.toRadians(30)),oa=(.5-ta)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,c,b,e,d){c=Math.min(e,d/ta);a.translate((e-c)/2,(d-c)/2+c/4);a.moveTo(0,.25*c);a.lineTo(.5* -c,c*oa);a.lineTo(c,.25*c);a.lineTo(.5*c,(.5-oa)*c);a.lineTo(0,.25*c);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(f,mxCylinder);f.prototype.size=20;f.prototype.redrawPath=function(a,c,b,e,d,k){c=Math.min(e,d/(.5+ta));k?(a.moveTo(0,.25*c),a.lineTo(.5*c,(.5-oa)*c),a.lineTo(c,.25*c),a.moveTo(.5*c,(.5-oa)*c),a.lineTo(.5*c,(1-oa)*c)):(a.translate((e-c)/2,(d-c)/2),a.moveTo(0,.25*c),a.lineTo(.5*c,c*oa),a.lineTo(c,.25*c),a.lineTo(c,.75*c),a.lineTo(.5*c,(1-oa)*c),a.lineTo(0, -.75*c),a.close());a.end()};mxCellRenderer.registerShape("isoCube",f);mxUtils.extend(d,mxCylinder);d.prototype.redrawPath=function(a,c,b,e,d,k){c=Math.min(d/2,Math.round(d/8)+this.strokewidth-1);if(k&&null!=this.fill||!k&&null==this.fill)a.moveTo(0,c),a.curveTo(0,2*c,e,2*c,e,c),k||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,e,2*c,e,c),k||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,e,2*c,e,c),k||(a.stroke(),a.begin()),a.translate(0,-c);k||(a.moveTo(0, -c),a.curveTo(0,-c/3,e,-c/3,e,c),a.lineTo(e,d-c),a.curveTo(e,d+c/3,0,d+c/3,0,d-c),a.close())};d.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",d);mxUtils.extend(l,mxCylinder);l.prototype.size=30;l.prototype.darkOpacity=0;l.prototype.paintVertexShape=function(a,c,b,e,d){var k=Math.max(0,Math.min(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),g= -Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));a.translate(c,b);a.begin();a.moveTo(0,0);a.lineTo(e-k,0);a.lineTo(e,k);a.lineTo(e,d);a.lineTo(0,d);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(e-k,0),a.lineTo(e-k,k),a.lineTo(e,k),a.close(),a.fill()),a.begin(),a.moveTo(e-k,0),a.lineTo(e-k,k),a.lineTo(e,k),a.end(),a.stroke())}; -mxCellRenderer.registerShape("note",l);mxUtils.extend(m,mxActor);m.prototype.redrawPath=function(a,c,b,e,d){a.moveTo(0,0);a.quadTo(e/2,.5*d,e,0);a.quadTo(.5*e,d/2,e,d);a.quadTo(e/2,.5*d,0,d);a.quadTo(.5*e,d/2,0,0);a.end()};mxCellRenderer.registerShape("switch",m);mxUtils.extend(p,mxCylinder);p.prototype.tabWidth=60;p.prototype.tabHeight=20;p.prototype.tabPosition="right";p.prototype.redrawPath=function(a,c,b,e,d,k){c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))); -b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);k?"left"==g?(a.moveTo(0,b),a.lineTo(c,b)):(a.moveTo(e-c,b),a.lineTo(e,b)):("left"==g?(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,b),a.lineTo(e,b)):(a.moveTo(0,b),a.lineTo(e-c,b),a.lineTo(e-c,0),a.lineTo(e,0)),a.lineTo(e,d),a.lineTo(0,d),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",p);mxUtils.extend(v,mxActor);v.prototype.size= -30;v.prototype.isRoundable=function(){return!0};v.prototype.redrawPath=function(a,c,b,e,d){c=Math.max(0,Math.min(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(e,0),new mxPoint(e,d),new mxPoint(0,d),new mxPoint(0,c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",v);mxUtils.extend(z,mxActor);z.prototype.size=.4;z.prototype.redrawPath= -function(a,c,b,e,d){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,c/2);a.quadTo(e/4,1.4*c,e/2,c/2);a.quadTo(3*e/4,c*(1-1.4),e,c/2);a.lineTo(e,d-c/2);a.quadTo(3*e/4,d-1.4*c,e/2,d-c/2);a.quadTo(e/4,d-c*(1-1.4),0,d-c/2);a.lineTo(0,c/2);a.close();a.end()};z.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=mxUtils.getValue(this.style,"size",this.size),b=a.width,e=a.height;if(null==this.direction||this.direction== -mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return c*=e,new mxRectangle(a.x,a.y+c,b,e-2*c);c*=b;return new mxRectangle(a.x+c,a.y,b-2*c,e)}return a};mxCellRenderer.registerShape("tape",z);mxUtils.extend(B,mxActor);B.prototype.size=.3;B.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};B.prototype.redrawPath=function(a,c,b,e,d){c=d*Math.max(0, -Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(e,0);a.lineTo(e,d-c/2);a.quadTo(3*e/4,d-1.4*c,e/2,d-c/2);a.quadTo(e/4,d-c*(1-1.4),0,d-c/2);a.lineTo(0,c/2);a.close();a.end()};mxCellRenderer.registerShape("document",B);var Ka=mxCylinder.prototype.getCylinderSize;mxCylinder.prototype.getCylinderSize=function(a,c,b,e){var d=mxUtils.getValue(this.style,"size");return null!=d?e*Math.max(0,Math.min(1,d)):Ka.apply(this,arguments)};mxCylinder.prototype.getLabelMargins= -function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*c),0,0)}return null};mxUtils.extend(c,mxActor);c.prototype.size=.2;c.prototype.isRoundable=function(){return!0};c.prototype.redrawPath=function(a,c,b,e,d){c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;this.addPoints(a,[new mxPoint(0,d),new mxPoint(c,0),new mxPoint(e,0),new mxPoint(e-c,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",c);mxUtils.extend(e,mxActor);e.prototype.size=.2;e.prototype.isRoundable=function(){return!0};e.prototype.redrawPath=function(a,c,b,e,d){c=e*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0, -d),new mxPoint(c,0),new mxPoint(e-c,0),new mxPoint(e,d)],this.isRounded,b,!0)};mxCellRenderer.registerShape("trapezoid",e);mxUtils.extend(k,mxActor);k.prototype.size=.5;k.prototype.redrawPath=function(a,c,b,e,d){a.setFillColor(null);c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(e,0),new mxPoint(c,0),new mxPoint(c,d/2),new mxPoint(0,d/2),new mxPoint(c, -d/2),new mxPoint(c,d),new mxPoint(e,d)],this.isRounded,b,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",k);mxUtils.extend(t,mxActor);t.prototype.redrawPath=function(a,c,b,e,d){a.setStrokeWidth(1);a.setFillColor(this.stroke);c=e/5;a.rect(0,0,c,d);a.fillAndStroke();a.rect(2*c,0,c,d);a.fillAndStroke();a.rect(4*c,0,c,d);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",t);n.prototype.moveTo=function(a,c){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY= -c;this.firstX=a;this.firstY=c};n.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};n.prototype.quadTo=function(a,c,b,e){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=e};n.prototype.curveTo=function(a,c,b,e,d,k){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=d;this.lastY=k};n.prototype.arcTo=function(a,c,b,e, -d,k,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=k;this.lastY=g};n.prototype.lineTo=function(a,c){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},e=Math.abs(a-this.lastX),d=Math.abs(c-this.lastY),k=Math.sqrt(e*e+d*d);if(2>k){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c;return}var g=Math.round(k/10),f=this.defaultVariation;5>g&&(g=5,f/=3);for(var X=b(a-this.lastX)*e/g,b=b(c-this.lastY)*d/g, -e=e/k,d=d/k,k=0;kg+u?a.y=e.y:a.x=e.x);return mxUtils.getPerimeterPoint(f,a,e)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,c,b,d){var k=e.prototype.size;null!=c&&(k=mxUtils.getValue(c.style,"size",k));var g=a.x,f=a.y,u=a.width,n=a.height;c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST; -c==mxConstants.DIRECTION_EAST?(k=u*Math.max(0,Math.min(1,k)),f=[new mxPoint(g+k,f),new mxPoint(g+u-k,f),new mxPoint(g+u,f+n),new mxPoint(g,f+n),new mxPoint(g+k,f)]):c==mxConstants.DIRECTION_WEST?(k=u*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(g+u,f),new mxPoint(g+u-k,f+n),new mxPoint(g+k,f+n),new mxPoint(g,f)]):c==mxConstants.DIRECTION_NORTH?(k=n*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f+k),new mxPoint(g+u,f),new mxPoint(g+u,f+n),new mxPoint(g,f+n-k),new mxPoint(g,f+k)]):(k=n*Math.max(0, -Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(g+u,f+k),new mxPoint(g+u,f+n-k),new mxPoint(g,f+n),new mxPoint(g,f)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);d&&(b.xg+u?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(f,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,c,b,e){var d="0"!=mxUtils.getValue(c.style,"fixedSize","0"),k=d?q.prototype.fixedSize:q.prototype.size;null!=c&&(k=mxUtils.getValue(c.style, -"size",k));var g=a.x,f=a.y,u=a.width,n=a.height,X=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_EAST?(d=d?Math.max(0,Math.min(u,k)):u*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(g+u-d,f),new mxPoint(g+u,a),new mxPoint(g+u-d,f+n),new mxPoint(g,f+n),new mxPoint(g+d,a),new mxPoint(g,f)]):c==mxConstants.DIRECTION_WEST?(d=d?Math.max(0,Math.min(u,k)):u*Math.max(0, -Math.min(1,k)),f=[new mxPoint(g+d,f),new mxPoint(g+u,f),new mxPoint(g+u-d,a),new mxPoint(g+u,f+n),new mxPoint(g+d,f+n),new mxPoint(g,a),new mxPoint(g+d,f)]):c==mxConstants.DIRECTION_NORTH?(d=d?Math.max(0,Math.min(n,k)):n*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f+d),new mxPoint(X,f),new mxPoint(g+u,f+d),new mxPoint(g+u,f+n),new mxPoint(X,f+n-d),new mxPoint(g,f+n),new mxPoint(g,f+d)]):(d=d?Math.max(0,Math.min(n,k)):n*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(X,f+d),new mxPoint(g+ -u,f),new mxPoint(g+u,f+n-d),new mxPoint(X,f+n),new mxPoint(g,f+n-d),new mxPoint(g,f)]);X=new mxPoint(X,a);e&&(b.xg+u?X.y=b.y:X.x=b.x);return mxUtils.getPerimeterPoint(f,X,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,c,b,e){var d=F.prototype.size;null!=c&&(d=mxUtils.getValue(c.style,"size",d));var k=a.x,g=a.y,f=a.width,u=a.height,n=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION, -mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH?(d=u*Math.max(0,Math.min(1,d)),g=[new mxPoint(n,g),new mxPoint(k+f,g+d),new mxPoint(k+f,g+u-d),new mxPoint(n,g+u),new mxPoint(k,g+u-d),new mxPoint(k,g+d),new mxPoint(n,g)]):(d=f*Math.max(0,Math.min(1,d)),g=[new mxPoint(k+d,g),new mxPoint(k+f-d,g),new mxPoint(k+f,a),new mxPoint(k+f-d,g+u),new mxPoint(k+d,g+u),new mxPoint(k,a),new mxPoint(k+d,g)]);n=new mxPoint(n,a);e&&(b.xk+ -f?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(g,n,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(O,mxShape);O.prototype.size=10;O.prototype.paintBackground=function(a,c,b,e,d){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(c,b);a.ellipse((e-k)/2,0,k,k);a.fillAndStroke();a.begin();a.moveTo(e/2,k);a.lineTo(e/2,d);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",O);mxUtils.extend(P,mxShape);P.prototype.size= -10;P.prototype.inset=2;P.prototype.paintBackground=function(a,c,b,e,d){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.begin();a.moveTo(e/2,k+g);a.lineTo(e/2,d);a.end();a.stroke();a.begin();a.moveTo((e-k)/2-g,k/2);a.quadTo((e-k)/2-g,k+g,e/2,k+g);a.quadTo((e+k)/2+g,k+g,(e+k)/2+g,k/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",P);mxUtils.extend(ba,mxShape);ba.prototype.paintBackground= -function(a,c,b,e,d){a.translate(c,b);a.begin();a.moveTo(0,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,0,d);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",ba);mxUtils.extend(W,mxShape);W.prototype.inset=2;W.prototype.paintBackground=function(a,c,b,e,d){var k=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.ellipse(0,k,e-2*k,d-2*k);a.fillAndStroke();a.begin();a.moveTo(e/2,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,e/2,d);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface", -W);mxUtils.extend(G,mxCylinder);G.prototype.jettyWidth=32;G.prototype.jettyHeight=12;G.prototype.redrawPath=function(a,c,b,e,d,k){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));c=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,f=.3*d-c/2,u=.7*d-c/2;k?(a.moveTo(b,f),a.lineTo(g,f),a.lineTo(g,f+c),a.lineTo(b,f+c),a.moveTo(b,u),a.lineTo(g,u),a.lineTo(g,u+c),a.lineTo(b,u+c)):(a.moveTo(b,0),a.lineTo(e,0),a.lineTo(e,d),a.lineTo(b,d), -a.lineTo(b,u+c),a.lineTo(0,u+c),a.lineTo(0,u),a.lineTo(b,u),a.lineTo(b,f+c),a.lineTo(0,f+c),a.lineTo(0,f),a.lineTo(b,f),a.close());a.end()};mxCellRenderer.registerShape("component",G);mxUtils.extend(Z,mxDoubleEllipse);Z.prototype.outerStroke=!0;Z.prototype.paintVertexShape=function(a,c,b,e,d){var k=Math.min(4,Math.min(e/5,d/5));0=2*e&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1, -.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5, -0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;x.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c, -Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*e,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(1, -1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c>=2*e&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};v.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(c+e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1, -.5),!1));c>=2*e&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};a.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*e,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,b-.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-e)));return a}; -p.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0)),a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,e,d)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),d))):(a.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*e,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,d)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c,.25*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.75*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,.75*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};S.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxRectangleShape.prototype.constraints;ha.prototype.constraints=mxEllipse.prototype.constraints;ia.prototype.constraints=mxEllipse.prototype.constraints; -J.prototype.constraints=mxEllipse.prototype.constraints;wa.prototype.constraints=mxEllipse.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints;za.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.getConstraints=function(a,c,b){a=[];var e=Math.min(c,b/2),d=Math.min(c-e,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c-e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c-e),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));return a};N.prototype.constraints=mxRectangleShape.prototype.constraints;T.prototype.constraints= -mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, -.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1, -1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];G.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, -1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, -1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];m.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1, -1),!1)];z.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];q.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0), -!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, -.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints= -[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0, -.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4, -.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88, -.25),!1)];c.prototype.constraints=mxRectangleShape.prototype.constraints;e.prototype.constraints=mxRectangleShape.prototype.constraints;B.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25), -!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;ga.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1, -0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*c+.25*e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),b));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(c-e),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*c-.25*e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*d));return a};V.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style, -"dx",this.dx)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),d));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,b));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};pa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];R.prototype.getConstraints=function(a,c,b){a=[];var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, -"arrowSize",this.arrowSize)))),e=(b-e)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-d),b-e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,b-e));return a};la.prototype.getConstraints=function(a,c,b){a=[];var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",R.prototype.arrowWidth)))),d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",R.prototype.arrowSize)))),e=(b-e)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,b-e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));return a};ma.prototype.getConstraints=function(a,c,b){a=[];var e=Math.min(b,c),d=Math.max(0,Math.min(e,e*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),e=(b-d)/2,k=e+d,g=(c-d)/2,d=g+d;a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,g,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,0));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b-.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b));a.push(new mxConnectionConstraint(new mxPoint(.5, -1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b-.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,e));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,k));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(c+d),k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,e));return a};D.prototype.constraints= -null;I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];ea.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175, -.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()} -Actions.prototype.init=function(){function a(a){d.escape();var b=d.getDeletableCells(d.getSelectionCells());if(null!=b&&0/g,"\n"));var c=document.createElement("div");c.innerHTML=l;l=mxUtils.extractTextWithWhitespace(c.childNodes);d.cellLabelChanged(a.cell,l)}else l=mxUtils.htmlEntities(d.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(l=l.replace(/\n/g,"
")),d.cellLabelChanged(a.cell,d.sanitizeHtml(l));d.setCellStyles("html",f);b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=f?f:"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}}); -this.addAction("wordWrap",function(){var a=d.getView().getState(d.getSelectionCell()),b="wrap";d.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",f=d.getView().getState(d.getSelectionCell());null!=f&&(a=f.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0f?a=a.substring(0,f)+"[...]":null!=a&&a.length>b&&(a=Graph.compress(a)+"\n");return a}; -DrawioFile.prototype.checksumError=function(a,b,f,d,l){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=b)for(a=0;amxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0)}finally{m.container.style.visibility="";m.model.endUpdate();m.cellRenderer.redraw=B;this.changeListenerEnabled=p;f.history=d;f.indexOfNextAdd=l;f.fireEvent(new mxEventObject(mxEvent.CLEAR));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)z!= -m.mathEnabled?(this.ui.editor.updateGraphComponents(),m.refresh()):(v!=m.foldingEnabled?m.view.revalidate():m.view.validate(),m.sizeDidChange());this.ui.updateTabContainer()}}; -DrawioFile.prototype.save=function(a,b,f,d,l,m){try{if(this.isEditable())if(!l&&this.invalidChecksum)if(null!=f)f({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=b&&b();else if(null!=f)f({message:mxResources.get("readOnly")});else throw Error(mxResources.get("readOnly"));}catch(p){if(null!=f)f(p);else throw p;}}; -DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this,!this.isCompressed()))};DrawioFile.prototype.isCompressedStorage=function(){return!0};DrawioFile.prototype.isCompressed=function(){var a=null!=this.ui.fileNode?this.ui.fileNode.getAttribute("compressed"):null;return null!=a?"false"!=a:this.isCompressedStorage()&&Editor.compressXml};DrawioFile.prototype.saveAs=function(a,b,f){};DrawioFile.prototype.saveFile=function(a,b,f,d){}; -DrawioFile.prototype.getPublicUrl=function(a){a(null)};DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return!this.inConflictState&&this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,b,f){}; -DrawioFile.prototype.isMovable=function(){return!1};DrawioFile.prototype.isTrashed=function(){return!1};DrawioFile.prototype.move=function(a,b,f){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""}; -DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data};DrawioFile.prototype.open=function(){this.stats.opened++;var a=this.getData();null!=a&&(this.ui.setFileData(a),this.isModified()||(this.shadowData=mxUtils.getXml(this.ui.getXmlFileData()),this.shadowPages=null));this.installListeners();this.isSyncSupported()&&this.startSync()};DrawioFile.prototype.isSyncSupported=function(){return!1};DrawioFile.prototype.isRevisionHistorySupported=function(){return!1}; -DrawioFile.prototype.getRevisions=function(a,b){a(null)};DrawioFile.prototype.loadDescriptor=function(a,b){a(null)};DrawioFile.prototype.loadPatchDescriptor=function(a,b){this.loadDescriptor(mxUtils.bind(this,function(b){a(b)}),b)};DrawioFile.prototype.patchDescriptor=function(a,b){this.setDescriptorEtag(a,this.getDescriptorEtag(b))}; -DrawioFile.prototype.startSync=function(){"auto"!=DrawioFile.SYNC||"1"==urlParams.stealth||"1"!=urlParams.rt&&this.ui.editor.chromeless&&!this.ui.editor.editable||(null==this.sync&&(this.sync=new DrawioFileSync(this)),this.sync.start())};DrawioFile.prototype.isConflict=function(){return!1};DrawioFile.prototype.getChannelId=function(){return Graph.compress(this.getHash()).replace(/[\/ +]/g,"_")};DrawioFile.prototype.getChannelKey=function(a){return null};DrawioFile.prototype.getCurrentUser=function(){return null}; -DrawioFile.prototype.getLatestVersion=function(a,b){a(null)};DrawioFile.prototype.getLastModifiedDate=function(){return new Date};DrawioFile.prototype.setCurrentRevisionId=function(a){this.setDescriptorRevisionId(this.getDescriptor(),a)};DrawioFile.prototype.getCurrentRevisionId=function(){return this.getDescriptorRevisionId(this.getDescriptor())};DrawioFile.prototype.setCurrentEtag=function(a){this.setDescriptorEtag(this.getDescriptor(),a)};DrawioFile.prototype.getCurrentEtag=function(){return this.getDescriptorEtag(this.getDescriptor())}; -DrawioFile.prototype.getDescriptor=function(){return null};DrawioFile.prototype.setDescriptor=function(){};DrawioFile.prototype.setDescriptorRevisionId=function(a,b){this.setDescriptorEtag(a,b)};DrawioFile.prototype.getDescriptorRevisionId=function(a){return this.getDescriptorEtag(a)};DrawioFile.prototype.setDescriptorEtag=function(a,b){};DrawioFile.prototype.getDescriptorEtag=function(a){return null};DrawioFile.prototype.getDescriptorSecret=function(a){return null}; -DrawioFile.prototype.installListeners=function(){null==this.changeListener&&(this.changeListener=mxUtils.bind(this,function(a,b){var f=null!=b?b.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=f&&f.ignoreEdit||this.fileChanged()}),this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener),this.ui.editor.graph.addListener("gridSizeChanged",this.changeListener),this.ui.editor.graph.addListener("shadowVisibleChanged",this.changeListener),this.ui.addListener("pageFormatChanged", -this.changeListener),this.ui.addListener("pageScaleChanged",this.changeListener),this.ui.addListener("backgroundColorChanged",this.changeListener),this.ui.addListener("backgroundImageChanged",this.changeListener),this.ui.addListener("foldingEnabledChanged",this.changeListener),this.ui.addListener("mathEnabledChanged",this.changeListener),this.ui.addListener("gridEnabledChanged",this.changeListener),this.ui.addListener("guidesEnabledChanged",this.changeListener),this.ui.addListener("pageViewChanged", -this.changeListener),this.ui.addListener("connectionPointsChanged",this.changeListener),this.ui.addListener("connectionArrowsChanged",this.changeListener))}; -DrawioFile.prototype.addAllSavedStatus=function(a){null!=this.ui.statusContainer&&this.ui.getCurrentFile()==this&&(a=null!=a?a:mxUtils.htmlEntities(mxResources.get(this.allChangesSavedKey)),this.ui.editor.setStatus('
'+a+"
"),a=this.ui.statusContainer.getElementsByTagName("div"),0'+b+" ("+mxUtils.htmlEntities(a.message)+")")}else{b=this.getErrorMessage(a);if(null==b&&null!=this.lastSaved){var f=this.ui.timeSince(new Date(this.lastSaved)); -null!=f&&(b=mxResources.get("lastSaved",[f]))}null!=b&&60'+b+"");b=this.ui.statusContainer.getElementsByTagName("div");null!=b&&0'+b+" ("+mxUtils.htmlEntities(a.message)+")"))}}; -DrawioFile.prototype.addConflictStatus=function(a,b){this.invalidChecksum&&null==b&&(b=mxResources.get("checksum"));this.setConflictStatus(mxUtils.htmlEntities(mxResources.get("fileChangedSync"))+(null!=b&&""!=b?" ("+mxUtils.htmlEntities(b)+")":""));this.ui.spinner.stop();this.clearAutosave();var f=null!=this.ui.statusContainer?this.ui.statusContainer.getElementsByTagName("div"):null;null!=f&&0'+a+' ')}; -DrawioFile.prototype.showRefreshDialog=function(a,b,f){null==f&&(f=mxResources.get("checksum"));this.ui.editor.isChromelessView()&&!this.ui.editor.editable?this.ui.alert(mxResources.get("fileChangedSync"),mxUtils.bind(this,function(){this.reloadFile(a,b)})):(this.addConflictStatus(mxUtils.bind(this,function(){this.showRefreshDialog(a,b)}),f),this.ui.showError(mxResources.get("error")+" ("+f+")",mxResources.get("fileChangedSyncDialog"),mxResources.get("makeCopy"),mxUtils.bind(this,function(){this.copyFile(a, -b)}),null,mxResources.get("synchronize"),mxUtils.bind(this,function(){this.reloadFile(a,b)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog()}),360,150))}; -DrawioFile.prototype.showCopyDialog=function(a,b,f){this.invalidChecksum=this.inConflictState=!1;this.addUnsavedStatus();this.ui.showError(mxResources.get("externalChanges"),mxResources.get("fileChangedOverwriteDialog"),mxResources.get("makeCopy"),mxUtils.bind(this,function(){this.copyFile(a,b)}),null,mxResources.get("overwrite"),f,mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog()}),360,150)}; -DrawioFile.prototype.showConflictDialog=function(a,b){this.ui.showError(mxResources.get("externalChanges"),mxResources.get("fileChangedSyncDialog"),mxResources.get("overwrite"),a,null,mxResources.get("synchronize"),b,mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog();this.handleFileError(null,!1)}),340,150)}; -DrawioFile.prototype.redirectToNewApp=function(a,b){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var f=window.location.protocol+"//"+window.location.host+"/"+this.ui.getSearch("create title mode url drive splash state".split(" "))+"#"+this.getHash(),d=mxResources.get("redirectToNewApp");null!=b&&(d+=" ("+b+")");var l=mxUtils.bind(this,function(){var b=mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href==f?window.location.reload(): -window.location.href=f});null==a&&this.isModified()?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1}),b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});null!=a?this.isModified()?this.ui.confirm(d,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()}),l,mxResources.get("cancel"),mxResources.get("discardChanges")):this.ui.confirm(d,l,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()})):this.ui.alert(mxResources.get("redirectToNewApp"), -l)}};DrawioFile.prototype.handleFileSuccess=function(a){this.ui.spinner.stop();this.ui.getCurrentFile()==this&&(this.isModified()?this.fileChanged():a?(this.isTrashed()?this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.allChangesSavedKey))+" ("+mxUtils.htmlEntities(mxResources.get("fileMovedToTrash"))+")"):this.addAllSavedStatus(),null!=this.sync&&(this.sync.resetUpdateStatusThread(),this.sync.remoteFileChanged&&(this.sync.remoteFileChanged=!1,this.sync.fileChangedNotify()))):this.ui.editor.setStatus(""))}; -DrawioFile.prototype.handleFileError=function(a,b){this.ui.spinner.stop();if(this.ui.getCurrentFile()==this)if(this.inConflictState)this.handleConflictError(a,b);else if(this.isModified()&&this.addUnsavedStatus(a),b)this.ui.handleError(a,null!=a?mxResources.get("errorSavingFile"):null);else if(!this.isModified()){var f=null!=a?null!=a.error?a.error.message:a.message:null;null!=f&&60'+ -mxUtils.htmlEntities(mxResources.get("error"))+(null!=f?" ("+mxUtils.htmlEntities(f)+")":"")+"")}}; -DrawioFile.prototype.handleConflictError=function(a,b){var f=mxUtils.bind(this,function(){this.handleFileSuccess(!0)}),d=mxUtils.bind(this,function(a){this.handleFileError(a,!0)}),l=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("saving"))&&(this.ui.editor.setStatus(""),this.save(!0,f,d,null,!0,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage))}),m=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("updatingDocument"))&& -this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get("saving"))&&this.save(!0,f,d,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),d)});"none"==DrawioFile.SYNC?this.showCopyDialog(f,d,l):this.invalidChecksum?this.showRefreshDialog(f,d,this.getErrorMessage(a)):b?this.showConflictDialog(l,m):this.addConflictStatus(mxUtils.bind(this,function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument"))); -this.synchronizeFile(f,d)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){return null!=a?null!=a.error?a.error.message:a.message:null};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval}; -DrawioFile.prototype.fileChanged=function(){this.lastChanged=new Date;this.setModified(!0);this.isAutosave()?(this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.ui.scheduleSanityCheck(),null==this.ageStart&&(this.ageStart=new Date),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&&(this.ui.scheduleSanityCheck(),this.ageStart= -this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())}; -DrawioFile.prototype.fileSaved=function(a,b,f,d){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=f&&f()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,f,d,a)}catch(p){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=d&&d(p);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,p);else{var l= -this.getCurrentUser(),m=null!=l?l.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),m,p)}}catch(v){}}}; -DrawioFile.prototype.autosave=function(a,b,f,d){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosavethis.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))}; -DrawioFile.prototype.close=function(a){this.updateFileData();this.stats.closed++;this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var f=a.lastIndexOf("."),d=0%position%
Email\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n'; -Editor.fastCompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.deflateRaw(a,{to:"string"})};Editor.fastDecompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.inflateRaw(a,{to:"string"})};Editor.extractGraphModel=function(a,c){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),e=[];if(null!=b&&0>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4);c+="==";break}k=a.charCodeAt(b++);if(b==e){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<< -4|(k&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);c+="=";break}g=a.charCodeAt(b++);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(k&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(g&192)>>6);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return c}; -Editor.prototype.loadUrl=function(a,c,b,e,d,k){try{var g=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);d=null!=d?d:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=c){var e=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var e=Array(a.length), -d=0;d>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var n=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(k(a,4),"IHDR"!=k(a,4))null!=d&&d();else{k(a,17);d=a.substring(0,n);do{var u=g(a); -if("IDAT"==k(a,4)){d=a.substring(0,n-8);b=b+String.fromCharCode(0)+("zTXt"==c?String.fromCharCode(0):"")+e;e=4294967295;e=EditorUi.prototype.updateCRC(e,c,0,4);e=EditorUi.prototype.updateCRC(e,b,0,b.length);d+=f(b.length)+c+b+f(e^4294967295);d+=a.substring(n-8,a.length);break}d+=a.substring(n-8,n-4+u);k(a,u);k(a,4)}while(u);return"data:image/png;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426"; -var l=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,c){l.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var m=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){m.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,c){var b=null;null!=a.editor.graph.getModel().getParent(c)?b=c.getId():null!=a.currentPage&& -(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var p=Format.prototype.init;Format.prototype.init=function(){p.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var v=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?v.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile(); -return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var z=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=z.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var c=this.editorUi,b=c.editor.graph,e=this.createOption(mxResources.get("shadow"),function(){return b.shadowVisible},function(a){var e=new ChangePageSetup(c);e.ignoreColor=!0;e.ignoreImage= -!0;e.shadowVisible=a;b.model.execute(e)},{install:function(a){this.listener=function(){a(b.shadowVisible)};c.addListener("shadowVisibleChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});Editor.shadowOptionEnabled||(e.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(e,60));a.appendChild(e)}return a};var B=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(a){a=B.apply(this,arguments);var c=this.editorUi, -b=c.editor.graph;if(b.isEnabled()){var e=c.getCurrentFile();if(null!=e&&e.isAutosaveOptional()){var d=this.createOption(mxResources.get("autosave"),function(){return c.editor.autosave},function(a){c.editor.setAutosave(a);c.editor.autosave&&e.isModified()&&e.fileChanged()},{install:function(a){this.listener=function(){a(c.editor.autosave)};c.editor.addListener("autosaveChanged",this.listener)},destroy:function(){c.editor.removeListener(this.listener)}});a.appendChild(d)}}if(this.isMathOptionVisible()&& -b.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return b.mathEnabled},function(a){c.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(b.mathEnabled)};c.addListener("mathEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});d.style.paddingTop="5px";a.appendChild(d);var k=c.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); -k.style.position="relative";k.style.marginLeft="6px";k.style.top="2px";d.appendChild(k)}return a};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"absoluteArcSize",dispName:"Abs. Arc Size",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.link.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:4}];mxCellRenderer.defaultShapes.flexArrow.prototype.customProperties= -[{name:"width",dispName:"Width",type:"float",min:0,defVal:10},{name:"startWidth",dispName:"Start Width",type:"float",min:0,defVal:20},{name:"endWidth",dispName:"End Width",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.process.prototype.customProperties=[{name:"size",dispName:"Indent",type:"float",min:0,max:.5,defVal:.1}];mxCellRenderer.defaultShapes.rhombus.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,max:50,defVal:mxConstants.LINE_ARCSIZE},{name:"double", -dispName:"Double",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.partialRectangle.prototype.customProperties=[{name:"top",dispName:"Top Line",type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left Line",type:"bool",defVal:!0},{name:"right",dispName:"Right Line",type:"bool",defVal:!0}];mxCellRenderer.defaultShapes.parallelogram.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE}, -{name:"size",dispName:"Slope Angle",type:"float",min:0,max:1,defVal:.2}];mxCellRenderer.defaultShapes.hexagon.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"size",dispName:"Slope Angle",type:"float",min:0,max:1,defVal:.25}];mxCellRenderer.defaultShapes.triangle.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE}];mxCellRenderer.defaultShapes.document.prototype.customProperties= -[{name:"size",dispName:"Size",type:"float",defVal:.3,min:0,max:1}];mxCellRenderer.defaultShapes.internalStorage.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"dx",dispName:"Left Line",type:"float",min:0,defVal:20},{name:"dy",dispName:"Top Line",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.cube.prototype.customProperties=[{name:"size",dispName:"Size",type:"float",min:0,defVal:20},{name:"darkOpacity",dispName:"Dark Opacity", -type:"float",min:-1,max:1,defVal:0},{name:"darkOpacity2",dispName:"Dark Opacity 2",type:"float",min:-1,max:1,defVal:0}];mxCellRenderer.defaultShapes.step.prototype.customProperties=[{name:"size",dispName:"Notch Size",type:"float",min:0,defVal:20},{name:"fixedSize",dispName:"Fixed Size",type:"bool",defVal:!0}];mxCellRenderer.defaultShapes.trapezoid.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"size",dispName:"Slope Angle", -type:"float",min:0,max:1,defVal:.2}];mxCellRenderer.defaultShapes.tape.prototype.customProperties=[{name:"size",dispName:"Size",type:"float",min:0,max:1,defVal:.4}];mxCellRenderer.defaultShapes.note.prototype.customProperties=[{name:"size",dispName:"Fold Size",type:"float",min:0,defVal:30},{name:"darkOpacity",dispName:"Dark Opacity",type:"float",min:-1,max:1,defVal:0}];mxCellRenderer.defaultShapes.card.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE}, -{name:"size",dispName:"Cutoff Size",type:"float",min:0,defVal:30}];mxCellRenderer.defaultShapes.callout.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"base",dispName:"Callout Width",type:"float",min:0,defVal:20},{name:"size",dispName:"Callout Length",type:"float",min:0,defVal:30},{name:"position",dispName:"Callout Position",type:"float",min:0,max:1,defVal:.5},{name:"position2",dispName:"Callout Tip Position",type:"float", -min:0,max:1,defVal:.5}];mxCellRenderer.defaultShapes.folder.prototype.customProperties=[{name:"tabWidth",dispName:"Tab Width",type:"float"},{name:"tabHeight",dispName:"Tab Height",type:"float"},{name:"tabPosition",dispName:"Tap Position",type:"enum",enumList:[{val:"left",dispName:"Left"},{val:"right",dispName:"Right"}]}];mxCellRenderer.defaultShapes.swimlane.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:15},{name:"startSize",dispName:"Header Size",type:"float"}, -{name:"horizontal",dispName:"Horizontal",type:"bool",defVal:!0},{name:"separatorColor",dispName:"Separator Color",type:"color",defVal:null}];mxCellRenderer.defaultShapes.doubleEllipse.prototype.customProperties=[{name:"margin",dispName:"Indent",type:"float",min:0,defVal:4}];mxCellRenderer.defaultShapes.ext.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:15},{name:"double",dispName:"Double",type:"bool",defVal:!1},{name:"margin",dispName:"Indent",type:"float", -min:0,defVal:0}];mxCellRenderer.defaultShapes.curlyBracket.prototype.customProperties=[{name:"rounded",dispName:"Rounded",type:"bool",defVal:!0},{name:"size",dispName:"Size",type:"float",min:0,max:1,defVal:.5}];mxCellRenderer.defaultShapes.image.prototype.customProperties=[{name:"imageAspect",dispName:"Fixed Image Aspect",type:"bool",defVal:!0}];mxCellRenderer.defaultShapes.label.prototype.customProperties=[{name:"imageAspect",dispName:"Fixed Image Aspect",type:"bool",defVal:!0},{name:"imageAlign", -dispName:"Image Align",type:"enum",enumList:[{val:"left",dispName:"Left"},{val:"center",dispName:"Center"},{val:"right",dispName:"Right"}],defVal:"left"},{name:"imageVerticalAlign",dispName:"Image Vertical Align",type:"enum",enumList:[{val:"top",dispName:"Top"},{val:"middle",dispName:"Middle"},{val:"bottom",dispName:"Bottom"}],defVal:"middle"},{name:"imageWidth",dispName:"Image Width",type:"float",min:0,defVal:24},{name:"imageHeight",dispName:"Image Height",type:"float",min:0,defVal:24},{name:"arcSize", -dispName:"Arc Size",type:"float",min:0,defVal:12},{name:"absoluteArcSize",dispName:"Abs. Arc Size",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.dataStorage.prototype.customProperties=[{name:"size",dispName:"Size",type:"float",min:0,max:1,defVal:.1}];mxCellRenderer.defaultShapes.manualInput.prototype.customProperties=[{name:"size",dispName:"Size",type:"float",min:0,defVal:30},{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.loopLimit.prototype.customProperties= -[{name:"size",dispName:"Size",type:"float",min:0,defVal:20},{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.offPageConnector.prototype.customProperties=[{name:"size",dispName:"Size",type:"float",min:0,defVal:38},{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.display.prototype.customProperties=[{name:"size",dispName:"Size",type:"float",min:0,max:1,defVal:.25}];mxCellRenderer.defaultShapes.singleArrow.prototype.customProperties= -[{name:"arrowWidth",dispName:"Arrow Width",type:"float",min:0,max:1,defVal:.3},{name:"arrowSize",dispName:"Arrowhead Length",type:"float",min:0,max:1,defVal:.2}];mxCellRenderer.defaultShapes.doubleArrow.prototype.customProperties=[{name:"arrowWidth",dispName:"Arrow Width",type:"float",min:0,max:1,defVal:.3},{name:"arrowSize",dispName:"Arrowhead Length",type:"float",min:0,max:1,defVal:.2}];mxCellRenderer.defaultShapes.cross.prototype.customProperties=[{name:"size",dispName:"Size",type:"float",min:0, -max:1,defVal:.2}];mxCellRenderer.defaultShapes.corner.prototype.customProperties=[{name:"dx",dispName:"Width1",type:"float",min:0,defVal:20},{name:"dy",dispName:"Width2",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.tee.prototype.customProperties=[{name:"dx",dispName:"Width1",type:"float",min:0,defVal:20},{name:"dy",dispName:"Width2",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.umlLifeline.prototype.customProperties=[{name:"participant",dispName:"Participant",type:"enum", -defVal:"none",enumList:[{val:"none",dispName:"Default"},{val:"umlActor",dispName:"Actor"},{val:"umlBoundary",dispName:"Boundary"},{val:"umlEntity",dispName:"Entity"},{val:"umlControl",dispName:"Control"}]},{name:"size",dispName:"Height",type:"float",defVal:40,min:0}];mxCellRenderer.defaultShapes.umlFrame.prototype.customProperties=[{name:"width",dispName:"Title Width",type:"float",defVal:60,min:0},{name:"height",dispName:"Title Height",type:"float",defVal:30,min:0}];StyleFormatPanel.prototype.defaultColorSchemes= -[[{fill:"",stroke:""},{fill:"#f5f5f5",stroke:"#666666",font:"#333333"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[{fill:"#60a917",stroke:"#2D7600",font:"#ffffff"},{fill:"#008a00",stroke:"#005700",font:"#ffffff"},{fill:"#1ba1e2",stroke:"#006EAF",font:"#ffffff"},{fill:"#0050ef",stroke:"#001DBC",font:"#ffffff"},{fill:"#6a00ff",stroke:"#3700CC", -font:"#ffffff"},{fill:"#aa00ff",stroke:"#7700CC",font:"#ffffff"},{fill:"#d80073",stroke:"#A50040",font:"#ffffff"},{fill:"#a20025",stroke:"#6F0000",font:"#ffffff"}],[{fill:"#e51400",stroke:"#B20000",font:"#ffffff"},{fill:"#fa6800",stroke:"#C73500",font:"#ffffff"},{fill:"#f0a30a",stroke:"#BD7000",font:"#ffffff"},{fill:"#e3c800",stroke:"#B09500",font:"#ffffff"},{fill:"#6d8764",stroke:"#3A5431",font:"#ffffff"},{fill:"#647687",stroke:"#314354",font:"#ffffff"},{fill:"#76608a",stroke:"#432D57",font:"#ffffff"}, -{fill:"#a0522d",stroke:"#6D1F00",font:"#ffffff"}],[{fill:"",stroke:""},{fill:mxConstants.NONE,stroke:""},{fill:"#fad7ac",stroke:"#b46504"},{fill:"#fad9d5",stroke:"#ae4132"},{fill:"#b0e3e6",stroke:"#0e8088"},{fill:"#b1ddf0",stroke:"#10739e"},{fill:"#d0cee2",stroke:"#56517e"},{fill:"#bac8d3",stroke:"#23445d"}],[{fill:"",stroke:""},{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",gradient:"#97d077"},{fill:"#ffcd28", -stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[{fill:"",stroke:""},{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];StyleFormatPanel.prototype.customColorSchemes= -null;StyleFormatPanel.prototype.findCommonProperties=function(a,c,b){if(null!=c){var e=function(a){if(null!=a)if(b)for(var e=0;eb.size&&(g=g.slice(0,b.size));c=g.join(",");null!=b.countProperty&& -(q.setCellStyles(b.countProperty,g.length,q.getSelectionCells()),d.push(b.countProperty),k.push(g.length))}q.setCellStyles(a,c,q.getSelectionCells());d.push(a);k.push(c);if(null!=b.dependentProps)for(a=0;ac)t=t.slice(0,c);else for(var y=t.length;yt.max&&(a=t.max);a=mxUtils.htmlEntities(("int"==x?parseInt(a):a)+"");e(c,a,t)}var g=document.createElement("input");d(C,g,!0);g.value=b;g.className="gePropEditor";"int"!=x&&"float"!=x||t.allowAuto||(g.type="number",g.step="int"==x?"1":"any",null!=t.min&&(g.min=parseFloat(t.min)),null!=t.max&&(g.max=parseFloat(t.max)));a.appendChild(g);mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&k()});g.focus();mxEvent.addListener(g,"blur",function(){k()})}))); -t.isDeletable&&(y=mxUtils.button("-",mxUtils.bind(u,function(a){e(c,"",t,t.index);mxEvent.consume(a)})),y.style.height="16px",y.style.width="25px",y.style["float"]="right",y.className="geColorBtn",C.appendChild(y));A.appendChild(C);return A}var u=this,q=this.editorUi.editor.graph,y=[];a.style.position="relative";a.style.padding="0";var l=document.createElement("table");l.style.whiteSpace="nowrap";l.style.width="100%";var x=document.createElement("tr");x.className="gePropHeader";var A=document.createElement("th"); -A.className="gePropHeaderCell";var C=document.createElement("img");C.src=Sidebar.prototype.expandedImage;A.appendChild(C);mxUtils.write(A,mxResources.get("property"));x.style.cursor="pointer";var m=function(){var c=l.querySelectorAll(".gePropNonHeaderRow"),b;if(u.editorUi.propertiesCollapsed){C.src=Sidebar.prototype.collapsedImage;b="none";for(var e=a.childNodes.length-1;0<=e;e--)try{var d=a.childNodes[e],k=d.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(d)}catch(J){}}else C.src=Sidebar.prototype.expandedImage, -b="";for(e=0;edocument.documentMode)?c.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":c.style.backgroundImage="linear-gradient("+a.fill+ -" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?c.style.background="url('"+Dialog.prototype.noColorImage+"')":c.style.backgroundColor=""==a.fill?mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),c.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR, -"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var b=mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");c.style.backgroundColor=b;c.style.border="1px solid "+g}d.appendChild(c)}d.innerHTML="";for(var b=0;b=a.length){for(var q=t=0;q'),c.writeln(a.editor.fontCss),c.writeln(""))};if("undefined"!==typeof MathJax){var C=b.renderPage;b.renderPage=function(a,c,b,e,d,k){var g=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;var f=C.apply(this,arguments);mxClient.NO_FO=g;this.graph.mathEnabled? -this.mathEnabled=this.mathEnabled||!0:f.className="geDisableMathJax";return f}}l=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(l=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());b.open(null,null,k,!0);null!=l&&(d.stylesheet=l,d.refresh())}else{x=c.background;if(null==x||""==x||x==mxConstants.NONE)x="#ffffff";b.backgroundColor=x;b.autoOrigin=F;b.appendGraph(c,A,l,u,k,!0)}g&&(c.useCssTransforms=g,c.currentTranslate=f,c.currentScale=n,c.view.translate=t,c.view.scale=q);return b} -var e=parseInt(ia.value)/100;isNaN(e)&&(e=1,ia.value="100 %");var e=.75*e,k=l.value,g=x.value,f=!q.checked,t=null;f&&(f=k==n&&g==n);if(!f&&null!=a.pages&&a.pages.length){var y=0,f=a.pages.length-1;q.checked||(y=parseInt(k)-1,f=parseInt(g)-1);for(var u=y;u<=f;u++){var A=a.pages[u],k=A==a.currentPage?d:null;if(null==k){var k=a.createTemporaryGraph(d.getStylesheet()),g=!0,y=!1,p=null,F=null;null==A.viewState&&null==A.root&&a.updatePageRoot(A);null!=A.viewState&&(g=A.viewState.pageVisible,y=A.viewState.mathEnabled, -p=A.viewState.background,F=A.viewState.backgroundImage);k.background=p;k.backgroundImage=null!=F?new mxImage(F.src,F.width,F.height):null;k.pageVisible=g;k.mathEnabled=y;var D=k.getGlobalVariable;k.getGlobalVariable=function(c){return"page"==c?A.getName():"pagenumber"==c?u+1:"pagecount"==c?null!=a.pages?a.pages.length:1:D.apply(this,arguments)};document.body.appendChild(k.container);a.updatePageRoot(A);k.model.setRoot(A.root)}t=b(k,t,u!=f);k!=d&&k.container.parentNode.removeChild(k.container)}}else t= -b(d);null==t?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(t.mathEnabled&&(f=t.wnd.document,f.writeln('