(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 668.00)
  (visible rect 0.00, 0.00 800.00 x 600.00)
  (coverage rect 0.00, 0.00 800.00 x 600.00)
  (intersects coverage rect 1)
  (contentsScale 2.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 668.00)
      (contentsOpaque 1)
      (visible rect 0.00, 0.00 800.00 x 600.00)
      (coverage rect 0.00, 0.00 800.00 x 600.00)
      (intersects coverage rect 1)
      (contentsScale 2.00)
      (children 2
        (GraphicsLayer
          (position 18.00 10.00)
          (bounds 304.00 304.00)
          (visible rect 0.00, 0.00 304.00 x 304.00)
          (coverage rect -18.00, -10.00 800.00 x 600.00)
          (intersects coverage rect 1)
          (contentsScale 2.00)
          (children 1
            (GraphicsLayer
              (offsetFromRenderer width=2 height=2)
              (position 2.00 2.00)
              (bounds 300.00 300.00)
              (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.26 0.26 1.00 -0.00] [0.00 0.00 0.00 1.00])
              (visible rect 0.00, 0.00 300.00 x 300.00)
              (coverage rect 0.00, 0.00 300.00 x 300.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
              (children 1
                (GraphicsLayer
                  (bounds 300.00 0.00)
                  (preserves3D 1)
                  (transform [0.94 0.00 -0.34 0.00] [0.00 1.00 0.00 0.00] [0.34 0.00 0.94 0.00] [0.00 0.00 0.00 1.00])
                  (visible rect 0.00, 0.00 0.00 x 0.00)
                  (coverage rect -2.95, -8.50 360.07 x 353.13)
                  (intersects coverage rect 0)
                  (contentsScale 2.00)
                  (children 1
                    (GraphicsLayer
                      (bounds 300.00 0.00)
                      (preserves3D 1)
                      (transform [0.94 0.00 -0.34 0.00] [0.00 1.00 0.00 0.00] [0.34 0.00 0.94 0.00] [0.00 0.00 0.00 1.00])
                      (visible rect 0.00, 0.00 0.00 x 0.00)
                      (coverage rect -27.90, -32.04 593.31 x 500.27)
                      (intersects coverage rect 0)
                      (contentsScale 2.00)
                      (children 1
                        (GraphicsLayer
                          (bounds 500.00 500.00)
                          (contentsOpaque 1)
                          (transform [1.00 0.00 0.00 0.00] [0.00 0.82 0.57 0.00] [0.00 -0.57 0.82 0.00] [0.00 0.00 0.00 1.00])
                          (visible rect 0.00, 0.00 500.00 x 369.91)
                          (coverage rect -21.28, -198.73 1388.86 x 568.64)
                          (intersects coverage rect 1)
                          (contentsScale 2.00)
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
        (GraphicsLayer
          (position 18.00 324.00)
          (bounds 304.00 304.00)
          (visible rect 0.00, 0.00 304.00 x 276.00)
          (coverage rect -18.00, -324.00 800.00 x 600.00)
          (intersects coverage rect 1)
          (contentsScale 2.00)
          (children 1
            (GraphicsLayer
              (offsetFromRenderer width=2 height=2)
              (position 2.00 2.00)
              (bounds 300.00 300.00)
              (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.26 0.26 1.00 -0.00] [0.00 0.00 0.00 1.00])
              (visible rect 0.00, 0.00 300.00 x 274.00)
              (coverage rect 0.00, 0.00 300.00 x 274.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
              (children 1
                (GraphicsLayer
                  (bounds 300.00 0.00)
                  (preserves3D 1)
                  (visible rect 0.00, 0.00 0.00 x 0.00)
                  (coverage rect 0.00, 0.00 300.00 x 274.00)
                  (intersects coverage rect 0)
                  (contentsScale 2.00)
                  (children 1
                    (GraphicsLayer
                      (bounds 300.00 0.00)
                      (preserves3D 1)
                      (transform [0.77 0.00 -0.64 0.00] [0.00 1.00 0.00 0.00] [0.64 0.00 0.77 0.00] [0.00 0.00 0.00 1.00])
                      (visible rect 0.00, 0.00 0.00 x 0.00)
                      (coverage rect -27.90, -32.04 593.31 x 456.91)
                      (intersects coverage rect 0)
                      (contentsScale 2.00)
                      (children 1
                        (GraphicsLayer
                          (bounds 500.00 500.00)
                          (contentsOpaque 1)
                          (transform [1.00 0.00 0.00 0.00] [0.00 0.82 0.57 0.00] [0.00 -0.57 0.82 0.00] [0.00 0.00 0.00 1.00])
                          (visible rect 0.00, 0.00 500.00 x 351.87)
                          (coverage rect -15.25, -198.73 1382.84 x 550.60)
                          (intersects coverage rect 1)
                          (contentsScale 2.00)
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  )
)

