{
  "$id": "1",
  "$type": "NINA.Sequencer.Container.SequenceRootContainer, NINA.Sequencer",
  "Strategy": {
    "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
  },
  "Name": "AstroPM - Multi-Night with Safety (Example)",
  "Conditions": {
    "$id": "2",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
    "$values": []
  },
  "IsExpanded": true,
  "Items": {
    "$id": "3",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
    "$values": [
      {
        "$id": "4",
        "$type": "NINA.Sequencer.Container.StartAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "Start",
        "Conditions": {
          "$id": "5",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "6",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "7",
              "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
              "Text": "=== MULTI-NIGHT TEMPLATE - DAILY LOOP + SAFETY ===  Runs unattended across multiple nights until every active project's exposures are complete.  REQUIRED PLUGINS: (1) Astro PM - Daily Loop, Nightly Loop, Refresh Cloud Targets, Astro PM Instructions;  (2) Sequencer Powerups (Sequencer+) - used for the 'When Unsafe' interrupt that closes up mid-exposure and reopens when it clears, which is what makes unattended safety recovery smooth;  (3) a connected Safety Monitor device.  Everything else is built-in NINA. All startup runs INSIDE the Daily Loop so it repeats each night - nothing needed here in Start.",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "8",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      },
      {
        "$id": "9",
        "$type": "NINA.Sequencer.Container.TargetAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "Targets",
        "Conditions": {
          "$id": "10",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "11",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "12",
              "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
              "Strategy": {
                "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
              },
              "Name": "Astro PM Daily Loop - Multi-Night",
              "Conditions": {
                "$id": "13",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                "$values": [
                  {
                    "$id": "14",
                    "$type": "AstroPM.NINA.Plugin.Instructions.AstroPMDailyLoopCondition, AstroPM.NINA.Plugin",
                    "Parent": {
                      "$ref": "12"
                    }
                  }
                ]
              },
              "IsExpanded": true,
              "Items": {
                "$id": "15",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                "$values": [
                  {
                    "$id": "16",
                    "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                    "Text": "=== ASTRO PM DAILY LOOP ===  Repeats DAY-TO-DAY while any active project still has remaining exposures. Each pass: refresh the plan, wait for sunset, wait until safe, open up, image all night, then secure for the day. During daylight it simply holds at 'Wait for Sunset' with the dome closed. When every project is finished, the loop exits to the End section. Because this body runs once per night, the startup steps below also run once per night - no run-once guard needed.",
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "17",
                    "$type": "AstroPM.NINA.Plugin.Instructions.RefreshCloudTargets, AstroPM.NINA.Plugin",
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "18",
                    "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                    "Text": "=== WAIT FOR SUNSET ===  Holds here until tonight's sunset. This is the daytime gate that lets the sequence run 24/7: through the day the dome stays closed and parked while we wait. Prefer to open later (e.g. nautical dusk)? Swap this item's provider to a later one.",
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "19",
                    "$type": "NINA.Sequencer.SequenceItem.Utility.WaitForTime, NINA.Sequencer",
                    "Hours": 0,
                    "Minutes": 0,
                    "MinutesOffset": 0,
                    "Seconds": 0,
                    "SelectedProvider": {
                      "$id": "20",
                      "$type": "NINA.Sequencer.Utility.DateTimeProvider.SunsetProvider, NINA.Sequencer"
                    },
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "21",
                    "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                    "Text": "=== SUNSET STARTUP (once per night) ===  Wait until the Safety Monitor says SAFE, then unpark and open the dome to begin cooling. Tip: add 'Cool Camera' (e.g. -10C) and 'Find Home' here for your rig; they're left out so this imports without assuming hardware.",
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "22",
                    "$type": "NINA.Sequencer.SequenceItem.SafetyMonitor.WaitUntilSafe, NINA.Sequencer",
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "23",
                    "$type": "NINA.Sequencer.SequenceItem.Telescope.UnparkScope, NINA.Sequencer",
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "24",
                    "$type": "NINA.Sequencer.SequenceItem.Dome.OpenDomeShutter, NINA.Sequencer",
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 5
                  },
                  {
                    "$id": "25",
                    "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
                    "Strategy": {
                      "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                    },
                    "Name": "Tonight's Imaging - Astro PM Nightly Loop",
                    "Conditions": {
                      "$id": "26",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "27",
                          "$type": "AstroPM.NINA.Plugin.Instructions.AstroPMLoopCondition, AstroPM.NINA.Plugin",
                          "Parent": {
                            "$ref": "25"
                          }
                        }
                      ]
                    },
                    "IsExpanded": true,
                    "Items": {
                      "$id": "28",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "29",
                          "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                          "Text": "=== TONIGHT'S IMAGING ===  The 'Astro PM Nightly Loop' condition repeats this while tonight's schedule still has target blocks. 'Astro PM Instructions' does all the work (slew / center / rotate / filter / expose / dither per your plan, waiting for each target's dark window).  TRIGGERS on this container (below): Meridian Flip runs automatically between exposures - add Autofocus / Center After Drift here too (leave Center After Drift coords at 0:0:0; Astro PM fills them in). The Sequencer+ 'When Unsafe' interrupt watches safety the whole time: if it goes unsafe mid-exposure it secures the rig, waits until safe, reopens, and imaging resumes where it left off.",
                          "Parent": {
                            "$ref": "25"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "30",
                          "$type": "AstroPM.NINA.Plugin.Instructions.TargetInstructionSet, AstroPM.NINA.Plugin",
                          "Strategy": {
                            "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                          },
                          "Name": "Astro PM Instructions",
                          "Conditions": {
                            "$id": "31",
                            "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                            "$values": []
                          },
                          "IsExpanded": true,
                          "Items": {
                            "$id": "32",
                            "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                            "$values": []
                          },
                          "Triggers": {
                            "$id": "33",
                            "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                            "$values": []
                          },
                          "Parent": {
                            "$ref": "25"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        }
                      ]
                    },
                    "Triggers": {
                      "$id": "34",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "35",
                          "$type": "NINA.Sequencer.Trigger.MeridianFlip.MeridianFlipTrigger, NINA.Sequencer",
                          "Parent": {
                            "$ref": "25"
                          },
                          "TriggerRunner": {
                            "$id": "36",
                            "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
                            "Strategy": {
                              "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                            },
                            "Name": null,
                            "Conditions": {
                              "$id": "37",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "IsExpanded": true,
                            "Items": {
                              "$id": "38",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "Triggers": {
                              "$id": "39",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "Parent": null,
                            "ErrorBehavior": 0,
                            "Attempts": 1
                          }
                        },
                        {
                          "$id": "40",
                          "$type": "NINA.Plugin.SequencerPlus.WhenUnsafe, NINA.Plugin.SequencerPlus",
                          "Instructions": {
                            "$id": "41",
                            "$type": "NINA.Plugin.SequencerPlus.IfContainer, NINA.Plugin.SequencerPlus",
                            "Strategy": {
                              "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                            },
                            "Name": "When Unsafe - Secure & Recover",
                            "Conditions": {
                              "$id": "42",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "IsExpanded": true,
                            "Items": {
                              "$id": "43",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                              "$values": [
                                {
                                  "$id": "44",
                                  "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                                  "Text": "=== WHEN UNSAFE - recover ===  Fired by the Sequencer+ 'When Unsafe' interrupt whenever the Safety Monitor reports unsafe (clouds, rain, wind). Secure first (park + close dome), wait until it clears, then reopen and unpark so Astro PM imaging resumes.",
                                  "Parent": {
                                    "$ref": "41"
                                  },
                                  "ErrorBehavior": 0,
                                  "Attempts": 1
                                },
                                {
                                  "$id": "45",
                                  "$type": "NINA.Sequencer.SequenceItem.Telescope.ParkScope, NINA.Sequencer",
                                  "Parent": {
                                    "$ref": "41"
                                  },
                                  "ErrorBehavior": 0,
                                  "Attempts": 1
                                },
                                {
                                  "$id": "46",
                                  "$type": "NINA.Sequencer.SequenceItem.Dome.CloseDomeShutter, NINA.Sequencer",
                                  "Parent": {
                                    "$ref": "41"
                                  },
                                  "ErrorBehavior": 0,
                                  "Attempts": 1
                                },
                                {
                                  "$id": "47",
                                  "$type": "NINA.Sequencer.SequenceItem.SafetyMonitor.WaitUntilSafe, NINA.Sequencer",
                                  "Parent": {
                                    "$ref": "41"
                                  },
                                  "ErrorBehavior": 0,
                                  "Attempts": 1
                                },
                                {
                                  "$id": "48",
                                  "$type": "NINA.Sequencer.SequenceItem.Utility.WaitForTimeSpan, NINA.Sequencer",
                                  "Time": 60.0,
                                  "Parent": {
                                    "$ref": "41"
                                  },
                                  "ErrorBehavior": 0,
                                  "Attempts": 1
                                },
                                {
                                  "$id": "49",
                                  "$type": "NINA.Sequencer.SequenceItem.Telescope.UnparkScope, NINA.Sequencer",
                                  "Parent": {
                                    "$ref": "41"
                                  },
                                  "ErrorBehavior": 0,
                                  "Attempts": 1
                                },
                                {
                                  "$id": "50",
                                  "$type": "NINA.Sequencer.SequenceItem.Dome.OpenDomeShutter, NINA.Sequencer",
                                  "Parent": {
                                    "$ref": "41"
                                  },
                                  "ErrorBehavior": 0,
                                  "Attempts": 5
                                }
                              ]
                            },
                            "Triggers": {
                              "$id": "51",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "Parent": {
                              "$ref": "25"
                            },
                            "ErrorBehavior": 0,
                            "Attempts": 1
                          },
                          "Interrupt": true,
                          "Parent": {
                            "$ref": "25"
                          },
                          "TriggerRunner": {
                            "$ref": "41"
                          }
                        }
                      ]
                    },
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "52",
                    "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
                    "Strategy": {
                      "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                    },
                    "Name": "End of Night - Secure for Daytime",
                    "Conditions": {
                      "$id": "53",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                      "$values": []
                    },
                    "IsExpanded": true,
                    "Items": {
                      "$id": "54",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "55",
                          "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                          "Text": "=== END OF NIGHT - SECURE FOR DAYTIME ===  Tonight's blocks are done. Close the dome and park so the observatory sits safe through the day. The Daily Loop then returns to 'Wait for Sunset' for the next night (or exits to End if all projects are complete).",
                          "Parent": {
                            "$ref": "52"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "56",
                          "$type": "NINA.Sequencer.SequenceItem.Dome.CloseDomeShutter, NINA.Sequencer",
                          "Parent": {
                            "$ref": "52"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "57",
                          "$type": "NINA.Sequencer.SequenceItem.Telescope.ParkScope, NINA.Sequencer",
                          "Parent": {
                            "$ref": "52"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        }
                      ]
                    },
                    "Triggers": {
                      "$id": "58",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                      "$values": []
                    },
                    "Parent": {
                      "$ref": "12"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  }
                ]
              },
              "Triggers": {
                "$id": "59",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                "$values": []
              },
              "Parent": {
                "$ref": "9"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "60",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      },
      {
        "$id": "61",
        "$type": "NINA.Sequencer.Container.EndAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "End",
        "Conditions": {
          "$id": "62",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "63",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "64",
              "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
              "Text": "=== END (all projects complete) ===  The Daily Loop has finished - every active project's exposures are done (or you stopped the sequence). Park the mount and close the dome. Tip: add 'Warm Camera' / a flats routine here if you like.",
              "Parent": {
                "$ref": "61"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "65",
              "$type": "NINA.Sequencer.SequenceItem.Telescope.ParkScope, NINA.Sequencer",
              "Parent": {
                "$ref": "61"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "66",
              "$type": "NINA.Sequencer.SequenceItem.Dome.CloseDomeShutter, NINA.Sequencer",
              "Parent": {
                "$ref": "61"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "67",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      }
    ]
  },
  "Triggers": {
    "$id": "68",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
    "$values": []
  },
  "Parent": null,
  "ErrorBehavior": 0,
  "Attempts": 1
}
