{
  "id": "153651d6-9b88-423c-b01b-861f12d01489",
  "className": "canvas-image",
  "zoom": 100,
  "objectData": {
    "label": "learning",
    "description": "",
    "created": 1481766985426,
    "updated": 1481766986579
  },
  "userData": {
    "typeId": "stream"
  },
  "diagram": {
    "id": "153651d6-9b88-423c-b01b-861f12d01489",
    "nodes": [
      {
        "id": "idGWRVT47XDV",
        "inputPorts": [
          {
            "name": "inPort",
            "label": "Input Port",
            "cardinality": "0:1"
          }
        ],
        "outputPorts": [
          {
            "name": "outPort",
            "label": "Output Port",
            "cardinality": "0:1"
          }
        ],
        "image": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9Ii0wLjkgLTEuNCA0Ni41IDQxLjgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgLTAuOSAtMS40IDQ2LjUgNDEuODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzFEMzY0OTt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMxNTI5MzU7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQ0KCS5zdDJ7ZmlsbDpub25lO3N0cm9rZTojRjlGOUZCO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Qze2ZpbGw6I0Y5RjlGQjt9DQoJLnN0NHtmaWxsOiM0MUQ2QzM7fQ0KPC9zdHlsZT4NCjxnPg0KCQ0KCQk8aW1hZ2Ugc3R5bGU9Im92ZXJmbG93OnZpc2libGU7b3BhY2l0eTowLjY2O2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAgICA7IiB3aWR0aD0iNTIiIGhlaWdodD0iNDUiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRFFBQUFBdENBWUFBQURob1VpNEFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBCkdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUJXVkpSRUZVZU5yTVd0MXVHa2NZM1psZERKaS8KcEZ1czBrU3hXaUdydG9zbFYxRnVXcW0rOEN1WWw3RDhETFpmeDM0SlYxVnYwcW9YVGswa3gzSGtSQTBWWkYzL3NBWU1POVB6YlpZVgpKZnpza2dWMnBkSENpSjJaTStkOFoyYStoU25qWFV4S3FlenY3ek5sQXRmdTdxNWt6RzVhK2g2WTN3ZjI5dmE0WVJnUlhkZWp6V1l6CmNuOS9IeWlvVkNvbDBINGI3VGZ3dFkzK2hKL25OYjlnYXJWYVBKRklaQUhta1JEaWdZWUxiQVVDQ3F4STB6UmJ5V1RTdUx1N2UxZXYKMXcxVTMvdGh5ZzhnUnN4RW85RUZ4VktlQ2k2ZW9adkhVcEV4cGdSR2t1U2NtOUtTcHdEM0MrYXFzYlcxMVQ0OFBMUUNCNFNHT1dZdQphVm5XdDVMSkgxSDFFMG9PWlM0d3ZVbWJpUnB1RDhGNkZhRCtXVjFkdlFNZzRaVWxyNEFZR283YzNOem9rVWhrQ1Uydm9HNFJKUU4yCjFBQkRpQWFkSkpreHlkYkEwT3ZiMjl2TGc0T0RWckZZOU1TUzZwRWROWlBKcERGankram9aOGJaT3FxekRqdmNNWmNnQ25jTFUxcTQKWDZxcSt1SHE2cXEyc2JIUlBqbzZHc2tTOThvT1RFQUhvRHc2eWtNT091b2o0N2lraDRzN0xIM0RGZjRNZmEwMUdvMEZpbDh2L1kxawpDSFNyNStmbkdkRC9YUTg3a3dMVVlZcllqd0pVUzBoUmljVmlsN2xjcmxrcWxlVFlESkZObzRFNHdGRHdMNk9ycFFtejQ0NEwvY1RKCmRHQVF5MURHRWltRWxES3EzMkVNc1VLaE1BY2J6YUh4cDVpcERkUVZVTDUwekdTU2dHaE5vdlpWK3k0VWs2dThqSFhQR01VU0gyWFQKYU9TamxoVzVodXFGS2JEVExiMklyUWpFTGNXdkY1YTRCeU5ZSXRwdCtqL0tnQ3ZUdTZpdkJNYXdDSllLa1A0aWJEeUp1T2ErSkRmSQpDTkR3dE5qcFpvbjVzWEZ0bUJHQWtXa2FnU2NiaCtNWnNIRnMrY3kvKyszejFEQVpRUkEyemtObUJKOXQ0enlFUmpESXhtM3BqVElJCmRkUitiUVpHOEZrR29mWFpUZWZ4UFQ5akl4aHBFQ2kwenpOdzRLeEJWZTg3QnNFN3NWT3RWaE13Z3lkZzUzdm5hSkFJZzlUNkxiWVUKMTRqeEFvNHVQNENsUjJRV2xPTndZd2pzcVBGNG5PVDJCTEZENkw4SUlUdmRMTVV3VHRvZ2YwMW5NcGhZcEpPd3NjOHkxOWZYS2dVLwpBRDBFYWdJMkYxSXdMaWlNVWNNS0ZLV3dnWVd6YnJRU1ptRGhCM1dBK2hmSWIzRDNsWmlZd1NVd3hqYW12RW1aSVN5MDhuKzJmWEp5Cll0WHJkUUx5Rmd5OUlRZEJhWVVVRk9VWEdoaG5GWGN5ZzJ2RWZvdHllUzRnU2tKa3Mxa1RXbndybWZ3TFZSY29wdk53bUM3cFRIUkYKS09JRjFQU25aVm0wQldvNmlVblh4U1JZYWtXalVRTXNuZUd4TS96QUNDRkxOTUUxRkZMUmM0enhHQnVicXE3cjdqaGRXeWFXQU1ocwp0OXNYcUgwQllCZDJTa2xLRVNaMjdJbVd5aWsrdjhSWXl5c3JLL1h1N0dyM090UE4waWswK2hKMVpUS0xrRWlQeG1EYUU0MEpwNGxQCnBWSzFZckVvQm01T2lTVmFlUkZrYjZEUjV3QjFUSG9OZ2ZTNjJUbWpzS0NKSndKNng5VjdIcEtPSGl0d3ZXTnMwM1dBK29vV0w1UUgKWHZONGdhT0I3QUdtNXJMVGFsL016OCtiVGtaMStCR2M5RWk2SkgyU1RrbXZNellJNGNpK1RHRkE0VENJbllFNUJkSWw2VE1FQnVIYQpOTW1md29EQ2djS2lIenZEa2lSaE1RalhwdTJZaGsxam0xUHB0bW5QZVRrY2JaWDE5WFVMb0N6RUVzZnVOdTFzV2hQT2Myd0s3TnpUCkd3aDgrZ085L1lwRjlCWEdkTHU5dlQxd1VvZTlmWmlwUWZRemduUTYvWWxOKzAwRno4b2dmQm1CWjBCRERHS1MrenpmUnVBTDBBejIKZWI2TndKTXA5QnJFNXVhbVFDd3BxcVltMEN5OWpkQ2RYQmx6T2dxaUNDYzNVUFpqQkY1TjRST1c4dm04Z1E0b2prcTI0MGs3VHpZWAo1RXRqaDUwekhHT09TZVplakdBY1FQWStiMmRucHdicG5XdE0rMDF5U1JKNFRPZjdBRk1nQk1oa2twM2ljd2tTLytERkNNWUMxTEZ4CnhHWUZRdjJkTS82ZS9xY0Fkb0w3bjRMQ0pOcHNhWnBtQ0V1OEEwT21GeVBvVFF2NXVzTCtUNUp4QnhQYS8vcjhKOEFBUTdDd2E0S0cKRFIwQUFBQUFTVVZPUks1Q1lJST0iIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgLTMgLTIpIj4NCgk8L2ltYWdlPg0KCTxnPg0KCQk8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjExLjEsMzcgMC40LDE4LjUgMTEuMSwwIDMyLjYsMCA0My40LDE4LjUgMzIuNiwzNyAJCSIvPg0KCQk8cG9seWdvbiBjbGFzcz0ic3QxIiBwb2ludHM9IjExLjEsMzcgMC40LDE4LjUgMTEuMSwwIDMyLjYsMCA0My40LDE4LjUgMzIuNiwzNyAJCSIvPg0KCTwvZz4NCjwvZz4NCjxsaW5lIGNsYXNzPSJzdDIiIHgxPSIxMCIgeTE9IjguNSIgeDI9IjI1IiB5Mj0iOC41Ii8+DQo8cG9seWdvbiBjbGFzcz0ic3QzIiBwb2ludHM9IjI5LDExLjYgMjksMTAgMjUsMTAgMjUsNyAyOSw3IDI5LDQuOSAzNC44LDguMiAiLz4NCjxsaW5lIGNsYXNzPSJzdDIiIHgxPSIxMCIgeTE9IjE4LjUiIHgyPSIyNSIgeTI9IjE4LjUiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDMiIHBvaW50cz0iMjksMjEuNiAyOSwyMCAyNSwyMCAyNSwxNyAyOSwxNyAyOSwxNC45IDM0LjgsMTguMiAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDMiIHBvaW50cz0iMjksMzEuNiAyOSwzMCAyNSwzMCAyNSwyNyAyOSwyNyAyOSwyNC45IDM0LjgsMjguMiAiLz4NCjxyZWN0IHg9IjE1LjIiIHk9IjI0LjUiIGNsYXNzPSJzdDQiIHdpZHRoPSIxLjkiIGhlaWdodD0iNy43Ii8+DQo8cmVjdCB4PSIxMi4zIiB5PSIyNy4zIiBjbGFzcz0ic3Q0IiB3aWR0aD0iNy43IiBoZWlnaHQ9IjEuOSIvPg0KPC9zdmc+DQo=",
        "x_pos": 300,
        "y_pos": 25,
        "className": "canvas-node",
        "objectData": {
          "label": "No Custom Attrs",
          "description": ""
        },
        "userData": {
        },
        "decorations": [
        ]
      },
      {
        "id": "id1ZZTZ3ZMYWL",
        "inputPorts": [
          {
            "name": "inPort",
            "label": "Input Port",
            "cardinality": "0:1"
          }
        ],
        "outputPorts": [
          {
            "name": "outPort",
            "label": "Output Port",
            "cardinality": "0:1"
          }
        ],
        "image": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9Ii0wLjkgLTEuNCA0Ni41IDQxLjgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgLTAuOSAtMS40IDQ2LjUgNDEuODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzFEMzY0OTt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMxNTI5MzU7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQ0KCS5zdDJ7ZmlsbDpub25lO3N0cm9rZTojRjlGOUZCO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Qze2ZpbGw6I0Y5RjlGQjt9DQoJLnN0NHtmaWxsOiM0MUQ2QzM7fQ0KPC9zdHlsZT4NCjxnPg0KCQ0KCQk8aW1hZ2Ugc3R5bGU9Im92ZXJmbG93OnZpc2libGU7b3BhY2l0eTowLjY2O2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAgICA7IiB3aWR0aD0iNTIiIGhlaWdodD0iNDUiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRFFBQUFBdENBWUFBQURob1VpNEFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBCkdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUJXVkpSRUZVZU5yTVd0MXVHa2NZM1psZERKaS8KcEZ1czBrU3hXaUdydG9zbFYxRnVXcW0rOEN1WWw3RDhETFpmeDM0SlYxVnYwcW9YVGswa3gzSGtSQTBWWkYzL3NBWU1POVB6YlpZVgpKZnpza2dWMnBkSENpSjJaTStkOFoyYStoU25qWFV4S3FlenY3ek5sQXRmdTdxNWt6RzVhK2g2WTN3ZjI5dmE0WVJnUlhkZWp6V1l6CmNuOS9IeWlvVkNvbDBINGI3VGZ3dFkzK2hKL25OYjlnYXJWYVBKRklaQUhta1JEaWdZWUxiQVVDQ3F4STB6UmJ5V1RTdUx1N2UxZXYKMXcxVTMvdGh5ZzhnUnN4RW85RUZ4VktlQ2k2ZW9adkhVcEV4cGdSR2t1U2NtOUtTcHdEM0MrYXFzYlcxMVQ0OFBMUUNCNFNHT1dZdQphVm5XdDVMSkgxSDFFMG9PWlM0d3ZVbWJpUnB1RDhGNkZhRCtXVjFkdlFNZzRaVWxyNEFZR283YzNOem9rVWhrQ1Uydm9HNFJKUU4yCjFBQkRpQWFkSkpreHlkYkEwT3ZiMjl2TGc0T0RWckZZOU1TUzZwRWROWlBKcERGankram9aOGJaT3FxekRqdmNNWmNnQ25jTFUxcTQKWDZxcSt1SHE2cXEyc2JIUlBqbzZHc2tTOThvT1RFQUhvRHc2eWtNT091b2o0N2lraDRzN0xIM0RGZjRNZmEwMUdvMEZpbDh2L1kxawpDSFNyNStmbkdkRC9YUTg3a3dMVVlZcllqd0pVUzBoUmljVmlsN2xjcmxrcWxlVFlESkZObzRFNHdGRHdMNk9ycFFtejQ0NEwvY1RKCmRHQVF5MURHRWltRWxES3EzMkVNc1VLaE1BY2J6YUh4cDVpcERkUVZVTDUwekdTU2dHaE5vdlpWK3k0VWs2dThqSFhQR01VU0gyWFQKYU9TamxoVzVodXFGS2JEVExiMklyUWpFTGNXdkY1YTRCeU5ZSXRwdCtqL0tnQ3ZUdTZpdkJNYXdDSllLa1A0aWJEeUp1T2ErSkRmSQpDTkR3dE5qcFpvbjVzWEZ0bUJHQWtXa2FnU2NiaCtNWnNIRnMrY3kvKyszejFEQVpRUkEyemtObUJKOXQ0enlFUmpESXhtM3BqVElJCmRkUitiUVpHOEZrR29mWFpUZWZ4UFQ5akl4aHBFQ2kwenpOdzRLeEJWZTg3QnNFN3NWT3RWaE13Z3lkZzUzdm5hSkFJZzlUNkxiWVUKMTRqeEFvNHVQNENsUjJRV2xPTndZd2pzcVBGNG5PVDJCTEZENkw4SUlUdmRMTVV3VHRvZ2YwMW5NcGhZcEpPd3NjOHkxOWZYS2dVLwpBRDBFYWdJMkYxSXdMaWlNVWNNS0ZLV3dnWVd6YnJRU1ptRGhCM1dBK2hmSWIzRDNsWmlZd1NVd3hqYW12RW1aSVN5MDhuKzJmWEp5Cll0WHJkUUx5Rmd5OUlRZEJhWVVVRk9VWEdoaG5GWGN5ZzJ2RWZvdHllUzRnU2tKa3Mxa1RXbndybWZ3TFZSY29wdk53bUM3cFRIUkYKS09JRjFQU25aVm0wQldvNmlVblh4U1JZYWtXalVRTXNuZUd4TS96QUNDRkxOTUUxRkZMUmM0enhHQnVicXE3cjdqaGRXeWFXQU1ocwp0OXNYcUgwQllCZDJTa2xLRVNaMjdJbVd5aWsrdjhSWXl5c3JLL1h1N0dyM090UE4waWswK2hKMVpUS0xrRWlQeG1EYUU0MEpwNGxQCnBWSzFZckVvQm01T2lTVmFlUkZrYjZEUjV3QjFUSG9OZ2ZTNjJUbWpzS0NKSndKNng5VjdIcEtPSGl0d3ZXTnMwM1dBK29vV0w1UUgKWHZONGdhT0I3QUdtNXJMVGFsL016OCtiVGtaMStCR2M5RWk2SkgyU1RrbXZNellJNGNpK1RHRkE0VENJbllFNUJkSWw2VE1FQnVIYQpOTW1md29EQ2djS2lIenZEa2lSaE1RalhwdTJZaGsxam0xUHB0bW5QZVRrY2JaWDE5WFVMb0N6RUVzZnVOdTFzV2hQT2Myd0s3TnpUCkd3aDgrZ085L1lwRjlCWEdkTHU5dlQxd1VvZTlmWmlwUWZRemduUTYvWWxOKzAwRno4b2dmQm1CWjBCRERHS1MrenpmUnVBTDBBejIKZWI2TndKTXA5QnJFNXVhbVFDd3BxcVltMEN5OWpkQ2RYQmx6T2dxaUNDYzNVUFpqQkY1TjRST1c4dm04Z1E0b2prcTI0MGs3VHpZWAo1RXRqaDUwekhHT09TZVplakdBY1FQWStiMmRucHdicG5XdE0rMDF5U1JKNFRPZjdBRk1nQk1oa2twM2ljd2tTLytERkNNWUMxTEZ4CnhHWUZRdjJkTS82ZS9xY0Fkb0w3bjRMQ0pOcHNhWnBtQ0V1OEEwT21GeVBvVFF2NXVzTCtUNUp4QnhQYS8vcjhKOEFBUTdDd2E0S0cKRFIwQUFBQUFTVVZPUks1Q1lJST0iIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgLTMgLTIpIj4NCgk8L2ltYWdlPg0KCTxnPg0KCQk8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjExLjEsMzcgMC40LDE4LjUgMTEuMSwwIDMyLjYsMCA0My40LDE4LjUgMzIuNiwzNyAJCSIvPg0KCQk8cG9seWdvbiBjbGFzcz0ic3QxIiBwb2ludHM9IjExLjEsMzcgMC40LDE4LjUgMTEuMSwwIDMyLjYsMCA0My40LDE4LjUgMzIuNiwzNyAJCSIvPg0KCTwvZz4NCjwvZz4NCjxsaW5lIGNsYXNzPSJzdDIiIHgxPSIxMCIgeTE9IjguNSIgeDI9IjI1IiB5Mj0iOC41Ii8+DQo8cG9seWdvbiBjbGFzcz0ic3QzIiBwb2ludHM9IjI5LDExLjYgMjksMTAgMjUsMTAgMjUsNyAyOSw3IDI5LDQuOSAzNC44LDguMiAiLz4NCjxsaW5lIGNsYXNzPSJzdDIiIHgxPSIxMCIgeTE9IjE4LjUiIHgyPSIyNSIgeTI9IjE4LjUiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDMiIHBvaW50cz0iMjksMjEuNiAyOSwyMCAyNSwyMCAyNSwxNyAyOSwxNyAyOSwxNC45IDM0LjgsMTguMiAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDMiIHBvaW50cz0iMjksMzEuNiAyOSwzMCAyNSwzMCAyNSwyNyAyOSwyNyAyOSwyNC45IDM0LjgsMjguMiAiLz4NCjxyZWN0IHg9IjE1LjIiIHk9IjI0LjUiIGNsYXNzPSJzdDQiIHdpZHRoPSIxLjkiIGhlaWdodD0iNy43Ii8+DQo8cmVjdCB4PSIxMi4zIiB5PSIyNy4zIiBjbGFzcz0ic3Q0IiB3aWR0aD0iNy43IiBoZWlnaHQ9IjEuOSIvPg0KPC9zdmc+DQo=",
        "x_pos": 600,
        "y_pos": 25,
        "className": "canvas-node",
        "objectData": {
          "label": "Custom Attrs",
          "description": ""
        },
        "userData": {
        },
        "decorations": [
        ],
        "customAttrs": [
          "data-attr1",
          "data-attr2"
        ]
      }
    ],
    "comments": [
      {
        "id": "id42ESQA3VPXB",
        "x_pos": 10,
        "y_pos": 10,
        "width": 200,
        "height": 180,
        "className": "",
        "content": "This canvas tests addition of custom attributes to a node. The node on the right has two custom attributes addded to it called data-attr1 and data-attr2. If you look at the dom in the debugger tools you should see them set on the node's image. The node on the right is shown with a faded out image if the data-attr1 custom attribute is applied correctly.",
        "userData": {
          "associatedIds": [
             "id2PZSCTRPRIJ"
           ]
        },
        "isCut": false
      }
    ],
    "links": []
  },
  "parents": [
    {
      "id": "153651d6-9b88-423c-b01b-861f12d01489",
      "label": "druglearn"
    }
  ]
}
