Blocked access to external URL http://example.org/image.jpg
layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0,0) size 480x360
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (10,49) size 410x230
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGRect {rect} at (0,0) size 1x1 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=1.00] [height=1.00]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
        RenderSVGImage {image} at (0,0) size 1x1
        RenderSVGResourceRadialGradient {radialGradient} [id="g"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50] [focalRadius=0.00]
        RenderSVGText {text}
        RenderSVGText {text} at (0,-15) size 73x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 73x18
            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 44.01: "some"
            chunk 1 text run 2 at (43.83,0.00) startOffset 4 endOffset 5 width 5.00: "t"
            chunk 1 text run 3 at (48.58,0.00) startOffset 5 endOffset 6 width 10.01: "e"
            chunk 1 text run 4 at (58.10,0.00) startOffset 6 endOffset 8 width 14.00: "xt"
        RenderSVGResourceMarker {marker} [id="m"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=0.00]
        RenderSVGViewportContainer {svg} at (0,0) size 0x0
        RenderSVGResourceFilter {filter} [id="f"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
        RenderSVGPath {polygon} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [points=""]
      RenderSVGContainer {g} at (10,49) size 140x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,50.00)}]
        RenderSVGRect {rect} at (10,51) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 130x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 130x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 3.00: "r"
            chunk 1 text run 2 at (12.38,7.00) startOffset 1 endOffset 9 width 35.02: ".x.baseV"
            chunk 1 text run 3 at (46.86,7.00) startOffset 9 endOffset 13 width 14.00: "al.v"
            chunk 1 text run 4 at (60.71,7.00) startOffset 13 endOffset 25 width 48.54: "alue == 0: P"
            chunk 1 text run 5 at (108.54,7.00) startOffset 25 endOffset 30 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,59) size 287x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
        RenderSVGRect {rect} at (10,61) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 277x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 277x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 3.00: "r"
            chunk 1 text run 2 at (12.38,7.00) startOffset 1 endOffset 9 width 35.02: ".x.baseV"
            chunk 1 text run 3 at (46.86,7.00) startOffset 9 endOffset 17 width 29.51: "al.unitT"
            chunk 1 text run 4 at (75.47,7.00) startOffset 17 endOffset 28 width 46.53: "ype == 1 (S"
            chunk 1 text run 5 at (121.63,7.00) startOffset 28 endOffset 29 width 6.00: "V"
            chunk 1 text run 6 at (127.25,7.00) startOffset 29 endOffset 34 width 29.51: "G_LEN"
            chunk 1 text run 7 at (156.74,7.00) startOffset 34 endOffset 35 width 7.00: "G"
            chunk 1 text run 8 at (163.35,7.00) startOffset 35 endOffset 38 width 17.50: "THT"
            chunk 1 text run 9 at (181.03,7.00) startOffset 38 endOffset 52 width 76.01: "YPE_NUMBER): P"
            chunk 1 text run 10 at (256.34,7.00) startOffset 52 endOffset 57 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,69) size 232x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,70.00)}]
        RenderSVGRect {rect} at (10,71) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 222x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 222x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 6 width 18.50: ".widt"
            chunk 1 text run 3 at (32.36,7.00) startOffset 6 endOffset 13 width 33.02: "h.baseV"
            chunk 1 text run 4 at (64.85,7.00) startOffset 13 endOffset 17 width 14.00: "al.v"
            chunk 1 text run 5 at (78.69,7.00) startOffset 17 endOffset 29 width 49.53: "alueInSpecif"
            chunk 1 text run 6 at (128.20,7.00) startOffset 29 endOffset 33 width 18.50: "iedU"
            chunk 1 text run 7 at (146.66,7.00) startOffset 33 endOffset 42 width 34.52: "nits == 1"
            chunk 1 text run 8 at (180.63,7.00) startOffset 42 endOffset 47 width 21.01: "00: P"
            chunk 1 text run 9 at (200.94,7.00) startOffset 47 endOffset 52 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,79) size 327x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,80.00)}]
        RenderSVGRect {rect} at (10,81) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 317x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 317x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 6 width 18.50: ".widt"
            chunk 1 text run 3 at (32.36,7.00) startOffset 6 endOffset 13 width 33.02: "h.baseV"
            chunk 1 text run 4 at (64.85,7.00) startOffset 13 endOffset 21 width 29.51: "al.unitT"
            chunk 1 text run 5 at (93.46,7.00) startOffset 21 endOffset 32 width 46.53: "ype == 2 (S"
            chunk 1 text run 6 at (139.61,7.00) startOffset 32 endOffset 33 width 6.00: "V"
            chunk 1 text run 7 at (145.23,7.00) startOffset 33 endOffset 38 width 29.51: "G_LEN"
            chunk 1 text run 8 at (174.73,7.00) startOffset 38 endOffset 39 width 7.00: "G"
            chunk 1 text run 9 at (181.33,7.00) startOffset 39 endOffset 42 width 17.50: "THT"
            chunk 1 text run 10 at (199.01,7.00) startOffset 42 endOffset 49 width 41.52: "YPE_PER"
            chunk 1 text run 11 at (240.38,7.00) startOffset 49 endOffset 53 width 24.50: "CENT"
            chunk 1 text run 12 at (264.02,7.00) startOffset 53 endOffset 54 width 6.00: "A"
            chunk 1 text run 13 at (269.71,7.00) startOffset 54 endOffset 60 width 27.01: "GE): P"
            chunk 1 text run 14 at (296.02,7.00) startOffset 60 endOffset 65 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,89) size 286x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
        RenderSVGRect {rect} at (10,91) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 276x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 276x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 10.01: "tt.t"
            chunk 1 text run 2 at (19.88,7.00) startOffset 4 endOffset 5 width 5.00: "e"
            chunk 1 text run 3 at (24.64,7.00) startOffset 5 endOffset 12 width 29.52: "xtLengt"
            chunk 1 text run 4 at (54.14,7.00) startOffset 12 endOffset 19 width 33.02: "h.baseV"
            chunk 1 text run 5 at (86.63,7.00) startOffset 19 endOffset 23 width 14.00: "al.v"
            chunk 1 text run 6 at (100.47,7.00) startOffset 23 endOffset 36 width 50.04: "alue == tt.ge"
            chunk 1 text run 7 at (150.42,7.00) startOffset 36 endOffset 40 width 21.50: "tCom"
            chunk 1 text run 8 at (171.96,7.00) startOffset 40 endOffset 43 width 12.51: "put"
            chunk 1 text run 9 at (184.35,7.00) startOffset 43 endOffset 46 width 15.51: "edT"
            chunk 1 text run 10 at (199.00,7.00) startOffset 46 endOffset 47 width 5.00: "e"
            chunk 1 text run 11 at (203.76,7.00) startOffset 47 endOffset 54 width 29.52: "xtLengt"
            chunk 1 text run 12 at (233.25,7.00) startOffset 54 endOffset 60 width 22.00: "h(): P"
            chunk 1 text run 13 at (254.56,7.00) startOffset 60 endOffset 65 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,99) size 135x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,100.00)}]
        RenderSVGRect {rect} at (10,101) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 125x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 125x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 14.51: "s.of"
            chunk 1 text run 2 at (24.71,7.00) startOffset 4 endOffset 7 width 12.01: "fse"
            chunk 1 text run 3 at (36.62,7.00) startOffset 7 endOffset 14 width 30.52: "t.baseV"
            chunk 1 text run 4 at (66.61,7.00) startOffset 14 endOffset 24 width 38.53: "al == 0: P"
            chunk 1 text run 5 at (104.44,7.00) startOffset 24 endOffset 29 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,109) size 185x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
        RenderSVGRect {rect} at (10,111) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 175x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 175x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 15.00: "c.pr"
            chunk 1 text run 2 at (24.90,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
            chunk 1 text run 3 at (42.67,7.00) startOffset 8 endOffset 9 width 4.50: "v"
            chunk 1 text run 4 at (46.98,7.00) startOffset 9 endOffset 21 width 56.03: "eAlpha.baseV"
            chunk 1 text run 5 at (102.48,7.00) startOffset 21 endOffset 28 width 25.02: "al == f"
            chunk 1 text run 6 at (127.42,7.00) startOffset 28 endOffset 35 width 27.51: "alse: P"
            chunk 1 text run 7 at (154.23,7.00) startOffset 35 endOffset 40 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,119) size 159x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
        RenderSVGRect {rect} at (10,121) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 149x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 149x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 8 width 34.00: "c.classN"
            chunk 1 text run 2 at (43.96,7.00) startOffset 8 endOffset 17 width 45.52: "ame.baseV"
            chunk 1 text run 3 at (88.95,7.00) startOffset 17 endOffset 28 width 39.91: "al == \"\": P"
            chunk 1 text run 4 at (128.16,7.00) startOffset 28 endOffset 33 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,129) size 128x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,130.00)}]
        RenderSVGRect {rect} at (10,131) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 118x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 118x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 12.50: "i.hr"
            chunk 1 text run 2 at (22.40,7.00) startOffset 4 endOffset 12 width 35.52: "ef.baseV"
            chunk 1 text run 3 at (57.39,7.00) startOffset 12 endOffset 23 width 39.91: "al == \"\": P"
            chunk 1 text run 4 at (96.61,7.00) startOffset 23 endOffset 28 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,139) size 209x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,140.00)}]
        RenderSVGRect {rect} at (10,141) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 199x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 199x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 7.50: "i.r"
            chunk 1 text run 2 at (17.40,7.00) startOffset 3 endOffset 5 width 10.01: "eq"
            chunk 1 text run 3 at (27.44,7.00) startOffset 5 endOffset 8 width 10.00: "uir"
            chunk 1 text run 4 at (37.34,7.00) startOffset 8 endOffset 11 width 15.51: "edF"
            chunk 1 text run 5 at (52.63,7.00) startOffset 11 endOffset 16 width 20.51: "eatur"
            chunk 1 text run 6 at (73.04,7.00) startOffset 16 endOffset 29 width 57.02: "es.numberOfIt"
            chunk 1 text run 7 at (129.94,7.00) startOffset 29 endOffset 40 width 48.53: "ems == 0: P"
            chunk 1 text run 8 at (177.77,7.00) startOffset 40 endOffset 45 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,149) size 227x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,150.00)}]
        RenderSVGRect {rect} at (10,151) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 217x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 217x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 11.50: "c.k"
            chunk 1 text run 2 at (21.31,7.00) startOffset 3 endOffset 12 width 38.01: "ernelMatr"
            chunk 1 text run 3 at (59.33,7.00) startOffset 12 endOffset 20 width 34.51: "ix.baseV"
            chunk 1 text run 4 at (93.31,7.00) startOffset 20 endOffset 33 width 54.52: "al.numberOfIt"
            chunk 1 text run 5 at (147.71,7.00) startOffset 33 endOffset 44 width 48.53: "ems == 0: P"
            chunk 1 text run 6 at (195.53,7.00) startOffset 44 endOffset 49 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,159) size 180x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,160.00)}]
        RenderSVGRect {rect} at (10,161) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 170x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 170x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 9 width 37.52: "t.x.baseV"
            chunk 1 text run 2 at (46.99,7.00) startOffset 9 endOffset 22 width 54.52: "al.numberOfIt"
            chunk 1 text run 3 at (101.39,7.00) startOffset 22 endOffset 33 width 48.53: "ems == 0: P"
            chunk 1 text run 4 at (149.21,7.00) startOffset 33 endOffset 38 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,169) size 168x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,170.00)}]
        RenderSVGRect {rect} at (10,171) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 158x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 158x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 19 width 79.04: "p.points.numberOfIt"
            chunk 1 text run 2 at (88.91,7.00) startOffset 19 endOffset 30 width 48.53: "ems == 0: P"
            chunk 1 text run 3 at (136.74,7.00) startOffset 30 endOffset 35 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,179) size 356x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,180.00)}]
        RenderSVGRect {rect} at (10,181) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 346x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 346x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 15.51: "g.gr"
            chunk 1 text run 2 at (25.46,7.00) startOffset 4 endOffset 11 width 31.01: "adientU"
            chunk 1 text run 3 at (56.44,7.00) startOffset 11 endOffset 21 width 42.02: "nits.baseV"
            chunk 1 text run 4 at (97.93,7.00) startOffset 21 endOffset 31 width 39.02: "al == 2 (S"
            chunk 1 text run 5 at (136.58,7.00) startOffset 31 endOffset 32 width 6.00: "V"
            chunk 1 text run 6 at (142.20,7.00) startOffset 32 endOffset 40 width 43.51: "G_UNIT_T"
            chunk 1 text run 7 at (185.89,7.00) startOffset 40 endOffset 51 width 64.52: "YPE_OBJECTB"
            chunk 1 text run 8 at (250.34,7.00) startOffset 51 endOffset 57 width 35.50: "OUNDIN"
            chunk 1 text run 9 at (285.82,7.00) startOffset 57 endOffset 59 width 13.01: "GB"
            chunk 1 text run 10 at (298.76,7.00) startOffset 59 endOffset 60 width 7.00: "O"
            chunk 1 text run 11 at (305.35,7.00) startOffset 60 endOffset 65 width 20.01: "X): P"
            chunk 1 text run 12 at (324.66,7.00) startOffset 65 endOffset 70 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,189) size 150x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
        RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 140x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 140x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 7.51: "f.f"
            chunk 1 text run 2 at (17.49,7.00) startOffset 3 endOffset 6 width 6.50: "ilt"
            chunk 1 text run 3 at (23.86,7.00) startOffset 6 endOffset 9 width 14.50: "erR"
            chunk 1 text run 4 at (38.25,7.00) startOffset 9 endOffset 18 width 43.52: "esX.baseV"
            chunk 1 text run 5 at (81.24,7.00) startOffset 18 endOffset 28 width 38.53: "al == 0: P"
            chunk 1 text run 6 at (119.07,7.00) startOffset 28 endOffset 33 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,199) size 186x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
        RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 176x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 176x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 18.00: "m.or"
            chunk 1 text run 2 at (28.01,7.00) startOffset 4 endOffset 19 width 65.54: "ientAngle.baseV"
            chunk 1 text run 3 at (93.02,7.00) startOffset 19 endOffset 23 width 14.00: "al.v"
            chunk 1 text run 4 at (106.86,7.00) startOffset 23 endOffset 35 width 48.54: "alue == 0: P"
            chunk 1 text run 5 at (154.69,7.00) startOffset 35 endOffset 40 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,209) size 349x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
        RenderSVGRect {rect} at (10,211) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 339x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 339x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 18.00: "m.or"
            chunk 1 text run 2 at (28.01,7.00) startOffset 4 endOffset 19 width 65.54: "ientAngle.baseV"
            chunk 1 text run 3 at (93.02,7.00) startOffset 19 endOffset 27 width 29.51: "al.unitT"
            chunk 1 text run 4 at (121.63,7.00) startOffset 27 endOffset 38 width 46.53: "ype == 1 (S"
            chunk 1 text run 5 at (167.78,7.00) startOffset 38 endOffset 39 width 6.00: "V"
            chunk 1 text run 6 at (173.40,7.00) startOffset 39 endOffset 43 width 24.51: "G_AN"
            chunk 1 text run 7 at (197.89,7.00) startOffset 43 endOffset 47 width 23.51: "GLET"
            chunk 1 text run 8 at (221.58,7.00) startOffset 47 endOffset 66 width 97.52: "YPE_UNSPECIFIED): P"
            chunk 1 text run 9 at (318.40,7.00) startOffset 66 endOffset 71 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,219) size 215x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,220.00)}]
        RenderSVGRect {rect} at (10,221) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 205x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 205x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 5 width 14.00: ".vie"
            chunk 1 text run 3 at (27.80,7.00) startOffset 5 endOffset 8 width 17.50: "wBo"
            chunk 1 text run 4 at (45.06,7.00) startOffset 8 endOffset 15 width 32.52: "x.baseV"
            chunk 1 text run 5 at (77.05,7.00) startOffset 15 endOffset 22 width 23.51: "al.[x,y"
            chunk 1 text run 6 at (99.93,7.00) startOffset 22 endOffset 27 width 18.50: ",widt"
            chunk 1 text run 7 at (118.40,7.00) startOffset 27 endOffset 44 width 66.05: "h,height] == 0: P"
            chunk 1 text run 8 at (183.75,7.00) startOffset 44 endOffset 49 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,229) size 214x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,230.00)}]
        RenderSVGRect {rect} at (10,231) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 204x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 204x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 10.50: "t.tr"
            chunk 1 text run 2 at (20.46,7.00) startOffset 4 endOffset 8 width 17.01: "ansf"
            chunk 1 text run 3 at (37.38,7.00) startOffset 8 endOffset 17 width 43.51: "orm.baseV"
            chunk 1 text run 4 at (80.36,7.00) startOffset 17 endOffset 30 width 54.52: "al.numberOfIt"
            chunk 1 text run 5 at (134.76,7.00) startOffset 30 endOffset 41 width 48.53: "ems == 0: P"
            chunk 1 text run 6 at (182.58,7.00) startOffset 41 endOffset 46 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,239) size 410x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,240.00)}]
        RenderSVGRect {rect} at (10,241) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 400x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 400x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 4 width 10.50: ".pr"
            chunk 1 text run 3 at (24.28,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
            chunk 1 text run 4 at (42.05,7.00) startOffset 8 endOffset 9 width 4.50: "v"
            chunk 1 text run 5 at (46.36,7.00) startOffset 9 endOffset 17 width 39.01: "eAspectR"
            chunk 1 text run 6 at (85.24,7.00) startOffset 17 endOffset 27 width 42.52: "atio.baseV"
            chunk 1 text run 7 at (127.23,7.00) startOffset 27 endOffset 43 width 60.53: "al.align == 6 (S"
            chunk 1 text run 8 at (187.39,7.00) startOffset 43 endOffset 44 width 6.00: "V"
            chunk 1 text run 9 at (193.01,7.00) startOffset 44 endOffset 52 width 49.01: "G_PRESER"
            chunk 1 text run 10 at (241.68,7.00) startOffset 52 endOffset 62 width 60.52: "VEASPECTRA"
            chunk 1 text run 11 at (301.36,7.00) startOffset 62 endOffset 70 width 42.51: "TIO_XMID"
            chunk 1 text run 12 at (343.30,7.00) startOffset 70 endOffset 78 width 36.50: "YMID): P"
            chunk 1 text run 13 at (379.10,7.00) startOffset 78 endOffset 83 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,249) size 374x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,250.00)}]
        RenderSVGRect {rect} at (10,251) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 364x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 364x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 4 width 10.50: ".pr"
            chunk 1 text run 3 at (24.28,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
            chunk 1 text run 4 at (42.05,7.00) startOffset 8 endOffset 9 width 4.50: "v"
            chunk 1 text run 5 at (46.36,7.00) startOffset 9 endOffset 17 width 39.01: "eAspectR"
            chunk 1 text run 6 at (85.24,7.00) startOffset 17 endOffset 27 width 42.52: "atio.baseV"
            chunk 1 text run 7 at (127.23,7.00) startOffset 27 endOffset 33 width 27.01: "al.mee"
            chunk 1 text run 8 at (154.15,7.00) startOffset 33 endOffset 49 width 64.03: "tOrSlice == 1 (S"
            chunk 1 text run 9 at (217.80,7.00) startOffset 49 endOffset 50 width 6.00: "V"
            chunk 1 text run 10 at (223.43,7.00) startOffset 50 endOffset 56 width 37.01: "G_MEET"
            chunk 1 text run 11 at (260.06,7.00) startOffset 56 endOffset 72 width 83.52: "ORSLICE_MEET): P"
            chunk 1 text run 12 at (342.87,7.00) startOffset 72 endOffset 77 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,259) size 273x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,260.00)}]
        RenderSVGRect {rect} at (10,261) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 263x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 263x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 10 width 46.52: ".zoomAndP"
            chunk 1 text run 3 at (60.15,7.00) startOffset 10 endOffset 20 width 42.03: "an == 2 (S"
            chunk 1 text run 4 at (101.80,7.00) startOffset 20 endOffset 21 width 6.00: "V"
            chunk 1 text run 5 at (107.42,7.00) startOffset 21 endOffset 31 width 64.01: "G_ZOOMANDP"
            chunk 1 text run 6 at (170.73,7.00) startOffset 31 endOffset 36 width 31.01: "AN_MA"
            chunk 1 text run 7 at (201.42,7.00) startOffset 36 endOffset 45 width 41.51: "GNIFY): P"
            chunk 1 text run 8 at (242.23,7.00) startOffset 45 endOffset 50 width 30.51: "ASSED"
      RenderSVGContainer {g} at (10,269) size 94x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,270.00)}]
        RenderSVGRect {rect} at (10,271) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
        RenderSVGText {text} at (10,-1) size 84x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 84x9
            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 5.50: "T"
            chunk 1 text run 2 at (14.64,7.00) startOffset 1 endOffset 3 width 9.50: "es"
            chunk 1 text run 3 at (24.12,7.00) startOffset 3 endOffset 6 width 9.50: "t s"
            chunk 1 text run 4 at (33.60,7.00) startOffset 6 endOffset 7 width 2.50: "t"
            chunk 1 text run 5 at (36.09,7.00) startOffset 7 endOffset 14 width 28.02: "atus: P"
            chunk 1 text run 6 at (63.41,7.00) startOffset 14 endOffset 19 width 30.51: "ASSED"
    RenderSVGContainer {g} at (10,314) size 227x33
      RenderSVGText {text} at (10,314) size 227x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 227x32
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 2 width 40.90: "$R"
          chunk 1 text run 2 at (50.51,340.00) startOffset 2 endOffset 3 width 17.79: "e"
          chunk 1 text run 3 at (67.82,340.00) startOffset 3 endOffset 12 width 117.38: "vision: 1"
          chunk 1 text run 4 at (182.83,340.00) startOffset 12 endOffset 16 width 53.38: ".9 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
    RenderSVGContainer {g} at (0,0) size 480x23
      RenderSVGRect {rect} at (0,0) size 480x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [x=1.00] [y=1.00] [width=478.00] [height=20.00]
      RenderSVGText {text} at (206,2) size 68x20 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 67x20
          chunk 1 (middle anchor) text run 1 at (206.67,18.00) startOffset 0 endOffset 5 width 66.66: "DRAFT"
