import cPickle, base64
try:
	from SimpleSession.versions.v65 import beginRestore,\
	    registerAfterModelsCB, reportRestoreError, checkVersion
except ImportError:
	from chimera import UserError
	raise UserError('Cannot open session that was saved in a'
	    ' newer version of Chimera; update your version')
checkVersion([1, 12, 41623])
import chimera
from chimera import replyobj
replyobj.status('Restoring session...', \
    blankAfter=0)
replyobj.status('Beginning session restore...', \
    blankAfter=0, secondary=True)
beginRestore()

def restoreCoreModels():
	from SimpleSession.versions.v65 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDG1tQ0lGSGVhZGVyc3EIXXEJTmFVDGFyb21hdGljTW9kZXEKSwFLAX2HVQp2ZHdEZW5zaXR5cQtLAUdAFAAAAAAAAH2HVQZoaWRkZW5xDEsBiX2HVQ1hcm9tYXRpY0NvbG9ycQ1LAU59h1UPcmliYm9uU21vb3RoaW5ncQ5LAUsAfYdVCWF1dG9jaGFpbnEPSwGIfYdVCnBkYlZlcnNpb25xEEsBSwJ9h1UIb3B0aW9uYWxxEX1xElUIb3BlbmVkQXNxE4iJSwEoWFIAAABDOlxVc2Vyc1xQaGlsaXBcRGVza3RvcFxDYWxjdWxhdGlvbnNcTURcMjAxODA4MDNfMkwxUl9abl81MG5zXE1haW5fQ2x1c3Rlcl9OUFQucGRicRRVA1BEQnEVTol0cRZ9h4dzVQ9sb3dlckNhc2VDaGFpbnNxF0sBiX2HVQlsaW5lV2lkdGhxGEsBRz/wAAAAAAAAfYdVD3Jlc2lkdWVMYWJlbFBvc3EZSwFLAH2HVQRuYW1lcRpLAVgUAAAATWFpbl9DbHVzdGVyX05QVC5wZGJ9h1UPYXJvbWF0aWNEaXNwbGF5cRtLAYl9h1UPcmliYm9uU3RpZmZuZXNzcRxLAUc/6ZmZmZmZmn2HVQpwZGJIZWFkZXJzcR1dcR59cR9hVQNpZHNxIEsBSwBLAIZ9h1UOc3VyZmFjZU9wYWNpdHlxIUsBR7/wAAAAAAAAfYdVEGFyb21hdGljTGluZVR5cGVxIksBSwJ9h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xI0sBiH2HVQdkaXNwbGF5cSRLAYh9h3Uu'))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksYVQEgfYdVC2ZpbGxEaXNwbGF5cQNLGIh9cQSJTl1xBShLAEsBhnEGSwVLAYZxB0sKSwGGcQhLD0sFhnEJZYZzh1UEbmFtZXEKSxhYAgAAAERHfXELKFgDAAAATFk1XXEMKEsFSwplWAIAAABaTl1xDUsSYVgDAAAATFg1XXEOKEsASxNlWAMAAABERzNdcQ8oSwRLCUsOSxdlWAIAAABOQV1xEChLD0sQSxFldYdVBWNoYWlucRFLGFgBAAAAQX1xElgDAAAAaGV0Tl1xE0sPSwOGcRRhhnOHVQ5yaWJib25EcmF3TW9kZXEVSxhLAn2HVQJzc3EWSxiJiYZ9h1UIbW9sZWN1bGVxF0sYSwB9h1ULcmliYm9uQ29sb3JxGEsYTn2HVQVsYWJlbHEZSxhYAAAAAH2HVQpsYWJlbENvbG9ycRpLGE59h1UIZmlsbE1vZGVxG0sYSwF9h1UFaXNIZXRxHEsYiX1xHYhOXXEeKEsASwGGcR9LBEsChnEgSwlLAoZxIUsOSwaGcSJLF0sBhnEjZYZzh1ULbGFiZWxPZmZzZXRxJEsYTn2HVQhwb3NpdGlvbnElXXEmSwFLGIZxJ2FVDXJpYmJvbkRpc3BsYXlxKEsYiH1xKYlOXXEqKEsASwKGcStLBUsChnEsSwpLAoZxLUsPSwWGcS5lhnOHVQhvcHRpb25hbHEvfVUEc3NJZHEwSxhK/////32HdS4='))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVjb2xvcnECTZACTn2HVQVhdG9tc3EDXXEEKF1xBShLGkshZV1xBihLGkscZV1xByhLGksbZV1xCChLGksZZV1xCShLHEsfZV1xCihLHEseZV1xCyhLHEsdZV1xDChLIUskZV1xDShLIUsjZV1xDihLIUsiZV1xDyhLJUsnZV1xEChLJUsmZV1xEShLJUskZV1xEihLJ0spZV1xEyhLJ0soZV1xFChLKkspZV1xFShLKksrZV1xFihLKkskZV1xFyhLIEsfZV1xGChLGUssZV1xGShLNks1ZV1xGihLNks3ZV1xGyhLNks4ZV1xHChLNktJZV1xHShLQUs/ZV1xHihLQUtCZV1xHyhLQUtFZV1xIChLSUtHZV1xIShLSUtKZV1xIihLSUtLZV1xIyhLR0szZV1xJChLR0tIZV1xJShLR0tMZV1xJihLRks4ZV1xJyhLRks8ZV1xKChLRktFZV1xKShLM0swZV1xKihLM0s0ZV1xKyhLM0s1ZV1xLChLPEs7ZV1xLShLPEs9ZV1xLihLMEsvZV1xLyhLMEsxZV1xMChLMEsyZV1xMShLPUs+ZV1xMihLPUs/ZV1xMyhLOUs4ZV1xNChLOUs6ZV1xNShLOUs7ZV1xNihLQEs/ZV1xNyhLQ0tCZV1xOChLREtCZV1xOShLLUssZV1xOihLLkssZV1xOyhLTEtNZV1xPChLL0ssZV1xPShLV0tWZV1xPihLV0tYZV1xPyhLV0tqZV1xQChLV0tZZV1xQShLYktgZV1xQihLYktjZV1xQyhLYktmZV1xRChLaktrZV1xRShLaktsZV1xRihLaktoZV1xRyhLaEtUZV1xSChLaEtpZV1xSShLaEttZV1xSihLZ0tZZV1xSyhLZ0tdZV1xTChLZ0tmZV1xTShLVEtRZV1xTihLVEtVZV1xTyhLVEtWZV1xUChLXUtcZV1xUShLXUteZV1xUihLUUtQZV1xUyhLUUtSZV1xVChLUUtTZV1xVShLXktfZV1xVihLXktgZV1xVyhLWktZZV1xWChLWktbZV1xWShLWktcZV1xWihLYUtgZV1xWyhLZEtjZV1xXChLZUtjZV1xXShLTktNZV1xXihLT0tNZV1xXyhLbUtuZV1xYChLUEtNZV1xYShLeEt3ZV1xYihLeEt5ZV1xYyhLeEt6ZV1xZChLeEuLZV1xZShLg0uBZV1xZihLg0uEZV1xZyhLg0uHZV1xaChLi0uJZV1xaShLi0uMZV1xaihLi0uNZV1xayhLiUt1ZV1xbChLiUuKZV1xbShLiUuOZV1xbihLiEt6ZV1xbyhLiEt+ZV1xcChLiEuHZV1xcShLdUtyZV1xcihLdUt2ZV1xcyhLdUt3ZV1xdChLfkt9ZV1xdShLfkt/ZV1xdihLcktxZV1xdyhLcktzZV1xeChLckt0ZV1xeShLf0uAZV1xeihLf0uBZV1xeyhLe0t6ZV1xfChLe0t8ZV1xfShLe0t9ZV1xfihLgkuBZV1xfyhLhUuEZV1xgChLhkuEZV1xgShLb0tuZV1xgihLcEtuZV1xgyhLjkuPZV1xhChLcUtuZV1xhShLmUuaZV1xhihLmUubZV1xhyhLmUusZV1xiChLmUuYZV1xiShLpEuiZV1xiihLpEulZV1xiyhLpEuoZV1xjChLrEuuZV1xjShLrEuqZV1xjihLrEutZV1xjyhLqkuvZV1xkChLqkurZV1xkShLqkuWZV1xkihLqUubZV1xkyhLqUufZV1xlChLqUuoZV1xlShLlkuTZV1xlihLlkuXZV1xlyhLlkuYZV1xmChLn0ueZV1xmShLn0ugZV1xmihLk0uSZV1xmyhLk0uUZV1xnChLk0uVZV1xnShLoEuhZV1xnihLoEuiZV1xnyhLnEubZV1xoChLnEudZV1xoShLnEueZV1xoihLo0uiZV1xoyhLpkulZV1xpChLp0ulZV1xpShLsEuvZV1xpihLkEuPZV1xpyhLkUuPZV1xqChLkkuPZV1xqShLskuxZV1xqihLskuzZV1xqyhLsku0ZV1xrChLsku5ZV1xrShLtEu1ZV1xrihLtEu2ZV1xryhLtEu3ZV1xsChLuUu6ZV1xsShLuUu7ZV1xsihLuUu8ZV1xsyhLvUu8ZV1xtChLvUu+ZV1xtShLvUu/ZV1xtihLv0vAZV1xtyhLv0vBZV1xuChLwku8ZV1xuShLwkvBZV1xuihLwkvDZV1xuyhLuEu3ZV1xvChLsUvEZV1xvShLzkvNZV1xvihLzkvPZV1xvyhLzkvQZV1xwChLzkvhZV1xwShL2UvaZV1xwihL2UvdZV1xwyhL2UvXZV1xxChL4UvfZV1xxShL4UviZV1xxihL4UvjZV1xxyhL30vLZV1xyChL30vgZV1x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'))
	crdInfo = cPickle.loads(base64.b64decode('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cg8BAABHQEFNsi0OVgRHQELMCDEm6XlHQDCqfvnbItGHchABAABHQEA7xqfvnbJHQEMsSbpeNT9HQDHjU/fO2ReHchEBAABHQD+WhysCDEpHQELyLQ5WBBlHQDCz987ZFoeHchIBAABHQD4vGp++dslHQEMONT987ZFHQDEaXjU/fO6HchMBAABHQD/3ztkWhytHQEJH752yLQ5HQDA5mZmZmZqHchQBAABHQD/hR64UeuFHQENuNT987ZFHQC71P3ztkWiHchUBAABHQD9bItDlYEJHQEQafvnbItFHQC7peNT987aHchYBAABHQD/CDEm6XjVHQERdsi0OVgRHQDBSsCDEm6aHchcBAABHQD5G6XjU/fRHQEQQYk3S8apHQC8vGp++dsmHchgBAABHQD+0/fO2RaJHQER+uFHrhR9HQCxZmZmZmZqHchkBAABHQD8BBiTdLxtHQETpN0vGp/BHQCxP3ztkWh2HchoBAABHQECDU/fO2RdHQES6XjU/fO5HQCypeNT987aHchsBAABHQEDgYk3S8apHQESF41P3ztlHQCphR64UeuGHchwBAABHQEDj1wo9cKRHQETwAAAAAABHQCj3S8an756Hch0BAABHQEGUGJN0vGpHQERfGp++dslHQCshysCDEm+Hch4BAABHQEHSDEm6XjVHQEPLZFocrAhHQCxWhysCDEqHch8BAABHQEGAo9cKPXFHQENjEm6XjVBHQCz2yLQ5WBCHciABAABHQEJ5mZmZmZpHQEPC8an7521HQCxRaHKwIMWHciEBAABHQEKmyLQ5WBBHQERoUeuFHrhHQCuIMSbpeNWHciIBAABHQENJFocrAgxHQES7AgxJul5HQCvO2RaHKwKHciMBAABHQEPUWhysCDFHQER6PXCj1wpHQCyEm6XjU/iHciQBAABHQENEvGp++dtHQEVlP3ztkWhHQCsSbpeNT9+HciUBAABHQEOvvnbItDlHQEWpul41P31HQCtzMzMzMzOHciYBAABHQEK5WBBiTdNHQEWw5WBBiTdHQCoBBiTdLxuHcicBAABHQELQxJul41RHQEZNcKPXCj1HQCk987ZFocuHcigBAABHQENHrhR64UhHQEaAIMSbpeNHQCkpeNT987aHcikBAABHQEJudsi0OVhHQEaJ2yLQ5WBHQChVgQYk3S+HcioBAABHQEIb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cjsCAABHQERTU/fO2RdHQEHBBiTdLxtHQDNVwo9cKPaHcjwCAABHQEPuuFHrhR9HQEKDEm6XjVBHQDLggxJul42Hcj0CAABHQEVkeuFHrhRHQEHxJul41P5HQDJyLQ5WBBmHcj4CAABHQEX3bItDlYFHQEIm6XjU/fRHQDHcKPXCj1yHcj8CAABHQEc2RaHKwINHQEAQgxJul41HQDIQYk3S8aqHckACAABHQEeeVgQYk3VHQD+Yk3S8an9HQDGSsCDEm6aHckECAABHQEbrZFocrAhHQECUOVgQYk5HQDEcKPXCj1yHckICAABHQEdUOVgQYk5HQEDMSbpeNT9HQDCKfvnbItGHckMCAABHQEaFHrhR64VHQEBnjU/fO2RHQDB0euFHrhSHckQCAABHQEa26XjU/fRHQD8ul41P3ztHQDKNT987ZFqHckUCAABHQEZk/fO2RaJHQD4FYEGJN0xHQDGkGJN0vGqHckYCAABHQEY7xqfvnbJHQDzqfvnbItFHQDKWRaHKwIOHckcCAABHQEbNLxqfvndHQD287ZFocrBHQDB2RaHKwIOHckgCAABHQEWwYk3S8apHQD6nrhR64UhHQDE7ItDlYEKHckkCAABHQEUwAAAAAABHQD7KPXCj1wpHQDIzMzMzMzOHckoCAABHQEVV41P3ztlHQD9nKwIMSbpHQDMNDlYEGJOHcksCAABHQEUKHKwIMSdHQD3T987ZFodHQDKedsi0OViHckwCAABHQESQIMSbpeNHQD9v3ztkWh1HQDGeNT987ZGHck0CAABHQEQkvGp++dtHQD841P3ztkZHQDJHrhR64UiHck4CAABHQEScKPXCj1xHQEBrxqfvnbJHQDFyLQ5WBBmHck8CAABHQER/Gp++dslHQECUOVgQYk5HQDANDlYEGJOHclACAABHQEP0/fO2RaJHQECkWhysCDFHQC/rAgxJul6HclECAABHQETVwo9cKPZHQEEztkWhysFHQC88an752yOHclICAABHQEV3Cj1wo9dHQEFV41P3ztlHQC5Jul41P32HclMCAABHQEXWBBiTdLxHQEDxaHKwIMVHQC5AgxJul42HclQCAABHQEWUm6XjU/hHQEH1gQYk3S9HQC2rAgxJul6HclUCAABHQETwgxJul41HQEI52yLQ5WBHQC3R64UeuFKHclYCAABHQESuFHrhR65HQELeVgQYk3VHQC0euFHrhR+HclcCAABHQET++dsi0OVHQENbhR64UexHQCxhR64UeuGHclgCAABHQEQAxJul41RHQELwIMSbpeNHQC2SbpeNT9+HclkCAABHQEPLAgxJul5HQENjU/fO2RdHQC02yLQ5WBCHcloCAABHQEObhR64UexHQEJtT987ZFpHQC5rAgxJul6HclsCAABHQEL7hR64UexHQEKIMSbpeNVHQC7MzMzMzM2HclwCAABHQEK5WBBiTdNHQEIbxqfvnbJHQC8tDlYEGJOHcl0CAABHQELD1wo9cKRHQEL3rhR64UhHQC5DEm6XjVCHcl4CAABHQEPLxqfvnbJHQEHN87ZFoctHQC7xJul41P6Hcl8CAABHQER5WBBiTdNHQEG/vnbItDlHQC6VgQYk3S+HcmACAABHQERuNT987ZFHQD7jEm6XjVBHQDA7peNT98+HcmECAABHQESsCDEm6XlHQD3qfvnbItFHQDAggxJul42HcmICAABHQESybpeNT99HQD/wIMSbpeNHQC6PXCj1wo+HcmMCAABHQEU8rAgxJulHQD/U/fO2RaJHQC5an752yLSHcmQCAABHQER0/fO2RaJHQD/i0OVgQYlHQCyan752yLSHcmUCAABHQEO8SbpeNT9HQD69si0OVgRHQDANT987ZFqHcmYCAABHQEOocrAgxJxHQD5PXCj1wo9HQC5rAgxJul6HcmcCAABlVQZhY3RpdmVyaAIAAEsAdXMu'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'customVisibility': [], 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), u'Rf': ((0.8, 0, 0.34902), 1, u'default'), u'Ra': ((0, 0.490196, 0), 1, u'default'), u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), u'Be': ((0.760784, 1, 0), 1, u'default'), u'Ba': ((0, 0.788235, 0), 1, u'default'), u'Bh': ((0.878431, 0, 0.219608), 1, u'default'), u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), u'H': ((1, 1, 1), 1, u'default'), u'P': ((1, 0.501961, 0), 1, u'default'), u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), u'Gd': ((0.270588, 1, 0.780392), 1, u'default'), u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), u'Pu': ((0, 0.419608, 1), 1, u'default'), u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), u'Pa': ((0, 0.631373, 1), 1, u'default'), u'Pd': ((0, 0.411765, 0.521569), 1, u'default'), u'Cd': ((1, 0.85098, 0.560784), 1, u'default'), u'Po': ((0.670588, 0.360784, 0), 1, u'default'), u'Pm': ((0.639216, 1, 0.780392), 1, u'default'), u'Hs': ((0.901961, 0, 0.180392), 1, u'default'), u'Ho': ((0, 1, 0.611765), 1, u'default'), u'Hf': ((0.301961, 0.760784, 1), 1, u'default'), u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), u'He': ((0.85098, 1, 1), 1, u'default'), u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), u'Mg': ((0.541176, 1, 0), 1, u'default'), u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default'), u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), u'O': ((1, 0.0509804, 0.0509804), 1, u'default'), u'Mt': ((0.921569, 0, 0.14902), 1, u'default'), u'S': ((1, 1, 0.188235), 1, u'default'), u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'), u'Eu': ((0.380392, 1, 0.780392), 1, u'default'), u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), u'Er': ((0, 0.901961, 0.458824), 1, u'default'), u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), u'Nd': ((0.780392, 1, 0.780392), 1, u'default'), u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), u'Np': ((0, 0.501961, 1), 1, u'default'), u'Fr': ((0.258824, 0, 0.4), 1, u'default'), u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), u'B': ((1, 0.709804, 0.709804), 1, u'default'), u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), u'Sr': ((0, 1, 0), 1, u'default'), u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'), u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
u'Sm': ((0.560784, 1, 0.780392), 1, u'default'), u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'), u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'), u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), u'Sg': ((0.85098, 0, 0.270588), 1, u'default'), u'Se': ((1, 0.631373, 0), 1, u'default'), u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), u'Ca': ((0.239216, 1, 0), 1, u'default'), u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), u'Ce': ((1, 1, 0.780392), 1, u'default'), u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), u'Lu': ((0, 0.670588, 0.141176), 1, u'default'), u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), u'La': ((0.439216, 0.831373, 1), 1, u'default'), u'Li': ((0.8, 0.501961, 1), 1, u'default'), u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
u'Lr': ((0.780392, 0, 0.4), 1, u'default'), u'Th': ((0, 0.729412, 1), 1, u'default'), u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'), u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'), u'Te': ((0.831373, 0.478431, 0), 1, u'default'), u'Tb': ((0.188235, 1, 0.780392), 1, u'default'), u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), u'Ta': ((0.301961, 0.65098, 1), 1, u'default'), u'Yb': ((0, 0.74902, 0.219608), 1, u'default'), u'Db': ((0.819608, 0, 0.309804), 1, u'default'), u'Dy': ((0.121569, 1, 0.780392), 1, u'default'), u'I': ((0.580392, 0, 0.580392), 1, u'default'), u'medium purple': ((0.576471, 0.439216, 0.858824), 1, u'default'), u'U': ((0, 0.560784, 1), 1, u'default'), u'Y': ((0.580392, 1, 1), 1, u'default'), u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'), u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), u'Au': ((1, 0.819608, 0.137255), 1, u'default'), u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), u'In': ((0.65098, 0.458824, 0.45098), 1, u'default')}
	materials = {u'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': [u'coordination complexes of Main_Cluster_NPT.pdb (#0)', u'distance monitor'], 'bondInfo': [{'color': (4, None, {}), 'atoms': [[484, 501], [484, 345], [484, 41], [484, 193]], 'label': (4, u'', {}), 'halfbond': (4, False, {}), 'labelColor': (4, None, {}), 'labelOffset': (4, chimera.Vector(-1e+99, 0.0, 0.0), {chimera.Vector(-1e+99, 0.0, 0.0): [0], chimera.Vector(-1e+99, 0.0, 0.0): [3], chimera.Vector(-1e+99, 0.0, 0.0): [2]}), 'drawMode': (4, 0, {}), 'display': (4, 2, {})}, {'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'labelOffset': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (2, 2, {}), 'color': (2, 8, {7: [0]}), 'optional': {'fixedLabels': (True, False, (2, False, {None: [0]}))}, 'display': (2, True, {}), 'showStubBonds': (2, False, {}), 'lineWidth': (2, 1, {2: [0]}), 'stickScale': (2, 1, {}), 'id': [0, -2]}
	modelAssociations = {0: [1297]}
	colorInfo = (10, (u'H', (1, 1, 1, 1)), {(u'green', (0, 1, 0, 1)): [9], (u'Zn', (0.490196, 0.501961, 0.690196, 1)): [6], (u'medium purple', (0.576471, 0.439216, 0.858824, 1)): [7], (u'N', (0.188235, 0.313725, 0.972549, 1)): [3], (u'P', (1, 0.501961, 0, 1)): [4], (u'O', (1, 0.0509804, 0.0509804, 1)): [1], (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0], (u'Na', (0.670588, 0.360784, 0.94902, 1)): [5], (u'yellow', (1, 1, 0, 1)): [8]})
	viewerInfo = {'cameraAttrs': {'center': (42.7305, 42.0725, 18.9835), 'fieldOfView': 27.392739304317, 'nearFar': (34.944384247907, 3.0201213166142), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 18.9835}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'showShadows': False, 'viewSize': 32.391151776103, 'labelsOnTop': True, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 2048, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [('Chimera default', [(1, 1, 1, 1), (0, 0, 1, 1)], 1), 1, 0, 0], 'depthCue': True, 'highlight': 0, 'scaleFactor': 1.2947819512382, 'angleDependentTransparency': True, 'backgroundMethod': 0}, 'viewerHL': 9, 'cameraMode': 'mono', 'detail': 1.5, 'viewerFog': None, 'viewerBG': None}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v65 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)

try:
	restoreCoreModels()
except:
	reportRestoreError("Error restoring core models")

	replyobj.status("Restoring extension info...", blankAfter=0,
		secondary=True)


try:
	import StructMeasure
	from StructMeasure.DistMonitor import restoreDistances
	registerAfterModelsCB(restoreDistances, 1)
except:
	reportRestoreError("Error restoring distances in session")


def restoreMidasBase():
	formattedPositions = {}
	import Midas
	Midas.restoreMidasBase(formattedPositions)
try:
	restoreMidasBase()
except:
	reportRestoreError('Error restoring Midas base state')


def restoreMidasText():
	from Midas import midas_text
	midas_text.aliases = {}
	midas_text.userSurfCategories = {}

try:
	restoreMidasText()
except:
	reportRestoreError('Error restoring Midas text state')


def restore_cap_attributes():
 cap_attributes = \
  {
   'cap_attributes': [ ],
   'cap_color': None,
   'cap_offset': 0.01,
   'class': 'Caps_State',
   'default_cap_offset': 0.01,
   'mesh_style': False,
   'shown': True,
   'subdivision_factor': 1.0,
   'version': 1,
  }
 import SurfaceCap.session
 SurfaceCap.session.restore_cap_attributes(cap_attributes)
registerAfterModelsCB(restore_cap_attributes)


def restore_volume_data():
 volume_data_state = \
  {
   'class': 'Volume_Manager_State',
   'data_and_regions_state': [ ],
   'version': 2,
  }
 from VolumeViewer import session
 session.restore_volume_data_state(volume_data_state)

try:
  restore_volume_data()
except:
  reportRestoreError('Error restoring volume data')

geomData = {'AxisManager': {}, 'CentroidManager': {}, 'PlaneManager': {}}

try:
	from StructMeasure.Geometry import geomManager
	geomManager._restoreSession(geomData)
except:
	reportRestoreError("Error restoring geometry objects in session")


def restoreSession_RibbonStyleEditor():
	import SimpleSession
	import RibbonStyleEditor
	userScalings = []
	userXSections = []
	userResidueClasses = []
	residueData = [(1, 'Chimera default', 'rounded', u'unknown'), (2, 'Chimera default', 'rounded', u'nucleic acid'), (3, 'Chimera default', 'rounded', u'nucleic acid'), (4, 'Chimera default', 'rounded', u'nucleic acid'), (5, 'Chimera default', 'rounded', u'nucleic acid'), (6, 'Chimera default', 'rounded', u'unknown'), (7, 'Chimera default', 'rounded', u'nucleic acid'), (8, 'Chimera default', 'rounded', u'nucleic acid'), (9, 'Chimera default', 'rounded', u'nucleic acid'), (10, 'Chimera default', 'rounded', u'nucleic acid'), (11, 'Chimera default', 'rounded', u'unknown'), (12, 'Chimera default', 'rounded', u'nucleic acid'), (13, 'Chimera default', 'rounded', u'nucleic acid'), (14, 'Chimera default', 'rounded', u'nucleic acid'), (15, 'Chimera default', 'rounded', u'nucleic acid'), (16, 'Chimera default', 'rounded', u'unknown'), (17, 'Chimera default', 'rounded', u'unknown'), (18, 'Chimera default', 'rounded', u'unknown'), (19, 'Chimera default', 'rounded', u'unknown'), (20, 'Chimera default', 'rounded', u'unknown'), (21, 'Chimera default', 'rounded', u'nucleic acid'), (22, 'Chimera default', 'rounded', u'nucleic acid'),
(23, 'Chimera default', 'rounded', u'nucleic acid'), (24, 'Chimera default', 'rounded', u'nucleic acid')]
	flags = RibbonStyleEditor.NucleicDefault1
	SimpleSession.registerAfterModelsCB(RibbonStyleEditor.restoreState,
				(userScalings, userXSections,
				userResidueClasses, residueData, flags))
try:
	restoreSession_RibbonStyleEditor()
except:
	reportRestoreError("Error restoring RibbonStyleEditor state")

trPickle = 'gAJjQW5pbWF0ZS5UcmFuc2l0aW9ucwpUcmFuc2l0aW9ucwpxASmBcQJ9cQMoVQxjdXN0b21fc2NlbmVxBGNBbmltYXRlLlRyYW5zaXRpb24KVHJhbnNpdGlvbgpxBSmBcQZ9cQcoVQZmcmFtZXNxCEsBVQ1kaXNjcmV0ZUZyYW1lcQlLAVUKcHJvcGVydGllc3EKXXELVQNhbGxxDGFVBG5hbWVxDWgEVQRtb2RlcQ5VBmxpbmVhcnEPdWJVCGtleWZyYW1lcRBoBSmBcRF9cRIoaAhLFGgJSwFoCl1xE2gMYWgNaBBoDmgPdWJVBXNjZW5lcRRoBSmBcRV9cRYoaAhLAWgJSwFoCl1xF2gMYWgNaBRoDmgPdWJ1Yi4='
scPickle = 'gAJjQW5pbWF0ZS5TY2VuZXMKU2NlbmVzCnEBKYFxAn1xA1UHbWFwX2lkc3EEfXNiLg=='
kfPickle = 'gAJjQW5pbWF0ZS5LZXlmcmFtZXMKS2V5ZnJhbWVzCnEBKYFxAn1xA1UHZW50cmllc3EEXXEFc2Iu'
def restoreAnimation():
	'A method to unpickle and restore animation objects'
	# Scenes must be unpickled after restoring transitions, because each
	# scene links to a 'scene' transition. Likewise, keyframes must be 
	# unpickled after restoring scenes, because each keyframe links to a scene.
	# The unpickle process is left to the restore* functions, it's 
	# important that it doesn't happen prior to calling those functions.
	import SimpleSession
	from Animate.Session import restoreTransitions
	from Animate.Session import restoreScenes
	from Animate.Session import restoreKeyframes
	SimpleSession.registerAfterModelsCB(restoreTransitions, trPickle)
	SimpleSession.registerAfterModelsCB(restoreScenes, scPickle)
	SimpleSession.registerAfterModelsCB(restoreKeyframes, kfPickle)
try:
	restoreAnimation()
except:
	reportRestoreError('Error in Animate.Session')

def restoreLightController():
	import Lighting
	Lighting._setFromParams({'ratio': 1.25, 'brightness': 1.16, 'material': [30.0, (0.85, 0.85, 0.85), 1.0], 'back': [(0.35740674433659325, 0.6604015517481454, -0.6604015517481455), (1.0, 1.0, 1.0), 0.0], 'mode': 'two-point', 'key': [(-0.35740674433659325, 0.6604015517481454, 0.6604015517481455), (1.0, 1.0, 1.0), 1.0], 'contrast': 0.83, 'fill': [(0.25056280708573153, 0.25056280708573153, 0.9351131265310293), (1.0, 1.0, 1.0), 0.0]})
try:
	restoreLightController()
except:
	reportRestoreError("Error restoring lighting parameters")


def restoreNucleotides():
	import NucleicAcids as NA
	NA.restoreState({0: {'residues': {2: {'side': 'orient'}, 3: {'side': 'orient'}, 4: {'side': 'orient'}, 5: {'side': 'orient'}, 7: {'side': 'orient'}, 8: {'side': 'orient'}, 9: {'side': 'orient'}, 10: {'side': 'orient'}, 12: {'side': 'orient'}, 13: {'side': 'orient'}, 14: {'side': 'orient'}, 15: {'side': 'orient'}, 21: {'side': 'orient'}, 22: {'side': 'orient'}, 23: {'side': 'orient'}, 24: {'side': 'orient'}}}}, {})
try:
	restoreNucleotides()
except:
	reportRestoreError('Error restoring Nucleotides')

def restoreRemainder():
	from SimpleSession.versions.v65 import restoreWindowSize, \
	     restoreOpenStates, restoreSelections, restoreFontInfo, \
	     restoreOpenModelsAttrs, restoreModelClip, restoreSilhouettes

	curSelIds =  []
	savedSels = []
	openModelsAttrs = { 'cofrMethod': 4 }
	windowSize = (1920, 929)
	xformMap = {0: (((0.31888309551162, -0.43479528110804, -0.8421796927753), 47.469290474556), (-5.609238352796, 41.511494997117, -23.064228300237), True)}
	fontInfo = {'face': ('Sans Serif', 'Normal', 16)}
	clipPlaneInfo = {}
	silhouettes = {0: True, 1297: True, 1298: True}

	replyobj.status("Restoring window...", blankAfter=0,
		secondary=True)
	restoreWindowSize(windowSize)
	replyobj.status("Restoring open states...", blankAfter=0,
		secondary=True)
	restoreOpenStates(xformMap)
	replyobj.status("Restoring font info...", blankAfter=0,
		secondary=True)
	restoreFontInfo(fontInfo)
	replyobj.status("Restoring selections...", blankAfter=0,
		secondary=True)
	restoreSelections(curSelIds, savedSels)
	replyobj.status("Restoring openModel attributes...", blankAfter=0,
		secondary=True)
	restoreOpenModelsAttrs(openModelsAttrs)
	replyobj.status("Restoring model clipping...", blankAfter=0,
		secondary=True)
	restoreModelClip(clipPlaneInfo)
	replyobj.status("Restoring per-model silhouettes...", blankAfter=0,
		secondary=True)
	restoreSilhouettes(silhouettes)

	replyobj.status("Restoring remaining extension info...", blankAfter=0,
		secondary=True)
try:
	restoreRemainder()
except:
	reportRestoreError("Error restoring post-model state")
from SimpleSession.versions.v65 import makeAfterModelsCBs
makeAfterModelsCBs()

from SimpleSession.versions.v65 import endRestore
replyobj.status('Finishing restore...', blankAfter=0, secondary=True)
endRestore({})
replyobj.status('', secondary=True)
replyobj.status('Restore finished.')

