
(Frame scrolling node
  (scrollable area size 800 600)
  (contents size 800 1016)
  (scrollable area parameters
    (horizontal scroll elasticity 1)
    (vertical scroll elasticity 1)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0))
  (layout viewport at (0,0) size 800x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,416))
  (behavior for fixed 0)
  (children 1
    (Fixed node
      (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
      (viewport rect at last layout at (0,0) size 800x600)
      (layer position at last layout (8,10))
      (children 1
        (Frame hosting node
          (children 1
            (Frame scrolling node
              (scrollable area size 500 300)
              (contents size 500 420)
              (scrollable area parameters
                (horizontal scroll elasticity 1)
                (vertical scroll elasticity 1)
                (horizontal scrollbar mode 1)
                (vertical scrollbar mode 1))
              (layout viewport at (0,0) size 500x300)
              (min layout viewport origin (0,0))
              (max layout viewport origin (0,120))
              (behavior for fixed 0)
              (children 2
                (Overflow scrolling node
                  (scrollable area size 400 300)
                  (contents size 400 1760)
                  (scrollable area parameters
                    (horizontal scroll elasticity 1)
                    (vertical scroll elasticity 1)
                    (horizontal scrollbar mode 0)
                    (vertical scrollbar mode 0)
                    (allows vertical scrolling 1))
                  (children 1
                    (Sticky node
                      (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
                      (top offset 10.00)
                      (bottom offset 10.00)
                      (containing block rect at (0,0) size 400x1760)
                      (sticky box rect at (0,830) size 100x100)
                      (constraining rect at (0,0) size 400x300)
                      (sticky offset at last layout width=0 height=-640)
                      (layer position at last layout (0,190))
                    )
                  )
                )
                (Sticky node
                  (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
                  (top offset 10.00)
                  (bottom offset 10.00)
                  (containing block rect at (8,8) size 484x404)
                  (sticky box rect at (8,312) size 100x100)
                  (constraining rect at (0,0) size 500x300)
                  (sticky offset at last layout width=0 height=-122)
                  (layer position at last layout (8,190))
                )
              )
            )
          )
        )
      )
    )
  )
)

