# Path: pythics/settings.py
# _TRY_PYSIDE = True


import multiprocessing
import pickle
import numpy as np
import collections
    import PySide2.QtCore as _QtCore
    import PySide2.QtGui as _QtGui
    import PySide2.QtWidgets as _QtWidgets
    import PySide2.QtPrintSupport as _QtPrintSupport
    import PyQt5.QtCore as _QtCore
    import PyQt5.QtGui as _QtGui
    import PyQt5.QtWidgets as _QtWidgets
    import PyQt5.QtPrintSupport as _QtPrintSupport
import pythics.child
import pythics.libproxy
from pythics.settings import _TRY_PYSIDE
            r = dict()
            for k, v in value.items():
                r[k] = self.objects_to_keys(v)
            return r
        else:
            # some other type that has to be accessed by proxy
            #  because it may not be picklable
            if isinstance(value, collections.Callable):
                # request that functions be cached since they usually don't change
                return self.new_ProxyKey(value, cache=True)
            else:
                return self.new_ProxyKey(value, cache=False)

    def keys_to_objects(self, value):
        # create a new object with any AutoProxy keys replaced by
        #  the original objects
        t = type(value)
        if t is pythics.libproxy.ProxyKey:
            # some other type that has to be accessed by proxy
            #  because it may not be picklable
            return self.lookup(value)
        elif t is list:
            # have to check for ProxyKeys in the list
            r = list()
            for v in value:
                r.append(self.keys_to_objects(v))
            return r
        elif t is tuple:
            # have to check for ProxyKeys in the tuple
            r = list()

# Path: pythics/settings.py
# _TRY_PYSIDE = True


# Path: pythics/parent.py
import multiprocessing
import pickle
import numpy as np
import collections
    import PySide2.QtCore as _QtCore
    import PySide2.QtGui as _QtGui
    import PySide2.QtWidgets as _QtWidgets
    import PySide2.QtPrintSupport as _QtPrintSupport
    import PyQt5.QtCore as _QtCore
    import PyQt5.QtGui as _QtGui
    import PyQt5.QtWidgets as _QtWidgets
    import PyQt5.QtPrintSupport as _QtPrintSupport
import pythics.child
import pythics.libproxy
from pythics.settings import _TRY_PYSIDE

            r = dict()
            for k, v in value.items():
                r[k] = self.objects_to_keys(v)
            return r
        else:
            # some other type that has to be accessed by proxy
            #  because it may not be picklable
            if isinstance(value, collections.Callable):
                # request that functions be cached since they usually don't change
                return self.new_ProxyKey(value, cache=True)
            else:
                return self.new_ProxyKey(value, cache=False)

    def keys_to_objects(self, value):
        # create a new object with any AutoProxy keys replaced by
        #  the original objects
        t = type(value)
        if t is pythics.libproxy.ProxyKey:
            # some other type that has to be accessed by proxy
            #  because it may not be picklable
            return self.lookup(value)
        elif t is list:
            # have to check for ProxyKeys in the list
            r = list()
            for v in value:
                r.append(self.keys_to_objects(v))
            return r
        elif t is tuple:
            # have to check for ProxyKeys in the tuple
            r = list()

            for v in value: