demo_capture = {
   "demoIndex": 5,
   "demoVersion": "5.a.soft",
   "date": "10/27/2022, 6:01:16 PM",
   "capturedAtFrame": 21781,
   "canvasDimensions": {
      "width": 600,
      "height": 600
   },
   "gravity": false,
   "comSelection": true,
   "fullScreenDemo": false,
   "globalCompositeOperation": "source-over",
   "wallMapData": {},
   "puckMapData": {
      "puck1": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck1",
         "position_2d_m": {
            "x": 1.036447946820809,
            "y": 1.3658383352420695
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 3
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 1.30822526844716,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.15,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck2": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck2",
         "position_2d_m": {
            "x": 1.5362152255191277,
            "y": 1.381091765757106
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": -1.08
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 1.30822526844716,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.25,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck6": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck6",
         "position_2d_m": {
            "x": 1.4999999999999993,
            "y": 5
         },
         "velocity_2d_mps": {
            "x": 6.5,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.2,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck5": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck5",
         "position_2d_m": {
            "x": 4.500000000000001,
            "y": 5
         },
         "velocity_2d_mps": {
            "x": -6.5,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.2,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck11": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck11",
         "position_2d_m": {
            "x": 1.4999999999999993,
            "y": 4.25
         },
         "velocity_2d_mps": {
            "x": 6.5,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.2,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck12": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck12",
         "position_2d_m": {
            "x": 4.500000000000001,
            "y": 4.25
         },
         "velocity_2d_mps": {
            "x": -6.5,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.2,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck13": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck13",
         "position_2d_m": {
            "x": 1.5099999999999996,
            "y": 3.5100000000000002
         },
         "velocity_2d_mps": {
            "x": 6.5,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.2,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck14": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck14",
         "position_2d_m": {
            "x": 4.510000000000001,
            "y": 3.5100000000000002
         },
         "velocity_2d_mps": {
            "x": -6.5,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.2,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck19": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck19",
         "position_2d_m": {
            "x": 4.819883639349159,
            "y": 1.4476267152575184
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": -1.08
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 1.30822526844716,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.25,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck20": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck20",
         "position_2d_m": {
            "x": 4.32011636065084,
            "y": 1.432373284742482
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 3
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tailPars": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 1.30822526844716,
         "angularSpeed_rps": 0,
         "angleLine": true,
         "borderWidth_px": 3,
         "restitution": 1,
         "restitution_fixed": false,
         "friction": 0.6,
         "friction_fixed": false,
         "radius_m": 0.15,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      }
   },
   "pinMapData": {
      "pin1": {
         "cursorPin": false,
         "name": "pin1",
         "position_2d_m": {
            "x": 1,
            "y": 5
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "radius_px": 6,
         "groupIndex": 0,
         "categoryBits": 0,
         "maskBits": 0,
         "deleted": false,
         "NPC": false,
         "nextPinName": null,
         "previousPinName": null,
         "visible": true,
         "color": "blue",
         "borderColor": "gray",
         "navLineColor": "white"
      },
      "pin2": {
         "cursorPin": false,
         "name": "pin2",
         "position_2d_m": {
            "x": 5,
            "y": 5
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "radius_px": 6,
         "groupIndex": 0,
         "categoryBits": 0,
         "maskBits": 0,
         "deleted": false,
         "NPC": false,
         "nextPinName": null,
         "previousPinName": null,
         "visible": true,
         "color": "blue",
         "borderColor": "gray",
         "navLineColor": "white"
      },
      "pin3": {
         "cursorPin": false,
         "name": "pin3",
         "position_2d_m": {
            "x": 1,
            "y": 4.25
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "radius_px": 6,
         "groupIndex": 0,
         "categoryBits": 0,
         "maskBits": 0,
         "deleted": false,
         "NPC": false,
         "nextPinName": null,
         "previousPinName": null,
         "visible": true,
         "color": "blue",
         "borderColor": "gray",
         "navLineColor": "white"
      },
      "pin4": {
         "cursorPin": false,
         "name": "pin4",
         "position_2d_m": {
            "x": 5,
            "y": 4.25
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "radius_px": 6,
         "groupIndex": 0,
         "categoryBits": 0,
         "maskBits": 0,
         "deleted": false,
         "NPC": false,
         "nextPinName": null,
         "previousPinName": null,
         "visible": true,
         "color": "blue",
         "borderColor": "gray",
         "navLineColor": "white"
      },
      "pin5": {
         "cursorPin": false,
         "name": "pin5",
         "position_2d_m": {
            "x": 1.0100000000000002,
            "y": 3.5100000000000002
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "radius_px": 6,
         "groupIndex": 0,
         "categoryBits": 0,
         "maskBits": 0,
         "deleted": false,
         "NPC": false,
         "nextPinName": null,
         "previousPinName": null,
         "visible": true,
         "color": "blue",
         "borderColor": "gray",
         "navLineColor": "white"
      },
      "pin6": {
         "cursorPin": false,
         "name": "pin6",
         "position_2d_m": {
            "x": 5.010000000000001,
            "y": 3.5100000000000002
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "radius_px": 6,
         "groupIndex": 0,
         "categoryBits": 0,
         "maskBits": 0,
         "deleted": false,
         "NPC": false,
         "nextPinName": null,
         "previousPinName": null,
         "visible": true,
         "color": "blue",
         "borderColor": "gray",
         "navLineColor": "white"
      }
   },
   "springMapData": {
      "s1": {
         "name": "s1",
         "color": "yellow",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": 0,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 0.5,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "puck1",
         "spo1_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "p2_name": "puck2",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": false
      },
      "s2": {
         "name": "s2",
         "color": "yellow",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": -6.661338147750939e-16,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 2.0,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "pin1",
         "p2_name": "puck6",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": false
      },
      "s4": {
         "name": "s4",
         "color": "cyan",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": -8.881784197001252e-16,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 2.0,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "pin2",
         "p2_name": "puck5",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": true
      },
      "s7": {
         "name": "s7",
         "color": "yellow",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": -6.661338147750939e-16,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 0.5,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "pin3",
         "p2_name": "puck11",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": false
      },
      "s8": {
         "name": "s8",
         "color": "cyan",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": -8.881784197001252e-16,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 0.5,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "pin4",
         "p2_name": "puck12",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": true
      },
      "s9": {
         "name": "s9",
         "color": "yellow",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": -6.661338147750939e-16,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 0.0,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "pin5",
         "p2_name": "puck13",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": false
      },
      "s10": {
         "name": "s10",
         "color": "cyan",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": 0,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 0.0,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "pin6",
         "p2_name": "puck14",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": true
      },
      "s13": {
         "name": "s13",
         "color": "cyan",
         "visible": true,
         "length_m": 0.5,
         "stretch_m": 2.220446049250313e-16,
         "strength_Npm": 5,
         "unstretched_width_m": 0.05,
         "drag_c": 0,
         "damper_Ns2pm2": 0.5,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "puck20",
         "spo1_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "p2_name": "puck19",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": true
      }
   },
   "jointMapData": {},
   "startingPosAndVels": [],
   "clients": {
      "local": {
         "color": "red",
         "name": "local",
         "bulletAgeLimit_ms": null
      }
   }
}