pyobs-core 2.13.3__tar.gz → 2.13.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/PKG-INFO +1 -1
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/basevideo.py +4 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/calibration/darkbias.py +1 -1
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/stretch.py +13 -6
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyproject.toml +1 -1
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/.gitignore +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/LICENSE +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/application.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/background_task.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/cli/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/cli/_cli.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/cli/pyobs.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/cli/pyobsd.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/cli/pyobsw.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/comm.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/commlogging.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/dummy/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/dummy/dummycomm.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/local/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/local/localcomm.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/local/localnetwork.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/proxy.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/rpc.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/serializer.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xep_0009/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xep_0009/binding.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xep_0009/rpc.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xep_0009_timeout/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xep_0009_timeout/rpc.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xep_0009_timeout/stanza/RPC.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xep_0009_timeout/stanza/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xmppclient.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/comm/xmpp/xmppcomm.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/badweather.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/event.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/exposurestatuschanged.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/filterchanged.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/focusfound.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/goodweather.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/log.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/modechanged.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/moduleclosed.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/moduleopened.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/motionstatuschanged.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/move.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/newimage.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/newspectrum.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/offsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/roofclosing.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/roofopened.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/taskfailed.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/taskfinished.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/taskskipped.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/taskstarted.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/events/testevent.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/image.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/altazoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/datapipeline.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/exptime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/genericoffset.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/onskydistance.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/pixeloffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/radecoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/meta/skyoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processor.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/_daobackgroundremover.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/annotation/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/annotation/_pillow.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/annotation/circle.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/annotation/crosshair.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/annotation/text.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/_dotnet_request.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/_dotnet_request_builder.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/_dotnet_request_logger.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/_dotnet_response_saver.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/astrometry.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/dotnet.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/calibration/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/calibration/_calibration_cache.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/calibration/_ccddata_calibrator.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/calibration/calibration.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/_pysep_stats_calculator.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/_source_catalog.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/daophot.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/pysep.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/simpledisk.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/sourcedetection.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/exptime/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/exptime/exptime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/exptime/star.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/addfitsheaders.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/download.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/flip.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/grayscale.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/httpserver.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/normalize.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/save.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/saveimage.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/smooth.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/image/softbin.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/misc/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/misc/addmask.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/misc/catalogcircularmask.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/misc/circularmask.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/misc/createfilename.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/misc/imagesourcefilter.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/misc/removebackground.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/modules/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/modules/getfitsheaders.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/astrometry.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/brighteststar.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/brighteststar_guiding.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/dummyoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/dummyskyoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/fitsheader.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/offsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/pixeloffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/projected.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/spilled_light.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/_photometry_calculator.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/_photutil_aperture_photometry.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/_sep_aperture_photometry.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/aperture_photometry.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/photometry.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/photutil.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/pysep.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/stack/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/stack/combinestack.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/stack/mean.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/stack/median.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/stack/sigmaclip.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/stack/sum.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/wcs/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/wcs/solarhelioprojective.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IAbortable.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IAcquisition.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IAutoFocus.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IAutoGuiding.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IAutonomous.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IBinning.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ICalibrate.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ICamera.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IConfig.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ICooling.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IData.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IDataPipeline.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IDataSequence.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IDataStack.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IDome.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IExposure.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IExposureTime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IFilters.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IFitsHeaderAfter.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IFitsHeaderBefore.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IFlatField.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IFocusModel.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IFocuser.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IGain.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IImageFormat.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IImageType.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IMode.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IModule.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IMotion.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IMultiFiber.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IOffsetsAltAz.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IOffsetsRaDec.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingAltAz.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingBody.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingHeliocentricPolar.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingHeliographicStonyhurst.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingHelioprojective.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingOrbitalElements.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingRaDec.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPointingSeries.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IPushNotifications.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IReady.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IResettable.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IRobotic.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IRoboticScheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IRoof.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IRotation.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IRunnable.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IRunning.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IScriptRunner.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ISpectrograph.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IStartStop.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IStructuredConfig.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ISyncTarget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ITelescope.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ITemperatures.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ITrackingMode.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/ITrackingRate.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IVideo.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IWeather.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/IWindow.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/interfaces/interface.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/camerasettings.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/datapipeline.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/datasequence.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/fitsheader.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/fitsnamespace.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/follow.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/motionstatus.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/pipeline.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/waitformotion.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/mixins/weatheraware.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/adaptive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/basecamera.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/basespectrograph.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/dummycamera.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/dummyspectrograph.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/dummyvideo.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/pipelinecamera.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/camera/videoframes.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/flatfield/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/flatfield/flatfield.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/flatfield/pointing.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/flatfield/scheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/focus/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/focus/dummyautofocus.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/focus/focusmodel.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/focus/focusseries.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/image/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/image/imagewatcher.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/image/imagewriter.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/image/pipeline.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/image/seeing.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/module.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/_base.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/_baseguiding.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/acquisition.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/autoguiding.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/dummyacquisition.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/dummyguiding.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/guidingsource.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/guidingstatistics/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/guidingstatistics/guidingstatistics.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/guidingstatistics/pixeloffset.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/guidingstatistics/skyoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/guidingstatistics/uptime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/pointing/scienceframeguiding.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/robotic/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/robotic/dummymastermind.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/robotic/dummyscheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/robotic/mastermind.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/robotic/pointing.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/robotic/scheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/robotic/scriptrunner.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/roof/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/roof/basedome.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/roof/baseroof.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/roof/dummyroof.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/telescope/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/telescope/_dummytelescopebase.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/telescope/basetelescope.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/telescope/dummyaltaztelescope.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/telescope/dummyradectelescope.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/telescope/dummysolartelescope.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/test/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/test/standalone.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/dummymode.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/dummystructuredconfig.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/fluentlogger.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/httpfilecache.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/kiosk.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/matrix.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/pushnotifier.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/stellarium.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/telegram.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/utils/trigger.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/weather/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/weather/mockweather.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/weather/weather.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/weather/weather_api.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/modules/weather/weather_state.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/object.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/py.typed +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/instruments.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/observation.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/_executor.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/astroplanscheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/constraints/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/constraints/airmassconstraint.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/constraints/constraint.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/constraints/moonilluminationconstraint.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/constraints/solarelevationconstraint.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/constraints/timeconstraint.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/dataprovider.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/aftertime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/beforetime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/constant.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/follow.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/interval.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/merit.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/pernight.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/random.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/timewindow.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/merits/transit.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/observationarchiveevolution.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/ondemandscheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/dynamictarget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/heliocentricpolartarget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/helioprojectivetarget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/picker/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/picker/csvpicker.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/picker/picker.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/siderealtarget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/targets/target.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scheduler/taskscheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/calibration/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/calibration/pointing.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/calibration/skyflats.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/control/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/control/cases.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/control/conditional.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/control/parallel.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/control/selector.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/control/sequential.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/exceptions.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/imaging/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/imaging/autofocus.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/imaging/imaging.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/imaging/transitimaging.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/script.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/utils/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/utils/callmodule.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/utils/debugtrigger.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/scripts/utils/log.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/filesystem/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/filesystem/observationarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/filesystem/taskarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/_portal.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/_schedulereader.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/_schedulewriter.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/configdb.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/mockobservationarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/observationarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/scripts/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/scripts/autofocus.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/scripts/default.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/scripts/script.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/task.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/taskarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/lco/taskrunner.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/memory/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/memory/observationarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/memory/taskarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/observationarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/portal/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/portal/observationarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/portal/taskarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/storage/taskarchive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/task.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/taskrunner.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/archive/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/archive/archive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/archive/local_archive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/archive/pyobs_archive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/calibration.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/exptime/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/exptime/exptime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/exptime/stellarexptime.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/exptimeeval.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/flatfielder.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/pointing/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/pointing/base.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/pointing/static.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/priorities/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/priorities/archive.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/priorities/base.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/priorities/const.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/robotic/utils/skyflats/scheduler.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/average.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/cache.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/config.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/config_schema.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/coordinates.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/curvefit.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/enums.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/exceptions.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/exptime_grouping.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/fits.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/focusseries/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/focusseries/base.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/focusseries/photometry.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/focusseries/projection.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/grids/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/grids/filters.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/grids/grid.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/grids/gridnode.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/grids/pipeline.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/binningwidget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/datadisplaywidget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/exposewidget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/exposuretimewidget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/imageformatwidget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/listpickerdialog.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/gui/camera/windowingwidget.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/http.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/influxdb.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/logger.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/logging/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/logging/context.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/logging/resolvableerror.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/modulegui.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/offsets/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/offsets/applyaltazoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/offsets/applyoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/offsets/applyradecoffsets.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/parallel.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/pipeline/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/pipeline/pipeline.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/pipeline/progress.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/pipeline/reduction.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/pipeline/reduction_base.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/publisher/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/publisher/csv.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/publisher/http.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/publisher/log.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/publisher/multi.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/publisher/publisher.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/serialization.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/shellcommand.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/threads/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/threads/lockwithabort.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/time.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/units.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/utils/versions.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/version.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/archivefile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/bufferedfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/file.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/filelists/__init__.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/filelists/filelist.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/filelists/testing.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/httpfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/localfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/memfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/sftpfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/smbfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/sshfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/tempfile.py +0 -0
- {pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/vfs/vfs.py +0 -0
|
@@ -725,6 +725,7 @@ class BaseVideo(
|
|
|
725
725
|
ValueError: If the crop lies completely outside the frame, or binning is larger than it.
|
|
726
726
|
"""
|
|
727
727
|
data = record.data
|
|
728
|
+
source_dtype = data.dtype
|
|
728
729
|
x0, y0 = 0, 0
|
|
729
730
|
if crop is not None:
|
|
730
731
|
x, y, w, h = crop
|
|
@@ -761,6 +762,9 @@ class BaseVideo(
|
|
|
761
762
|
for key in image.header:
|
|
762
763
|
meta[key] = self._json_safe(image.header[key])
|
|
763
764
|
meta["DTYPE"] = data.dtype.newbyteorder("<").str
|
|
765
|
+
# binning turns integer data into float32, so a client needs the original dtype to resolve
|
|
766
|
+
# "full" cuts and the default cuts mode
|
|
767
|
+
meta["SRCDTYPE"] = source_dtype.newbyteorder("<").str
|
|
764
768
|
# NAXISn alone doesn't tell a client how many axes to read (e.g. colour frames are 3D)
|
|
765
769
|
meta["NAXIS"] = data.ndim
|
|
766
770
|
meta["VIDFRAME"] = record.number
|
|
@@ -250,7 +250,7 @@ class DarkBiasScript(Script):
|
|
|
250
250
|
by_combo = await science_exptimes_for_night(self.archive, self.site, night)
|
|
251
251
|
exptimes = self._flatten_matching_exptimes(by_combo)
|
|
252
252
|
if not exptimes:
|
|
253
|
-
log.
|
|
253
|
+
log.info(
|
|
254
254
|
"No science exptimes found for night %s at binning %s; nothing to expose.",
|
|
255
255
|
night,
|
|
256
256
|
self._binning_str(),
|
|
@@ -75,26 +75,29 @@ def downsample(data: NDArray[Any], factor: int) -> NDArray[Any]:
|
|
|
75
75
|
return cropped.reshape(shape).mean(axis=(1, 3))
|
|
76
76
|
|
|
77
77
|
|
|
78
|
-
def compute_cuts(data: NDArray[Any], params: StretchParams) -> tuple[float, float]:
|
|
78
|
+
def compute_cuts(data: NDArray[Any], params: StretchParams, dtype: Any = None) -> tuple[float, float]:
|
|
79
79
|
"""Computes the low and high cut for the given data.
|
|
80
80
|
|
|
81
81
|
Args:
|
|
82
82
|
data: Image data.
|
|
83
83
|
params: Stretch parameters.
|
|
84
|
+
dtype: dtype that decides the ``full`` range and the default cuts mode, if different from the
|
|
85
|
+
data's, e.g. when it was downsampled to float32 from integer data. Defaults to the data's dtype.
|
|
84
86
|
|
|
85
87
|
Returns:
|
|
86
88
|
Tuple of (low, high) data values.
|
|
87
89
|
"""
|
|
90
|
+
dtype = np.dtype(dtype) if dtype is not None else data.dtype
|
|
88
91
|
cuts = params.cuts
|
|
89
92
|
if cuts is None:
|
|
90
|
-
cuts = "full" if
|
|
93
|
+
cuts = "full" if dtype == np.uint8 else "minmax"
|
|
91
94
|
|
|
92
95
|
if cuts == "manual":
|
|
93
96
|
return float(params.lo), float(params.hi) # type: ignore[arg-type]
|
|
94
97
|
if cuts == "full":
|
|
95
|
-
if not np.issubdtype(
|
|
98
|
+
if not np.issubdtype(dtype, np.integer):
|
|
96
99
|
raise ValueError("Cuts mode 'full' needs integer data.")
|
|
97
|
-
info = np.iinfo(
|
|
100
|
+
info = np.iinfo(dtype)
|
|
98
101
|
return float(info.min), float(info.max)
|
|
99
102
|
|
|
100
103
|
sample = data[::_CUTS_SUBSAMPLE, ::_CUTS_SUBSAMPLE] if data.shape[0] > 256 else data
|
|
@@ -109,7 +112,7 @@ def compute_cuts(data: NDArray[Any], params: StretchParams) -> tuple[float, floa
|
|
|
109
112
|
return float(low), float(high)
|
|
110
113
|
|
|
111
114
|
|
|
112
|
-
def stretch_to_uint8(data: NDArray[Any], params: StretchParams | None = None) -> NDArray[np.uint8]:
|
|
115
|
+
def stretch_to_uint8(data: NDArray[Any], params: StretchParams | None = None, dtype: Any = None) -> NDArray[np.uint8]:
|
|
113
116
|
"""Maps image data to 8 bit for display.
|
|
114
117
|
|
|
115
118
|
Colour images (3D, colour as last axis) use the same cuts for all channels.
|
|
@@ -117,18 +120,22 @@ def stretch_to_uint8(data: NDArray[Any], params: StretchParams | None = None) ->
|
|
|
117
120
|
Args:
|
|
118
121
|
data: Image data.
|
|
119
122
|
params: Stretch parameters, defaults if None.
|
|
123
|
+
dtype: dtype the cuts follow, if the data was already downsampled from a different one (e.g. a
|
|
124
|
+
binned raw frame that was integer data before). Defaults to the data's dtype.
|
|
120
125
|
|
|
121
126
|
Returns:
|
|
122
127
|
8-bit image.
|
|
123
128
|
"""
|
|
124
129
|
params = params if params is not None else StretchParams()
|
|
130
|
+
# downsampling turns integer data into float32, the cuts follow the input
|
|
131
|
+
dtype = np.dtype(dtype) if dtype is not None else data.dtype
|
|
125
132
|
data = downsample(data, params.scale)
|
|
126
133
|
|
|
127
134
|
# fast path: 8-bit data with its full range and a linear stretch is already what we want
|
|
128
135
|
if data.dtype == np.uint8 and params.stretch == "linear" and params.cuts in (None, "full"):
|
|
129
136
|
return data
|
|
130
137
|
|
|
131
|
-
low, high = compute_cuts(data, params)
|
|
138
|
+
low, high = compute_cuts(data, params, dtype)
|
|
132
139
|
span = high - low if high > low else 1.0
|
|
133
140
|
x = np.clip((data.astype(np.float32) - low) / span, 0.0, 1.0)
|
|
134
141
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/_dotnet_request.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/_dotnet_request_logger.py
RENAMED
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/astrometry/_dotnet_response_saver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/calibration/_calibration_cache.py
RENAMED
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/calibration/_ccddata_calibrator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/_pysep_stats_calculator.py
RENAMED
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/_source_catalog.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/detection/sourcedetection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/offsets/brighteststar_guiding.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/_photometry_calculator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.13.3 → pyobs_core-2.13.4}/pyobs/images/processors/photometry/aperture_photometry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|