{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "rectangle",
      "version": 397,
      "versionNonce": 1936763527,
      "isDeleted": false,
      "id": "NcSRG9a4o9kO3zgmidtqU",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 691,
      "y": 96,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 295.99999999999983,
      "height": 247.00000000000003,
      "seed": 2088236043,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "06S0u8nfPEbZiWprqt9Mk"
      ]
    },
    {
      "type": "text",
      "version": 176,
      "versionNonce": 184781065,
      "isDeleted": false,
      "id": "8jHN3Tv9ghwRnrZdK2mO1",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 708,
      "y": 116,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 237,
      "height": 25,
      "seed": 1171192907,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [],
      "fontSize": 20,
      "fontFamily": 1,
      "text": "AttributeFormController",
      "baseline": 18,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "text",
      "version": 457,
      "versionNonce": 826662729,
      "isDeleted": false,
      "id": "K927ddBJULdbBJ4Gjac0O",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 701,
      "y": 173,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 282,
      "height": 160,
      "seed": 1066853541,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "06S0u8nfPEbZiWprqt9Mk",
        "UUl2TGSlepGRKKDF1n9Ns"
      ],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "- has FeatureLayerPair\n- parses QGIS form config\n    - create & owns FormModels\n    - create & owns TabModel\n- keeps the GUI config for widgets\n- keeps the data for models\n- knows current attr. values\n- CRUD for attributes   ",
      "baseline": 154,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "line",
      "version": 135,
      "versionNonce": 899645417,
      "isDeleted": false,
      "id": "xYC7uC-z_q5zzbRN4YRoz",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 699,
      "y": 158,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 235,
      "height": 1,
      "seed": 963405579,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": null,
      "endBinding": null,
      "points": [
        [
          0,
          0
        ],
        [
          235,
          -1
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null
    },
    {
      "type": "rectangle",
      "version": 528,
      "versionNonce": 369594151,
      "isDeleted": false,
      "id": "F2ok-E86eptw9NLdPH4B9",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 272,
      "y": 289,
      "strokeColor": "#862e9c",
      "backgroundColor": "transparent",
      "width": 319,
      "height": 275.99999999999994,
      "seed": 437890891,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "2E2sqJMJMge3MVdxylw4X"
      ]
    },
    {
      "type": "text",
      "version": 572,
      "versionNonce": 1421414983,
      "isDeleted": false,
      "id": "ScnFRjV9eJKtyOjz4IPVS",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 282,
      "y": 348,
      "strokeColor": "#862e9c",
      "backgroundColor": "transparent",
      "width": 255,
      "height": 60,
      "seed": 1985500901,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "06S0u8nfPEbZiWprqt9Mk",
        "2E2sqJMJMge3MVdxylw4X"
      ],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "\nFlickable TabButtons\n      - based on TabProxyModel",
      "baseline": 54,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "arrow",
      "version": 1023,
      "versionNonce": 2011508969,
      "isDeleted": false,
      "id": "06S0u8nfPEbZiWprqt9Mk",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 686.5253623188405,
      "y": 203.49765966704354,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 195.99286223648085,
      "height": 13.131241098582933,
      "seed": 600699205,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": {
        "elementId": "NcSRG9a4o9kO3zgmidtqU",
        "gap": 4.474637681159423,
        "focus": 0.1934903526700533
      },
      "endBinding": null,
      "points": [
        [
          0,
          0
        ],
        [
          -195.99286223648085,
          13.131241098582933
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "type": "rectangle",
      "version": 472,
      "versionNonce": 666690727,
      "isDeleted": false,
      "id": "BATH8I9krN0uZHTAEdGNs",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 680,
      "y": 408,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 305,
      "height": 97,
      "seed": 1519457061,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "2E2sqJMJMge3MVdxylw4X",
        "79ogA_1IiEErEtwZ98eUH",
        "MPhHrZMAaY8d5ExvkHWTu"
      ]
    },
    {
      "type": "text",
      "version": 257,
      "versionNonce": 2066103433,
      "isDeleted": false,
      "id": "LAOO-bomKlOEkDIXcqIaK",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 690,
      "y": 417,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 273,
      "height": 25,
      "seed": 555277739,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [],
      "fontSize": 20,
      "fontFamily": 1,
      "text": "QgsQuickFormTabProxyModel",
      "baseline": 18,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "text",
      "version": 437,
      "versionNonce": 1590717575,
      "isDeleted": false,
      "id": "hctOj50B-M7NX3dmqF4Lp",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 729,
      "y": 474,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 172,
      "height": 20,
      "seed": 1068328581,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "06S0u8nfPEbZiWprqt9Mk",
        "2E2sqJMJMge3MVdxylw4X"
      ],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "filter-out hidden tabs",
      "baseline": 14,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "line",
      "version": 233,
      "versionNonce": 102744937,
      "isDeleted": false,
      "id": "vof5tQ16BaLe6Y5QvPcZv",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 712,
      "y": 457,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 235,
      "height": 1,
      "seed": 1764094027,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": null,
      "endBinding": null,
      "points": [
        [
          0,
          0
        ],
        [
          235,
          -1
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null
    },
    {
      "type": "rectangle",
      "version": 664,
      "versionNonce": 318993993,
      "isDeleted": false,
      "id": "KEEjBhiAS2p2qmvU85089",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1033.5,
      "y": 348.5,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 300.99999999999994,
      "height": 171,
      "seed": 376385419,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "tgklEQhq8I41RTWM_fVyp",
        "MPhHrZMAaY8d5ExvkHWTu",
        "UUl2TGSlepGRKKDF1n9Ns"
      ]
    },
    {
      "type": "text",
      "version": 372,
      "versionNonce": 1875593609,
      "isDeleted": false,
      "id": "KfYYuTzvmHPDGiHvgPCNy",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1046.5,
      "y": 365.5,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 219,
      "height": 25,
      "seed": 788898469,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [],
      "fontSize": 20,
      "fontFamily": 1,
      "text": "QgsQuickFormTabModel",
      "baseline": 18,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "text",
      "version": 618,
      "versionNonce": 1230071367,
      "isDeleted": false,
      "id": "G4CSi1K__UkGmRpjwnMcz",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1054.5,
      "y": 414.5,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 269,
      "height": 60,
      "seed": 1737950763,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "06S0u8nfPEbZiWprqt9Mk",
        "MPhHrZMAaY8d5ExvkHWTu"
      ],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "- each tab, one row\n- autolayout has 1 \"fake\" row\n- no data, all stored in controller",
      "baseline": 54,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "line",
      "version": 353,
      "versionNonce": 941588265,
      "isDeleted": false,
      "id": "LFQoybgOJlMaVVLRsh8VW",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1043.5,
      "y": 400.5,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 235,
      "height": 1,
      "seed": 1172571653,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": null,
      "endBinding": null,
      "points": [
        [
          0,
          0
        ],
        [
          235,
          -1
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null
    },
    {
      "type": "arrow",
      "version": 1023,
      "versionNonce": 128923657,
      "isDeleted": false,
      "id": "MPhHrZMAaY8d5ExvkHWTu",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1020.2783505154639,
      "y": 449.5107180100187,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 31.12053113687716,
      "height": 1.8994737952069158,
      "seed": 1047206885,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": {
        "elementId": "KEEjBhiAS2p2qmvU85089",
        "gap": 13.221649484536082,
        "focus": -0.059765726212574186
      },
      "endBinding": {
        "elementId": "BATH8I9krN0uZHTAEdGNs",
        "gap": 4.157819378586724,
        "focus": 0.07735891505203435
      },
      "points": [
        [
          0,
          0
        ],
        [
          -31.12053113687716,
          1.8994737952069158
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "type": "arrow",
      "version": 1216,
      "versionNonce": 584612903,
      "isDeleted": false,
      "id": "2E2sqJMJMge3MVdxylw4X",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 675.4129660497719,
      "y": 467.378365579154,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 104.5285609560334,
      "height": 53.15985219933373,
      "seed": 1154153099,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": {
        "elementId": "BATH8I9krN0uZHTAEdGNs",
        "focus": -0.7200557269374304,
        "gap": 4.587033950228147
      },
      "endBinding": null,
      "points": [
        [
          0,
          0
        ],
        [
          -104.5285609560334,
          -53.15985219933373
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "type": "text",
      "version": 460,
      "versionNonce": 1914305993,
      "isDeleted": false,
      "id": "CI_29J3D2ZHSkuNcpcFzN",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 282,
      "y": 443,
      "strokeColor": "#862e9c",
      "backgroundColor": "transparent",
      "width": 299,
      "height": 100,
      "seed": 370747685,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "SwipeView Tabs \n     - based on TabProxyModel\n     - Each tab is ListView\n          - based on FormProxyModel\n          - each row is loaded widget",
      "baseline": 94,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "text",
      "version": 187,
      "versionNonce": 950159081,
      "isDeleted": false,
      "id": "nCSNT4StXc08ft1eQaqKA",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 262,
      "y": 210,
      "strokeColor": "#c92a2a",
      "backgroundColor": "transparent",
      "width": 262,
      "height": 80,
      "seed": 1071584517,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "1 x AttributeFormController\n1 x AttributePreviewController\n1 x RememberAttributesController\n",
      "baseline": 74,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "rectangle",
      "version": 892,
      "versionNonce": 1320728615,
      "isDeleted": false,
      "id": "J8YjUn9iNBBfPXwgJDWCN",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1002.6002392204481,
      "y": 546.25,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 305,
      "height": 97,
      "seed": 1291891941,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "tgklEQhq8I41RTWM_fVyp",
        "79ogA_1IiEErEtwZ98eUH"
      ]
    },
    {
      "type": "text",
      "version": 680,
      "versionNonce": 543916489,
      "isDeleted": false,
      "id": "89qhFXNU29BM2hZMSoOOU",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1027.6002392204482,
      "y": 557.25,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 237,
      "height": 25,
      "seed": 138229739,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "tgklEQhq8I41RTWM_fVyp"
      ],
      "fontSize": 20,
      "fontFamily": 1,
      "text": "QgsQuickFormProxyModel",
      "baseline": 18,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "text",
      "version": 944,
      "versionNonce": 257760071,
      "isDeleted": false,
      "id": "mPaoWoNLNj3eoW9PFjHc8",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1037.6002392204482,
      "y": 611.25,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 193,
      "height": 20,
      "seed": 256036933,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "06S0u8nfPEbZiWprqt9Mk",
        "79ogA_1IiEErEtwZ98eUH"
      ],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "filter-out hidden widgets",
      "baseline": 14,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "line",
      "version": 704,
      "versionNonce": 1963614377,
      "isDeleted": false,
      "id": "wh3GSPNR_oX_G_tOF0-qm",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1027.6002392204482,
      "y": 592.25,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 235,
      "height": 1,
      "seed": 390398603,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": null,
      "endBinding": null,
      "points": [
        [
          0,
          0
        ],
        [
          235,
          -1
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null
    },
    {
      "type": "rectangle",
      "version": 1420,
      "versionNonce": 489167689,
      "isDeleted": false,
      "id": "pJTtU-H0z02hVHjNnNnI6",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 663.1002392204479,
      "y": 547.75,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 280.99999999999994,
      "height": 160,
      "seed": 761954213,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "tgklEQhq8I41RTWM_fVyp",
        "79ogA_1IiEErEtwZ98eUH",
        "UUl2TGSlepGRKKDF1n9Ns"
      ]
    },
    {
      "type": "text",
      "version": 791,
      "versionNonce": 1412064137,
      "isDeleted": false,
      "id": "wNv-c-8wBmymsmaprdm97",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 689.1002392204479,
      "y": 557.75,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 183,
      "height": 25,
      "seed": 339376427,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [],
      "fontSize": 20,
      "fontFamily": 1,
      "text": "QgsQuickFormModel",
      "baseline": 18,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "text",
      "version": 1075,
      "versionNonce": 1214994953,
      "isDeleted": false,
      "id": "Q5DCKQnc6er6iBFHfSafO",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 682.1002392204479,
      "y": 616.75,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 256,
      "height": 60,
      "seed": 1034240773,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [
        "06S0u8nfPEbZiWprqt9Mk"
      ],
      "fontSize": 16,
      "fontFamily": 1,
      "text": "- each widget/container one row\n- no data, all data in controller\n- no logic, all logic in controller",
      "baseline": 54,
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "line",
      "version": 756,
      "versionNonce": 436669033,
      "isDeleted": false,
      "id": "-vDYVzihDVzWIgB94qJ11",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 681.1002392204479,
      "y": 600.75,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 235,
      "height": 1,
      "seed": 1283988427,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": null,
      "endBinding": null,
      "points": [
        [
          0,
          0
        ],
        [
          235,
          -1
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null
    },
    {
      "type": "arrow",
      "version": 2151,
      "versionNonce": 699385129,
      "isDeleted": false,
      "id": "tgklEQhq8I41RTWM_fVyp",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1083.7308154018156,
      "y": 535.3602242652951,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 0.035546409451399086,
      "height": 5.675360156140869,
      "seed": 879794789,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": {
        "elementId": "89qhFXNU29BM2hZMSoOOU",
        "gap": 21.88977573470492,
        "focus": -0.5194500905280865
      },
      "endBinding": {
        "elementId": "KEEjBhiAS2p2qmvU85089",
        "gap": 10.184864109154134,
        "focus": 0.6596749051870378
      },
      "points": [
        [
          0,
          0
        ],
        [
          0.035546409451399086,
          -5.675360156140869
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "type": "arrow",
      "version": 3928,
      "versionNonce": 850304265,
      "isDeleted": false,
      "id": "79ogA_1IiEErEtwZ98eUH",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 948.8881017466115,
      "y": 627.0921886578625,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 42.00102562104246,
      "height": 5.9387108411160625,
      "seed": 2085120619,
      "groupIds": [],
      "strokeSharpness": "round",
      "boundElementIds": [],
      "startBinding": {
        "elementId": "pJTtU-H0z02hVHjNnNnI6",
        "gap": 4.787862526163736,
        "focus": 0.19871876305691397
      },
      "endBinding": {
        "elementId": "J8YjUn9iNBBfPXwgJDWCN",
        "gap": 11.711111852794309,
        "focus": -0.04545848882537686
      },
      "points": [
        [
          0,
          0
        ],
        [
          42.00102562104246,
          -5.9387108411160625
        ]
      ],
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "id": "maIvRc_1wtxppk_W-h5lo",
      "type": "rectangle",
      "x": 222.050119610224,
      "y": 140.5,
      "width": 381,
      "height": 571,
      "angle": 0,
      "strokeColor": "#c92a2a",
      "backgroundColor": "transparent",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "seed": 1534534023,
      "version": 129,
      "versionNonce": 1288949897,
      "isDeleted": false,
      "boundElementIds": [
        "UUl2TGSlepGRKKDF1n9Ns"
      ]
    },
    {
      "id": "wPc0aYXjgaf5hw4liXjcc",
      "type": "text",
      "x": 244.050119610224,
      "y": 160.5,
      "width": 201,
      "height": 25,
      "angle": 0,
      "strokeColor": "#c92a2a",
      "backgroundColor": "transparent",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "seed": 1111583111,
      "version": 61,
      "versionNonce": 1471431721,
      "isDeleted": false,
      "boundElementIds": null,
      "text": "Feature Panel (QML)",
      "fontSize": 20,
      "fontFamily": 1,
      "textAlign": "left",
      "verticalAlign": "top",
      "baseline": 18
    },
    {
      "id": "SzBV53JnfXkQ-mlXXrdvm",
      "type": "text",
      "x": 294.050119610224,
      "y": 308.5,
      "width": 196,
      "height": 25,
      "angle": 0,
      "strokeColor": "#862e9c",
      "backgroundColor": "transparent",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "seed": 938692105,
      "version": 49,
      "versionNonce": 1606430439,
      "isDeleted": false,
      "boundElementIds": null,
      "text": "Feature Form (QML)",
      "fontSize": 20,
      "fontFamily": 1,
      "textAlign": "left",
      "verticalAlign": "top",
      "baseline": 18
    },
    {
      "id": "MRwL4cph_VapVuZrKt9CY",
      "type": "rectangle",
      "x": 269.050119610224,
      "y": 580.5,
      "width": 326,
      "height": 117,
      "angle": 0,
      "strokeColor": "#862e9c",
      "backgroundColor": "transparent",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "seed": 1003346023,
      "version": 106,
      "versionNonce": 1702753129,
      "isDeleted": false,
      "boundElementIds": [
        "UUl2TGSlepGRKKDF1n9Ns"
      ]
    },
    {
      "id": "evV2O5YuyeotqWt6eP55X",
      "type": "text",
      "x": 286.050119610224,
      "y": 593.5,
      "width": 159,
      "height": 25,
      "angle": 0,
      "strokeColor": "#862e9c",
      "backgroundColor": "transparent",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "seed": 245813289,
      "version": 46,
      "versionNonce": 975391015,
      "isDeleted": false,
      "boundElementIds": null,
      "text": "Feature Toolbar",
      "fontSize": 20,
      "fontFamily": 1,
      "textAlign": "left",
      "verticalAlign": "top",
      "baseline": 18
    },
    {
      "id": "eGsNv7jUGI2tMWsMqVzFU",
      "type": "text",
      "x": 351.050119610224,
      "y": 641.5,
      "width": 224,
      "height": 20,
      "angle": 0,
      "strokeColor": "#862e9c",
      "backgroundColor": "transparent",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "seed": 829022089,
      "version": 107,
      "versionNonce": 1655303463,
      "isDeleted": false,
      "boundElementIds": null,
      "text": "Save, Create, Delete, Edit",
      "fontSize": 16,
      "fontFamily": 1,
      "textAlign": "left",
      "verticalAlign": "top",
      "baseline": 14
    }
  ],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  }
}