
(Frame scrolling node
  (scrollable area size 785 600)
  (contents size 785 1016)
  (scrollable area parameters
    (horizontal scroll elasticity 1)
    (vertical scroll elasticity 1)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0)
    (allows vertical scrolling 1))
  (layout viewport at (0,0) size 785x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,416))
  (behavior for fixed 0)
  (children 1
    (Frame hosting node
      (children 1
        (Frame scrolling node
          (scrollable area size 485 300)
          (contents size 485 420)
          (scrollable area parameters
            (horizontal scroll elasticity 1)
            (vertical scroll elasticity 1)
            (horizontal scrollbar mode 0)
            (vertical scrollbar mode 0)
            (allows vertical scrolling 1))
          (layout viewport at (0,0) size 485x300)
          (min layout viewport origin (0,0))
          (max layout viewport origin (0,120))
          (behavior for fixed 0)
          (children 2
            (Overflow scrolling node
              (scrollable area size 385 285)
              (contents size 385 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 385x1760)
                  (sticky box rect at (0,830) size 100x100)
                  (constraining rect at (0,0) size 385x285)
                  (sticky offset at last layout width=0 height=-655)
                  (layer position at last layout (0,175))
                )
              )
            )
            (Sticky node
              (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
              (top offset 10.00)
              (bottom offset 10.00)
              (containing block rect at (8,8) size 469x404)
              (sticky box rect at (8,312) size 100x100)
              (constraining rect at (0,0) size 485x300)
              (sticky offset at last layout width=0 height=-122)
              (layer position at last layout (8,190))
            )
          )
        )
      )
    )
  )
)

