Re[2]: [Insight-users] itk to vtk connection problems

Sebastián Fiorentini Sebastián Fiorentini
Mon, 2 Jun 2003 09:37:06 -0300


------------1279A175C3C2C97
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

Sven, and everybody attached is the code that I used in SkullyDoo to connect Itk to Vtk (and
viceversa with other class).
See ItkVtk.cpp and VtkItk.cpp classes.

-- 
Best regards,
 Sebastián                            mailto:sebasf at lncc . br
---
Visit SkullyDoo OpenSource project (3D image segmentation and visualization software) http://www . skullydoo . com . ar
------------1279A175C3C2C97
Content-Type: application/octet-stream; name="VtkItk.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="VtkItk.cpp"

LyoNCiMgJElkOiBWdGtJdGsuY3BwLHYgMS4xLjEuMSAyMDAzLzA1LzAyIDIyOjIxOjU5IHNlYmFz
ZmlvcmVudCBFeHAgJA0KIyBTa3VsbHlEb28gLSBTZWdtZW50YWRvciB5IHZpc3VhbGl6YWRvciBk
ZSBpbWFnZW5lcyB0cmlkaW1lbnNpb25hbGVzICANCiMgKEMpIDIwMDIgU2ViYXN0aaBuIEZpb3Jl
bnRpbmkgLyBJZ25hY2lvIExhcnJhYmlkZQ0KIyBDb250YWN0IEluZm86IHNlYmFzZmlvcmVudEB5
YWhvby5jb20uYXIgLyBuYWNob2xhcnJhYmlkZUB5YWhvby5jb20NCiMgQXJnZW50aW5hDQojIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBHUEwgTElDRU5TRSAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMNCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSAgICAgIA0KIyAgIGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
ICAgICAgDQojICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgICAgICAgICANCiMgICAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KIyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgDQojICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgICAgICAgICANCiMgICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAg
ICAgICAgIA0KIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgICAgICAgICAgICAgDQojICAgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIA0KIyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyAgICBhbG9uZyB3aXRoIHRoaXMg
cHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyAgICBGb3VuZGF0
aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEt
MTMwNyAgVVNBDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiovDQoNCiNpbmNsdWRlICJWdGtJdGsu
aCINCiNpbmNsdWRlICJndWkvUHJvZ3Jlc3NXaW5kb3dHVUkuaCINCg0KdGVtcGxhdGUgPHR5cGVu
YW1lIGl0a0ltcG9ydGVyPg0Kdm9pZCBjb25uZWN0VnRrVG9JdGtQaXBlbGluZSh2dGtJbWFnZUV4
cG9ydCogZXhwb3J0ZXIsIGl0a0ltcG9ydGVyIGltcG9ydGVyKXsNCglpbXBvcnRlci0+U2V0VXBk
YXRlSW5mb3JtYXRpb25DYWxsYmFjayhleHBvcnRlci0+R2V0VXBkYXRlSW5mb3JtYXRpb25DYWxs
YmFjaygpKTsNCglpbXBvcnRlci0+U2V0UGlwZWxpbmVNb2RpZmllZENhbGxiYWNrKGV4cG9ydGVy
LT5HZXRQaXBlbGluZU1vZGlmaWVkQ2FsbGJhY2soKSk7DQoJaW1wb3J0ZXItPlNldFdob2xlRXh0
ZW50Q2FsbGJhY2soZXhwb3J0ZXItPkdldFdob2xlRXh0ZW50Q2FsbGJhY2soKSk7DQoJaW1wb3J0
ZXItPlNldFNwYWNpbmdDYWxsYmFjayhleHBvcnRlci0+R2V0U3BhY2luZ0NhbGxiYWNrKCkpOw0K
CWltcG9ydGVyLT5TZXRPcmlnaW5DYWxsYmFjayhleHBvcnRlci0+R2V0T3JpZ2luQ2FsbGJhY2so
KSk7DQoJaW1wb3J0ZXItPlNldFNjYWxhclR5cGVDYWxsYmFjayhleHBvcnRlci0+R2V0U2NhbGFy
VHlwZUNhbGxiYWNrKCkpOw0KCWltcG9ydGVyLT5TZXROdW1iZXJPZkNvbXBvbmVudHNDYWxsYmFj
ayhleHBvcnRlci0+R2V0TnVtYmVyT2ZDb21wb25lbnRzQ2FsbGJhY2soKSk7DQoJaW1wb3J0ZXIt
PlNldFByb3BhZ2F0ZVVwZGF0ZUV4dGVudENhbGxiYWNrKGV4cG9ydGVyLT5HZXRQcm9wYWdhdGVV
cGRhdGVFeHRlbnRDYWxsYmFjaygpKTsNCglpbXBvcnRlci0+U2V0VXBkYXRlRGF0YUNhbGxiYWNr
KGV4cG9ydGVyLT5HZXRVcGRhdGVEYXRhQ2FsbGJhY2soKSk7DQoJaW1wb3J0ZXItPlNldERhdGFF
eHRlbnRDYWxsYmFjayhleHBvcnRlci0+R2V0RGF0YUV4dGVudENhbGxiYWNrKCkpOw0KCWltcG9y
dGVyLT5TZXRCdWZmZXJQb2ludGVyQ2FsbGJhY2soZXhwb3J0ZXItPkdldEJ1ZmZlclBvaW50ZXJD
YWxsYmFjaygpKTsNCglpbXBvcnRlci0+U2V0Q2FsbGJhY2tVc2VyRGF0YShleHBvcnRlci0+R2V0
Q2FsbGJhY2tVc2VyRGF0YSgpKTsNCn0NCg0KVnRrSXRrOjpWdGtJdGsoKXsNCgl2dGtJbWFnZUV4
cG9ydGVyPXZ0a0ltYWdlRXhwb3J0OjpOZXcoKTsNCglpdGtJbWFnZUltcG9ydGVyPWl0a1Z0a1Zv
bHVtZUltcG9ydGVyVHlwZTo6TmV3KCk7DQoJUHJvZ3Jlc3NXaW5kb3dHVUk6Okluc3RhbmNlKCkt
Pk9ic2VydmUoaXRrSW1hZ2VJbXBvcnRlciwiQ29uZWN0YW5kbyBwaXBlbGluZXMgVlRLLT5JVEsi
LCJ1bmtub3duIik7DQoJY29ubmVjdFZ0a1RvSXRrUGlwZWxpbmUodnRrSW1hZ2VFeHBvcnRlcixp
dGtJbWFnZUltcG9ydGVyKTsNCn0NCg0KVnRrSXRrOjp+VnRrSXRrKCl7DQoJdnRrSW1hZ2VFeHBv
cnRlci0+RGVsZXRlKCk7DQp9DQoNClZ0a0l0azo6aXRrSW1hZ2VUeXBlKiBWdGtJdGs6OmdldE91
dHB1dCgpew0KCWNvbnN0IGZsb2F0KiBzcGFjaW5nPXZ0a0ltYWdlRXhwb3J0ZXItPkdldElucHV0
KCktPkdldFNwYWNpbmcoKTsNCgljb25zdCBmbG9hdCogb3JpZ2luPXZ0a0ltYWdlRXhwb3J0ZXIt
PkdldElucHV0KCktPkdldE9yaWdpbigpOw0KCW91dHB1dC0+U2V0U3BhY2luZyhzcGFjaW5nKTsN
CglvdXRwdXQtPlNldE9yaWdpbihvcmlnaW4pOw0KCXJldHVybiBvdXRwdXQ7DQp9DQoNCnZvaWQg
VnRrSXRrOjpzZXRJbnB1dCh2dGtJbWFnZURhdGEqIGlucHV0KXsNCgl2dGtJbWFnZUV4cG9ydGVy
LT5TZXRJbnB1dChpbnB1dCk7DQoJb3V0cHV0PWl0a0ltYWdlSW1wb3J0ZXItPkdldE91dHB1dCgp
Ow0KfQ0K

------------1279A175C3C2C97
Content-Type: application/octet-stream; name="ItkVtk.h"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ItkVtk.h"

LyoNCiMgJElkOiBJdGtWdGsuaCx2IDEuMiAyMDAzLzA1LzIzIDE5OjE4OjU5IHNlYmFzZmlvcmVu
dCBFeHAgJA0KIyBTa3VsbHlEb28gLSBTZWdtZW50YWRvciB5IHZpc3VhbGl6YWRvciBkZSBpbWFn
ZW5lcyB0cmlkaW1lbnNpb25hbGVzICANCiMgKEMpIDIwMDIgU2ViYXN0aaBuIEZpb3JlbnRpbmkg
LyBJZ25hY2lvIExhcnJhYmlkZQ0KIyBDb250YWN0IEluZm86IHNlYmFzZmlvcmVudEB5YWhvby5j
b20uYXIgLyBuYWNob2xhcnJhYmlkZUB5YWhvby5jb20NCiMgQXJnZW50aW5hDQojIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyBHUEwgTElDRU5TRSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSAgICAgIA0KIyAgIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5ICAgICAg
DQojICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgICAgICAgICANCiMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KIyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgDQojICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgICAgICAgICANCiMgICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAgICAgICAg
IA0KIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgICAgICAgICAgICAgDQojICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIA0KIyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh
bTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyAgICBGb3VuZGF0aW9uLCBJ
bmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAg
VVNBDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiovDQoNCiNpZm5kZWYgX0l0a1Z0a19oXw0KI2Rl
ZmluZSBfSXRrVnRrX2hfDQojaWZkZWYgX01TQ19WRVINCgkjcHJhZ21hIHdhcm5pbmcgICggZGlz
YWJsZSA6IDQ3ODYgKQ0KI2VuZGlmDQoNCiNpbmNsdWRlICJjb21tb24vVHlwZXMuaCINCiNpbmNs
dWRlIDx2dGtJbWFnZUltcG9ydC5oPg0KI2luY2x1ZGUgPGl0a1ZUS0ltYWdlRXhwb3J0Lmg+DQoj
aW5jbHVkZSAiY29tbW9uL09iamVjdC5oIg0KI2luY2x1ZGUgImNvbW1vbi9UeXBlcy5oIg0KI2lu
Y2x1ZGUgPHZ0a0ltYWdlRGF0YS5oPg0KI2luY2x1ZGUgPHZ0a1BvbHlEYXRhLmg+DQojaW5jbHVk
ZSA8aXRrSW1hZ2UuaD4NCiNpbmNsdWRlIDxpdGtNZXNoLmg+DQoNCmNsYXNzIEl0a1Z0azpwdWJs
aWMgT2JqZWN0ew0KcHVibGljOg0KCXR5cGVkZWYgaXRrOjpJbWFnZTxJVEtfVm94ZWxUeXBlLDM+
IGl0a0ltYWdlVHlwZTsNCgl0eXBlZGVmIGl0azo6TWVzaDxkb3VibGUsMz4gaXRrTWVzaFR5cGU7
DQoJdHlwZWRlZglpdGs6OlZUS0ltYWdlRXhwb3J0PGl0a0ltYWdlVHlwZT4gaXRrVnRrVm9sdW1l
RXhwb3J0ZXJUeXBlOw0KcHJvdGVjdGVkOg0KCXZ0a0ltYWdlSW1wb3J0KiB2dGtJbWFnZUltcG9y
dGVyOw0KCWl0a1Z0a1ZvbHVtZUV4cG9ydGVyVHlwZTo6UG9pbnRlciBpdGtJbWFnZUV4cG9ydGVy
Ow0KcHVibGljOg0KCU5ld01hY3JvKEl0a1Z0ayk7DQoJdmlydHVhbCB+SXRrVnRrKCk7DQoJdm9p
ZCBzZXR1cChpdGtJbWFnZVR5cGUqIGlucHV0LHZ0a0ltYWdlRGF0YSogb3V0cHV0KTsNCgl2b2lk
IHNldHVwKGl0a01lc2hUeXBlKiBpbnB1dCx2dGtQb2x5RGF0YSogb3V0cHV0KTsNCn07DQoNCg0K
I2VuZGlmDQo=

------------1279A175C3C2C97
Content-Type: application/octet-stream; name="ItkVtk.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ItkVtk.cpp"

LyoNCiMgJElkOiBJdGtWdGsuY3BwLHYgMS4yIDIwMDMvMDUvMDYgMDA6MTI6MTQgc2ViYXNmaW9y
ZW50IEV4cCAkDQojIFNrdWxseURvbyAtIFNlZ21lbnRhZG9yIHkgdmlzdWFsaXphZG9yIGRlIGlt
YWdlbmVzIHRyaWRpbWVuc2lvbmFsZXMgIA0KIyAoQykgMjAwMiBTZWJhc3RpoG4gRmlvcmVudGlu
aSAvIElnbmFjaW8gTGFycmFiaWRlDQojIENvbnRhY3QgSW5mbzogc2ViYXNmaW9yZW50QHlhaG9v
LmNvbS5hciAvIG5hY2hvbGFycmFiaWRlQHlhaG9vLmNvbQ0KIyBBcmdlbnRpbmENCiMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIEdQTCBMSUNFTlNFICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIw0KIyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5ICAgICAgDQojICAgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgICAg
ICANCiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAgICAgICAgIA0KIyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICANCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAgICAgICAgIA0KIyAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgICAgICAg
ICAgDQojICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSAgICAgICAgICAgICANCiMgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KIyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgDQojICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojICAgIGFsb25nIHdpdGggdGhpcyBwcm9n
cmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojICAgIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3
ICBVU0ENCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKi8NCg0KI2luY2x1ZGUgIkl0a1Z0ay5oIg0K
I2luY2x1ZGUgImd1aS9Qcm9ncmVzc1dpbmRvd0dVSS5oIg0KI2luY2x1ZGUgPGl0a1RyaWFuZ2xl
Q2VsbC5oPg0KI2luY2x1ZGUgPGl0a1F1YWRyaWxhdGVyYWxDZWxsLmg+DQojaW5jbHVkZSA8dnRr
RGF0YVNldC5oPg0KI2luY2x1ZGUgPHZ0a0NlbGxBcnJheS5oPg0KDQoNCnRlbXBsYXRlIDx0eXBl
bmFtZSBpdGtFeHBvcnRlcj4NCnZvaWQgY29ubmVjdEl0a1RvVnRrUGlwZWxpbmUoaXRrRXhwb3J0
ZXIgZXhwb3J0ZXIsdnRrSW1hZ2VJbXBvcnQqIGltcG9ydGVyKXsNCglpbXBvcnRlci0+U2V0VXBk
YXRlSW5mb3JtYXRpb25DYWxsYmFjayhleHBvcnRlci0+R2V0VXBkYXRlSW5mb3JtYXRpb25DYWxs
YmFjaygpKTsNCglpbXBvcnRlci0+U2V0UGlwZWxpbmVNb2RpZmllZENhbGxiYWNrKGV4cG9ydGVy
LT5HZXRQaXBlbGluZU1vZGlmaWVkQ2FsbGJhY2soKSk7DQoJaW1wb3J0ZXItPlNldFdob2xlRXh0
ZW50Q2FsbGJhY2soZXhwb3J0ZXItPkdldFdob2xlRXh0ZW50Q2FsbGJhY2soKSk7DQoJaW1wb3J0
ZXItPlNldFNwYWNpbmdDYWxsYmFjayhleHBvcnRlci0+R2V0U3BhY2luZ0NhbGxiYWNrKCkpOw0K
CWltcG9ydGVyLT5TZXRPcmlnaW5DYWxsYmFjayhleHBvcnRlci0+R2V0T3JpZ2luQ2FsbGJhY2so
KSk7DQoJaW1wb3J0ZXItPlNldFNjYWxhclR5cGVDYWxsYmFjayhleHBvcnRlci0+R2V0U2NhbGFy
VHlwZUNhbGxiYWNrKCkpOw0KCWltcG9ydGVyLT5TZXROdW1iZXJPZkNvbXBvbmVudHNDYWxsYmFj
ayhleHBvcnRlci0+R2V0TnVtYmVyT2ZDb21wb25lbnRzQ2FsbGJhY2soKSk7DQoJaW1wb3J0ZXIt
PlNldFByb3BhZ2F0ZVVwZGF0ZUV4dGVudENhbGxiYWNrKGV4cG9ydGVyLT5HZXRQcm9wYWdhdGVV
cGRhdGVFeHRlbnRDYWxsYmFjaygpKTsNCglpbXBvcnRlci0+U2V0VXBkYXRlRGF0YUNhbGxiYWNr
KGV4cG9ydGVyLT5HZXRVcGRhdGVEYXRhQ2FsbGJhY2soKSk7DQoJaW1wb3J0ZXItPlNldERhdGFF
eHRlbnRDYWxsYmFjayhleHBvcnRlci0+R2V0RGF0YUV4dGVudENhbGxiYWNrKCkpOw0KCWltcG9y
dGVyLT5TZXRCdWZmZXJQb2ludGVyQ2FsbGJhY2soZXhwb3J0ZXItPkdldEJ1ZmZlclBvaW50ZXJD
YWxsYmFjaygpKTsNCglpbXBvcnRlci0+U2V0Q2FsbGJhY2tVc2VyRGF0YShleHBvcnRlci0+R2V0
Q2FsbGJhY2tVc2VyRGF0YSgpKTsNCn0NCg0KSXRrVnRrOjpJdGtWdGsoKXsNCgl2dGtJbWFnZUlt
cG9ydGVyPXZ0a0ltYWdlSW1wb3J0OjpOZXcoKTsNCgl2dGtJbWFnZUltcG9ydGVyLT5TZXREYXRh
U2NhbGFyVHlwZShWVEtfVm94ZWxUeXBlKTsNCglQcm9ncmVzc1dpbmRvd0dVSTo6SW5zdGFuY2Uo
KS0+T2JzZXJ2ZSh2dGtJbWFnZUltcG9ydGVyLCJDb25lY3RhbmRvIHBpcGVsaW5lcyBJVEstPlZU
SyIsInVua25vd24iKTsNCglpdGtJbWFnZUV4cG9ydGVyPWl0a1Z0a1ZvbHVtZUV4cG9ydGVyVHlw
ZTo6TmV3KCk7DQoJY29ubmVjdEl0a1RvVnRrUGlwZWxpbmUoaXRrSW1hZ2VFeHBvcnRlcix2dGtJ
bWFnZUltcG9ydGVyKTsNCn0NCg0KSXRrVnRrOjp+SXRrVnRrKCl7DQoJdnRrSW1hZ2VJbXBvcnRl
ci0+RGVsZXRlKCk7DQp9DQoNCnZvaWQgSXRrVnRrOjpzZXR1cChJdGtWdGs6Oml0a0ltYWdlVHlw
ZSogaW5wdXQsdnRrSW1hZ2VEYXRhKiBvdXRwdXQpew0KCXZ0a0ltYWdlSW1wb3J0ZXItPlNldE91
dHB1dChvdXRwdXQpOw0KCWl0a0ltYWdlRXhwb3J0ZXItPlNldElucHV0KGlucHV0KTsNCgljb25z
dCBkb3VibGUqIHNwYWNpbmc9aW5wdXQtPkdldFNwYWNpbmcoKTsNCgljb25zdCBkb3VibGUqIG9y
aWdpbj1pbnB1dC0+R2V0T3JpZ2luKCk7DQoJb3V0cHV0LT5TZXRTcGFjaW5nKHNwYWNpbmdbMF0s
c3BhY2luZ1sxXSxzcGFjaW5nWzJdKTsNCglvdXRwdXQtPlNldE9yaWdpbihvcmlnaW5bMF0sb3Jp
Z2luWzFdLG9yaWdpblsyXSk7DQp9DQoNCi8vQ29udmllcnRlIG1hbGxhIGl0ayBlbiBtYWxsYSB2
dGsNCmNsYXNzIFZpc3RWVEtDZWxsc0NsYXNzew0KICB2dGtDZWxsQXJyYXkqIG1fQ2VsbHM7DQog
IGludCogbV9MYXN0Q2VsbDsNCiAgaW50KiBtX1R5cGVBcnJheTsNCnB1YmxpYzoNCiAgLy8gdHlw
ZWRlZiB0aGUgaXRrIGNlbGxzIHdlIGFyZSBpbnRlcmVzdGVkIGluDQogIHR5cGVkZWYgaXRrOjpD
ZWxsSW50ZXJmYWNlPEl0a1Z0azo6aXRrTWVzaFR5cGU6OlBpeGVsVHlwZSxJdGtWdGs6Oml0a01l
c2hUeXBlOjpDZWxsVHJhaXRzID4gIENlbGxJbnRlcmZhY2VUeXBlOw0KICB0eXBlZGVmIGl0azo6
VHJpYW5nbGVDZWxsPENlbGxJbnRlcmZhY2VUeXBlPiBmbG9hdFRyaWFuZ2xlQ2VsbDsNCiAgdHlw
ZWRlZiBpdGs6OlF1YWRyaWxhdGVyYWxDZWxsPENlbGxJbnRlcmZhY2VUeXBlPiBmbG9hdFF1YWRy
aWxhdGVyYWxDZWxsOw0KDQogIC8vIFNldCB0aGUgdnRrQ2VsbEFycmF5IHRoYXQgd2lsbCBiZSBj
b25zdHJ1Y3RlZA0KICB2b2lkIFNldENlbGxBcnJheSh2dGtDZWxsQXJyYXkqIGEpew0KICAgICAg
bV9DZWxscyA9IGE7DQogICAgfQ0KICAvLyBTZXQgdGhlIGNlbGwgY291bnRlciBwb2ludGVyDQog
IHZvaWQgU2V0Q2VsbENvdW50ZXIoaW50KiBpKXsNCiAgICAgIG1fTGFzdENlbGwgPSBpOw0KICAg
IH0NCiAgLy8gU2V0IHRoZSB0eXBlIGFycmF5IGZvciBzdG9yaW5nIHRoZSB2dGsgY2VsbCB0eXBl
cw0KICB2b2lkIFNldFR5cGVBcnJheShpbnQqIGkpDQogICAgew0KICAgICAgbV9UeXBlQXJyYXkg
PSBpOw0KICAgIH0NCiAgLy8gVmlzaXQgYSB0cmlhbmdsZSBhbmQgY3JlYXRlIHRoZSBWVEtfVFJJ
QU5HTEUgY2VsbCANCiAgdm9pZCBWaXNpdCh1bnNpZ25lZCBsb25nIGNlbGxJZCwgZmxvYXRUcmlh
bmdsZUNlbGwqIHQpDQogICAgew0KICAgICAgbV9DZWxscy0+SW5zZXJ0TmV4dENlbGwoMywgICh2
dGtJZFR5cGUqKXQtPlBvaW50SWRzQmVnaW4oKSk7DQogICAgICBtX1R5cGVBcnJheVsqbV9MYXN0
Q2VsbF0gPSBWVEtfVFJJQU5HTEU7DQogICAgICAoKm1fTGFzdENlbGwpKys7DQogICAgfQ0KICAv
LyBWaXNpdCBhIHRyaWFuZ2xlIGFuZCBjcmVhdGUgdGhlIFZUS19RVUFEIGNlbGwgDQogIHZvaWQg
VmlzaXQodW5zaWduZWQgbG9uZyBjZWxsSWQsIGZsb2F0UXVhZHJpbGF0ZXJhbENlbGwqIHQpDQog
ICAgew0KICAgICAgbV9DZWxscy0+SW5zZXJ0TmV4dENlbGwoNCwgICh2dGtJZFR5cGUqKXQtPlBv
aW50SWRzQmVnaW4oKSk7DQogICAgICBtX1R5cGVBcnJheVsqbV9MYXN0Q2VsbF0gPSBWVEtfUVVB
RDsNCiAgICAgICgqbV9MYXN0Q2VsbCkrKzsNCiAgICB9DQp9Ow0KICANCnR5cGVkZWYgaXRrOjpD
ZWxsSW50ZXJmYWNlVmlzaXRvckltcGxlbWVudGF0aW9uPA0KZG91YmxlLCBJdGtWdGs6Oml0a01l
c2hUeXBlOjpDZWxsVHJhaXRzLA0KaXRrOjpUcmlhbmdsZUNlbGw8IGl0azo6Q2VsbEludGVyZmFj
ZTxJdGtWdGs6Oml0a01lc2hUeXBlOjpQaXhlbFR5cGUsIEl0a1Z0azo6aXRrTWVzaFR5cGU6OkNl
bGxUcmFpdHMgPiA+LCANCiAgVmlzdFZUS0NlbGxzQ2xhc3M+IFRyaWFuZ2xlVmlzaXRvcjsNCg0K
DQp0eXBlZGVmIGl0azo6Q2VsbEludGVyZmFjZVZpc2l0b3JJbXBsZW1lbnRhdGlvbjwNCmRvdWJs
ZSwgSXRrVnRrOjppdGtNZXNoVHlwZTo6Q2VsbFRyYWl0cywNCiAgaXRrOjpRdWFkcmlsYXRlcmFs
Q2VsbDwgaXRrOjpDZWxsSW50ZXJmYWNlPEl0a1Z0azo6aXRrTWVzaFR5cGU6OlBpeGVsVHlwZSwg
SXRrVnRrOjppdGtNZXNoVHlwZTo6Q2VsbFRyYWl0cyA+ID4sIA0KICBWaXN0VlRLQ2VsbHNDbGFz
cz4gUXVhZHJpbGF0ZXJhbFZpc2l0b3I7DQoNCnZvaWQgSXRrVnRrOjpzZXR1cChpdGtNZXNoVHlw
ZSogaW5wdXQsdnRrUG9seURhdGEqIG91dHB1dCl7DQogIC8vIEdldCB0aGUgbnVtYmVyIG9mIHBv
aW50cyBpbiB0aGUgbWVzaA0KICBpbnQgbnVtUG9pbnRzID0gaW5wdXQtPkdldE51bWJlck9mUG9p
bnRzKCk7DQogIGlmKG51bVBvaW50cyA9PSAwKSByZXR1cm47DQogIC8vIENyZWF0ZSB0aGUgdnRr
UG9pbnRzIG9iamVjdCBhbmQgc2V0IHRoZSBudW1iZXIgb2YgcG9pbnRzDQogIHZ0a1BvaW50cyog
dnBvaW50cyA9IHZ0a1BvaW50czo6TmV3KCk7DQogIHZwb2ludHMtPlNldE51bWJlck9mUG9pbnRz
KG51bVBvaW50cyk7DQogIC8vIGl0ZXJhdGUgb3ZlciBhbGwgdGhlIHBvaW50cyBpbiB0aGUgaXRr
IG1lc2ggZmlsbGluZyBpbg0KICAvLyB0aGUgdnRrUG9pbnRzIG9iamVjdCBhcyB3ZSBnbw0KICBJ
dGtWdGs6Oml0a01lc2hUeXBlOjpQb2ludHNDb250YWluZXI6OlBvaW50ZXIgcG9pbnRzID0gaW5w
dXQtPkdldFBvaW50cygpOw0KICBmb3IoSXRrVnRrOjppdGtNZXNoVHlwZTo6UG9pbnRzQ29udGFp
bmVyOjpJdGVyYXRvciBpID0gcG9pbnRzLT5CZWdpbigpOw0KICAgICAgaSAhPSBwb2ludHMtPkVu
ZCgpOyArK2kpew0KICAgIC8vIEdldCB0aGUgcG9pbnQgaW5kZXggZnJvbSB0aGUgcG9pbnQgY29u
dGFpbmVyIGl0ZXJhdG9yDQogICAgaW50IGlkeCA9IGktPkluZGV4KCk7DQogICAgLy8gU2V0IHRo
ZSB2dGsgcG9pbnQgYXQgdGhlIGluZGV4IHdpdGggdGhlIHRoZSBjb29yZCBhcnJheSBmcm9tIGl0
aw0KICAgIC8vIGl0ayByZXR1cm5zIGEgY29uc3QgcG9pbnRlciwgYnV0IHZ0ayBpcyBub3QgY29u
c3QgY29ycmVjdCwgc28NCiAgICAvLyB3ZSBoYXZlIHRvIHVzZSBhIGNvbnN0IGNhc3QgdG8gZ2V0
IHJpZCBvZiB0aGUgY29uc3QNCiAgICB2cG9pbnRzLT5TZXRQb2ludChpZHgsIGNvbnN0X2Nhc3Q8
ZmxvYXQqPihpLT5WYWx1ZSgpLkdldERhdGFQb2ludGVyKCkpKTsNCiAgICB9DQogIC8vIFNldCB0
aGUgcG9pbnRzIG9uIHRoZSB2dGsgZ3JpZA0KICBvdXRwdXQtPlNldFBvaW50cyh2cG9pbnRzKTsN
CiAgDQogIC8vIE5vdyBjcmVhdGUgdGhlIGNlbGxzIHVzaW5nIHRoZSBNdWxpdFZpc2l0b3INCiAg
Ly8gMS4gQ3JlYXRlIGEgTXVsdGlWaXNpdG9yDQogIEl0a1Z0azo6aXRrTWVzaFR5cGU6OkNlbGxU
eXBlOjpNdWx0aVZpc2l0b3I6OlBvaW50ZXIgbXYgPUl0a1Z0azo6aXRrTWVzaFR5cGU6OkNlbGxU
eXBlOjpNdWx0aVZpc2l0b3I6Ok5ldygpOw0KICAvLyAyLiBDcmVhdGUgYSB0cmlhbmdsZSBhbmQg
cXVhZHJpbGF0ZXJhbCB2aXNpdG9yDQogIFRyaWFuZ2xlVmlzaXRvcjo6UG9pbnRlciB0diA9IFRy
aWFuZ2xlVmlzaXRvcjo6TmV3KCk7DQogIFF1YWRyaWxhdGVyYWxWaXNpdG9yOjpQb2ludGVyIHF2
ID0gIFF1YWRyaWxhdGVyYWxWaXNpdG9yOjpOZXcoKTsNCiAgLy8gMy4gU2V0IHVwIHRoZSB2aXNp
dG9ycw0KICBpbnQgdnRrQ2VsbENvdW50ID0gMDsgLy8gcnVubmluZyBjb3VudGVyIGZvciBjdXJy
ZW50IGNlbGwgYmVpbmcgaW5zZXJ0ZWQgaW50byB2dGsNCiAgaW50IG51bUNlbGxzID0gaW5wdXQt
PkdldE51bWJlck9mQ2VsbHMoKTsNCiAgaW50ICp0eXBlcyA9IG5ldyBpbnRbbnVtQ2VsbHNdOyAv
LyB0eXBlIGFycmF5IGZvciB2dGsgDQogIC8vIGNyZWF0ZSB2dGsgY2VsbHMgYW5kIGVzdGltYXRl
IHRoZSBzaXplDQogIHZ0a0NlbGxBcnJheSogY2VsbHMgPSB2dGtDZWxsQXJyYXk6Ok5ldygpOw0K
ICBjZWxscy0+RXN0aW1hdGVTaXplKG51bUNlbGxzLCA0KTsNCiAgLy8gU2V0IHRoZSBUeXBlQXJy
YXkgQ2VsbENvdW50IGFuZCBDZWxsQXJyYXkgZm9yIGJvdGggdmlzaXRvcnMNCiAgdHYtPlNldFR5
cGVBcnJheSh0eXBlcyk7DQogIHR2LT5TZXRDZWxsQ291bnRlcigmdnRrQ2VsbENvdW50KTsNCiAg
dHYtPlNldENlbGxBcnJheShjZWxscyk7DQogIHF2LT5TZXRUeXBlQXJyYXkodHlwZXMpOw0KICBx
di0+U2V0Q2VsbENvdW50ZXIoJnZ0a0NlbGxDb3VudCk7DQogIHF2LT5TZXRDZWxsQXJyYXkoY2Vs
bHMpOw0KICAvLyBhZGQgdGhlIHZpc2l0b3JzIHRvIHRoZSBtdWx0aXZpc2l0b3INCiAgbXYtPkFk
ZFZpc2l0b3IodHYpOw0KICBtdi0+QWRkVmlzaXRvcihxdik7DQogIC8vIE5vdyBhc2sgdGhlIG1l
c2ggdG8gYWNjZXB0IHRoZSBtdWx0aXZpc2l0b3Igd2hpY2gNCiAgLy8gd2lsbCBDYWxsIFZpc2l0
IGZvciBlYWNoIGNlbGwgaW4gdGhlIG1lc2ggdGhhdCBtYXRjaGVzIHRoZQ0KICAvLyBjZWxsIHR5
cGVzIG9mIHRoZSB2aXNpdG9ycyBhZGRlZCB0byB0aGUgTXVsdGlWaXNpdG9yDQogIGlucHV0LT5B
Y2NlcHQobXYpOw0KICANCiAgLy8gTm93IHNldCB0aGUgY2VsbHMgb24gdGhlIHZ0ayBncmlkIHdp
dGggdGhlIHR5cGUgYXJyYXkgYW5kIGNlbGwgYXJyYXkNCiAgLy9vdXRwdXQtPlNldENlbGxEYXRh
KCkNCiAgb3V0cHV0LT5TZXRQb2x5cyhjZWxscyk7DQogIA0KICAvLyBDbGVhbiB1cCB2dGsgb2Jq
ZWN0cyAobm8gdnRrU21hcnRQb2ludGVyIC4uLiApDQogIGNlbGxzLT5EZWxldGUoKTsNCiAgdnBv
aW50cy0+RGVsZXRlKCk7DQoNCn0NCg==

------------1279A175C3C2C97
Content-Type: application/octet-stream; name="VtkItk.h"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="VtkItk.h"

LyoNCiMgJElkOiBWdGtJdGsuaCx2IDEuMiAyMDAzLzA1LzIzIDE4OjUwOjQwIHNlYmFzZmlvcmVu
dCBFeHAgJA0KIyBTa3VsbHlEb28gLSBTZWdtZW50YWRvciB5IHZpc3VhbGl6YWRvciBkZSBpbWFn
ZW5lcyB0cmlkaW1lbnNpb25hbGVzICANCiMgKEMpIDIwMDIgU2ViYXN0aaBuIEZpb3JlbnRpbmkg
LyBJZ25hY2lvIExhcnJhYmlkZQ0KIyBDb250YWN0IEluZm86IHNlYmFzZmlvcmVudEB5YWhvby5j
b20uYXIgLyBuYWNob2xhcnJhYmlkZUB5YWhvby5jb20NCiMgQXJnZW50aW5hDQojIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyBHUEwgTElDRU5TRSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSAgICAgIA0KIyAgIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5ICAgICAg
DQojICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgICAgICAgICANCiMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KIyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgDQojICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgICAgICAgICANCiMgICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAgICAgICAg
IA0KIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgICAgICAgICAgICAgDQojICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIA0KIyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh
bTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyAgICBGb3VuZGF0aW9uLCBJ
bmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAg
VVNBDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiovDQoNCiNpZm5kZWYgX1Z0a0l0a19oXw0KI2Rl
ZmluZSBfVnRrSXRrX2hfDQojaWZkZWYgX01TQ19WRVINCgkjcHJhZ21hIHdhcm5pbmcgICggZGlz
YWJsZSA6IDQ3ODYgKQ0KI2VuZGlmDQoNCiNpbmNsdWRlIDx2dGtJbWFnZUV4cG9ydC5oPg0KI2lu
Y2x1ZGUgPGl0a1ZUS0ltYWdlSW1wb3J0Lmg+DQojaW5jbHVkZSAiY29tbW9uL09iamVjdC5oIg0K
I2luY2x1ZGUgImNvbW1vbi9UeXBlcy5oIg0KI2luY2x1ZGUgPHZ0a0ltYWdlRGF0YS5oPg0KI2lu
Y2x1ZGUgPGl0a0ltYWdlLmg+DQoNCmNsYXNzIFZ0a0l0azpwdWJsaWMgT2JqZWN0ew0KcHVibGlj
Og0KCXR5cGVkZWYgaXRrOjpJbWFnZTxJVEtfVm94ZWxUeXBlLDM+IGl0a0ltYWdlVHlwZTsNCgl0
eXBlZGVmCWl0azo6VlRLSW1hZ2VJbXBvcnQ8aXRrSW1hZ2VUeXBlPiBpdGtWdGtWb2x1bWVJbXBv
cnRlclR5cGU7DQpwcm90ZWN0ZWQ6DQoJaXRrSW1hZ2VUeXBlKiBvdXRwdXQ7DQoJdnRrSW1hZ2VF
eHBvcnQqIHZ0a0ltYWdlRXhwb3J0ZXI7DQoJaXRrVnRrVm9sdW1lSW1wb3J0ZXJUeXBlOjpQb2lu
dGVyIGl0a0ltYWdlSW1wb3J0ZXI7DQpwdWJsaWM6DQoJTmV3TWFjcm8oVnRrSXRrKTsNCgl2aXJ0
dWFsIH5WdGtJdGsoKTsNCglpdGtJbWFnZVR5cGUqIGdldE91dHB1dCgpOw0KCXZvaWQgc2V0SW5w
dXQodnRrSW1hZ2VEYXRhKiBpbnB1dCk7DQp9Ow0KDQoNCiNlbmRpZg0K

------------1279A175C3C2C97--