DataCatalogs2Creation.adoc 17 KB
Newer Older
1
PT0gSG93IHRvIEltcGxlbWVudCBEYXRhIENhdGFsb2dzIHdpdGggRWNsaXBzZQo6aW1hZ2VzZGlyOiBEYXRhQ2F0YWxvZ3MySW1hZ2VzCgpUbyBidWlsZCBhIG5ldyBkYXRhIGNhdGFsb2cgZnJvbSBzY3JhdGNoLCB3ZSBmaXJzdCBoYXZlIHRvIHVuZGVyc3RhbmQgc29tZSBiYXNpY3MgYWJvdXQgRWNsaXBzZSwgYW5kIHRoZW4gaW5zdGFsbCB0aGUgY29ycmVjdCBFY2xpcHNlIHBhY2thZ2UgYW5kIGFkZCBzb21lIHBsdWctaW5zIHRvIGl0LgpUaGVyZWFmdGVyLCB3ZSBjYW4gbW9kZWwgb3VyIGRhdGEgd2l0aCBFY29yZSBjb25zaWRlcmluZyBzb21lIGJlc3QgcHJhY3RpY2VzLCBmb2xsb3dlZCBieSB0aGUgZ2VuZXJhdGlvbiBvZiBKYXZhIGNsYXNzZXMgYW5kIHVzZXIgaW50ZXJmYWNlIChVSSkuClNvbWUgaGludHMgb24gdmVyc2lvbmluZyBkYXRhIGNhdGFsb2dzIGNvbmNsdWRlIHRoaXMgaG93LXRvLXNlY3Rpb24uCgo9PT0gRWNsaXBzZSBCYXNpY3MKCmh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0VjbGlwc2VfKHNvZnR3YXJlKVtFY2xpcHNlXSB3YXMgb3JpZ2luYWxseSBkZXZlbG9wZWQgYnkgSUJNIGFuZCBiZWNhbWUgT3BlbiBTb3VyY2UgaW4gMjAwMS4KSXQgaXMgYmVzdCBrbm93biBmb3IgaXRzIEludGVncmF0ZWQgRGV2ZWxvcG1lbnQgRW52aXJvbm1lbnRzIChfRWNsaXBzZSBJREVzXyksIG5vdCBvbmx5IGZvciBKYXZhLCBidXQgYWxzbyBmb3IgQysrLCBQeXRob24gYW5kIG1hbnkgb3RoZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLgpUaGVzZSBJREVzIGFyZSBjcmVhdGVkIG9uIHRvcCBvZiB0aGUgRWNsaXBzZSBSaWNoIENsaWVudCBQbGF0Zm9ybSAoRWNsaXBzZSBSQ1ApLCBhbiBhcHBsaWNhdGlvbiBmcmFtZXdvcmsgYW5kIHBsdWctaW4gc3lzdGVtIGJhc2VkIG9uIEphdmEgYW5kIE9TR2kuCkVjbGlwc2UgUkNQIGlzIGZvdW5kYXRpb24gb2YgYSBwbGV0aG9yYSBvZiBnZW5lcmFsLXB1cnBvc2UgYXBwbGljYXRpb25zLCB0b28uCgpGaXJzdCB0aW1lIHVzZXJzIG9mIEVjbGlwc2UgYmV0dGVyIHVuZGVyc3RhbmQgdGhlIGZvbGxvd2luZyBjb25jZXB0cy4KCi5FY2xpcHNlIFBhY2thZ2VzCkFuIEVjbGlwc2UgcGFja2FnZSBpcyBhbiBFY2xpcHNlIGRpc3RyaWJ1dGlvbiBkZWRpY2F0ZWQgdG8gYSBzcGVjaWZpYyB0eXBlIG9mIHRhc2suZm9vdG5vdGU6W1RoZSBub3Rpb24gb2YgYW4gRWNsaXBzZSBwYWNrYWdlIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggSmF2YSBwYWNrYWdlcy5dCkEgbGlzdCBvZiBwYWNrYWdlcyBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZG93bmxvYWRzL3BhY2thZ2VzL1tlY2xpcHNlLm9yZ10uCkJlc2lkZSBvdGhlcnMgaXQgY29udGFpbnMgX0VjbGlwc2UgSURFIGZvciBKYXZhIERldmVsb3BlcnNfLCBfRWNsaXBzZSBJREUgZm9yIFNjaWVudGlmaWMgQ29tcHV0aW5nXywgYW5kIHRoZSBwYWNrYWdlIHdlIHdpbGwgdXNlOiBfRWNsaXBzZSBNb2RlbGluZyBUb29sc18uCk5vdGUgdGhhdCB0aGlyZCBwYXJ0aWVzIG9mZmVyIG1hbnkgb3RoZXIgcGFja2FnZXMsIGUuZy4gX0dBTUFfIGZvciBtdWx0aS1hZ2VudC1zaW11bGF0aW9uIG9yIF9PYmVvIERlc2lnbmVyIENvbW11bml0eV8gZm9yIGNyZWF0aW5nIFNpcml1cyBkaWFncmFtIGVkaXRvcnMsIGJvdGggbm90ZWQgYWJvdmUuCgpbTk9URV0KPT09PQpTZXZlcmFsIEVjbGlwc2UgcGFja2FnZXMgY2FuIGJlIGluc3RhbGxlZCBzaWRlIGJ5IHNpZGUsIGV2ZW4gZGlmZmVyZW50IHJlbGVhc2VzIG9mIHRoZSBzYW1lIHBhY2thZ2UuIE11bHRpcGxlIEVjbGlwc2UgaW5zdGFsbGF0aW9ucyBjYW4gcnVuIGF0IHRoZSBzYW1lIHRpbWUsIGVhY2ggb24gaXRzIG93biB3b3Jrc3BhY2UgKHNlZSBiZWxvdykuCj09PT0KCi5QbHVnLWlucyAvIEZlYXR1cmVzCkFuIGluc3RhbGxlZCBFY2xpcHNlIHBhY2thZ2UgY29uc2lzdHMgb2YgYSBydW50aW1lIGNvcmUgYW5kIGEgYnVuY2ggb2YgYWRkaXRpb25hbCBwbHVnLWlucy4KVGVjaG5pY2FsbHksIGEgcGx1Zy1pbiBpcyBqdXN0IGEgc3BlY2lhbCBraW5kIG9mIEphdmEgYXJjaGl2ZSAoSkFSKSB0aGF0IHVzZXMgYW5kIGNhbiBiZSB1c2VkIGJ5IG90aGVyIHBsdWctaW5zIHdpdGggcmVnYXJkIHRvIE9TR2kgc3BlY2lmaWNhdGlvbnMuCkdyb3VwcyBvZiBwbHVnLWlucyB0aGF0IGJlbG9uZyB0b2dldGhlciBhcmUgY2FsbGVkIGEgX2ZlYXR1cmVfLgoKT2Z0ZW4sIGEgdXNlciB3aWxsIGFkZCBmdXJ0aGVyIHBsdWctaW5zIG9yIGZlYXR1cmVzIHRvIGFuIEVjbGlwc2UgaW5zdGFsbGF0aW9uIHRvIGFkZCBuZXcgY2FwYWJpbGl0aWVzLgpFLmcuIHdyaXRpbmcgdGhpcyBkb2N1bWVudGF0aW9uIHdpdGhpbiBteSBFY2xpcHNlIElERSBpcyBmYWNpbGl0YXRlZCBieSB0aGUgcGx1Zy1pbiBodHRwczovL21hcmtldHBsYWNlLmVjbGlwc2Uub3JnL2NvbnRlbnQvYXNjaWlkb2N0b3ItZWRpdG9yW0FzY2lpZG9jdG9yIEVkaXRvcl0uClBsdWctaW5zIGNhbiBlYXNpbHkgYmUgaW5zdGFsbGVkIHZpYSBtYWluIG1lbnUgY29tbWFuZCBgSGVscCDihpIgRWNsaXBzZSBNYXJrZXRwbGFjZS4uLmAuIFNvbWUgcGx1Zy1pbnMgbWF5IGJlIHNlbGYtbWFkZSBsaWtlIG91ciBwbHVnLWluIGBkZS5oZnRzdHV0dGdhcnQudW5pdHNgIHRoYXQgZW5hYmxlcyBFY29yZSB0byBkZWFsIHdpdGggcXVhbnRpdGllcy4KVGhlc2UgbWF5IGJlIHByb3ZpZGVkIHZpYSBfR2l0XyBvciBhcyBkb3dubG9hZCBhbmQgaGF2ZSB0byBiZSBhZGRlZCB0byBhbiBFY2xpcHNlIGluc3RhbGxhdGlvbiBtYW51YWxseS4KICAgIAouR2l0ClRvZGF5IGh0dHBzOi8vZ2l0LXNjbS5jb21bR2l0XSBpcyB0aGUgaW5kdXN0cnkgc3RhbmRhcmQgZm9yIGNvbGxhYm9yYXRpdmUgd29yayBvbiwgYW5kIHZlcnNpb25pbmcgb2YsIHNvdXJjZSBjb2RlIGFuZCBhbnkgb3RoZXIga2luZCBvZiB0ZXh0dWFsIGRhdGEuIENvbGxhYm9yYXRpdmUgZGV2ZWxvcG1lbnQgb2YgZGF0YSBjYXRhbG9ncyBiZW5lZml0cyBtYXNzaXZlbHkgZnJvbSB1c2luZyBHaXQsIGFuZCBHaXQgc3VwcG9ydCBpcyBidWlsdCBpbnRvIF9FY2xpcHNlIE1vZGVsaW5nIFRvb2xzXywgdGhlIEVjbGlwc2UgcGFja2FnZSB3ZSB3aWxsIHVzZS4KSG93ZXZlciwgaWYgRWNsaXBzZSBuZWVkcyB0byBjb25uZWN0IHRvIGEgR2l0IHNlcnZlciB0aGF0IHVzZXMgU1NIIHByb3RvY29sIChub3QgSFRUUFMgd2l0aCBwYXNzd29yZCksIGFjY2VzcyBjb25maWd1cmF0aW9uIGlzIG1vcmUgaW52b2x2ZWQgYW5kIG1heSBiZSBkZXBlbmRlbnQgb24geW91ciBvcGVyYXRpbmcgc3lzdGVtLgoKU29tZSB1c2VycywgYW55d2F5LCBwcmVmZXIgdG8gdXNlIEdpdCBmcm9tIHRoZSBjb21tYW5kIGxpbmUgb3Igd2l0aCBvbiBvZiB0aGUgY2xpZW50IGFwcGxpY2F0aW9uIGxpc3RlZCBodHRwczovL2dpdC1zY20uY29tL2Rvd25sb2Fkcy9ndWlzW2hlcmVdLCBlLmcuIGh0dHBzOi8vdG9ydG9pc2VnaXQub3JnW1RvcnRvaXNlR2l0XSBmb3IgV2luZG93cy4KCldoaWxlIGl0IGlzIHJlcXVpcmVkIHRvIGdldCBHaXQgd29ya2luZyBhdCBzb21lIHBvaW50LCB3ZSB3b24ndCByZWZlciB0byBpdCBpbiB0aGlzIGRvY3VtZW50IGFuZCwgZm9yIG5vdywgZG8gbm90IGNvdmVyIHRoZSBpbnN0YWxsYXRpb24gb2YgR2l0IG9uIHlvdXIgbWFjaGluZSBvciBjb25maWd1cmF0aW9uIG9mIEdpdCBpbiBFY2xpcHNlLgoKLldvcmtzcGFjZXMKCldoZW4geW91IHN0YXJ0IGEgbmV3IEVjbGlwc2UgaW5zdGFsbGF0aW9uIGZvciB0aGUgZmlyc3QgdGltZSwgeW91IGFyZSBhc2tlZCB0byBkZXNpZ25hdGUgYSBuZXcgZGlyZWN0b3J5IGluIHlvdXIgZmlsZSBzeXN0ZW0gdG8gc3RvcmUgYW4gX0VjbGlwc2Ugd29ya3NwYWNlXy4KRWNsaXBzZSBpcyBhbHdheXMgcnVubmluZyB3aXRoIGV4YWN0IG9uZSB3b3Jrc3BhY2Ugb3Blbi4KQXMgdGhlIG5hbWUgaW1wbGllcywgYSB3b3Jrc3BhY2Ugc3RvcmVzIGV2ZXJ5dGhpbmcgbmVlZGVkIGluIGEgZ2l2ZW4gY29udGV4dCBvZiB3b3JrLCB0aGF0IGlzIGEgc2V0IG9mIHJlbGF0ZWQgcHJvamVjdHMgdGhlIHVzZXIgaXMgd29ya2luZyBvbiBhcyB3ZWxsIGFzIG1ldGEtZGF0YSBsaWtlIHByZWZlcmVuY2Ugc2V0dGluZ3MsIHRoZSBjdXJyZW50IHN0YXR1cyBvZiBwcm9qZWN0cywgdG8gZG8gbGlzdHMsIGFuZCBtb3JlLiBJbiBjYXNlIGEgdXNlciB3YW50cyB0byB3b3JrIGluIGRpZmZlcmVudCBjb250ZXh0cywgZS5nLiBvbiBkaWZmZXJlbnQgdGFza3MsIGNvbW1hbmQgYEZpbGUgLT4gU3dpdGNoIFdvcmtzcGFjZWAgYWxsb3dzIHRvIGNyZWF0ZSBhZGRpdGlvbmFsIHdvcmtzcGFjZXMgYW5kIHN3aXRjaCBiZXR3ZWVuIHRoZW0uCgpbTk9URV0KPT09PQpBbnkgcGx1Zy1pbiBmcm9tIHRoZSBvcmlnaW5hbCBFY2xpcHNlIHBhY2thZ2Ugb3IgaW5zdGFsbGVkIGJ5IHRoZSB1c2VyIGxhdGVyIHdpbGwgYmUgY29waWVkIGludG8gdGhlIEVjbGlwc2UgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwgKm5vdCogaW4gYW55IHdvcmtzcGFjZS4gQ29uZmlndXJhdGlvbiBhbmQgY3VycmVudCBzdGF0ZSBvZiBwbHVnLWlucywgb24gdGhlIG90aGVyIGhhbmQsIGFyZSBzdG9yZWQgaW4gd29ya3NwYWNlcy4KPT09PQoKLlByb2plY3RzCkFuIEVjbGlwc2UgcHJvamVjdCBpcyBhIHRlY2huaWNhbCB0ZXJtIGZvciBhIGRpcmVjdG9yeSB0aGF0IG9mdGVuIGNvbnRhaW5zOgoKKiBmaWxlcyBvZiBzcGVjaWZpYyB0eXBlcyBmb3Igc291cmNlIGNvZGUsIHNjcmlwdHMsIFhNTCBmaWxlcyBvciBvdGhlciBkYXRhCiogYnVpbGQgc2V0dGluZ3MsIGNvbmZpZ3VyYXRpb25zCiogZGVwZW5kZW5jeSBkZWZpbml0aW9ucyAocmVtZW1iZXIgdGhlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIHBsdWctaW5zIGFib3ZlPykKKiBvdGhlciBFY2xpcHNlIHByb2plY3RzCgpEZXBlbmRpbmcgb24gdGhlIHBsdWctaW5zIGluc3RhbGxlZCwgYEZpbGUgLT4gTmV3IC0+IFByb2plY3QuLi5gIG9mZmVycyBtYW55IGRpZmZlcmVudCB0eXBlcyBvZiBwcm9qZWN0cyB0aGF0IHRoZSB1c2VyIGNhbiBjaG9vc2UgZnJvbSwgZS5nLiBKYXZhIHByb2plY3RzIHRvIGNyZWF0ZSBKYXZhIHByb2dyYW1zLCBtb2RlbCBwcm9qZWN0cyB0byB3b3JrIHdpdGggRWNvcmUgZGF0YSBtb2RlbHMsIG9yIGdlbmVyYWwgcHJvamVjdHMsIHRoYXQgc2ltcGxlIGhvbGQgc29tZSBhcmJpdHJhcnkgZmlsZXMuZm9vdG5vdGU6W1Byb2plY3RzIHBvc3Nlc3Mgb25lIG9yIG1vcmUgX25hdHVyZXNfIHVzZWQgdG8gZGVmaW5lIGEgcHJvamVjdCdzIHByaW5jaXBhbCB0eXBlLl0KCltXQVJOSU5HXQo9PT09CkZpbGVzIHRoYXQgZG8gbm90IGJlbG9uZyB0byBhIHByb2plY3QgYXJlIGludmlzaWJsZSBmb3IgRWNsaXBzZSEKPT09PQoKVGhlIHByb2plY3RzIGJlbG9uZ2luZyB0byBhIHdvcmtzcGFjZSBjYW4gZWl0aGVyIGJlIGRpcmVjdGx5IHN0b3JlZCB3aXRoaW4gdGhlIHdvcmtzcGFjZSBhcyBzdWItZGlyZWN0b3JpZXMgKHRoZSBkZWZhdWx0IG9mZmVyZWQgdG8gdGhlIHVzZXIgd2hlbiBjcmVhdGluZyBhIG5ldyBwcm9qZWN0KSwgb3IgbGlua2VkIGZyb20gaXQsIHRoYXQgaXMgdGhlIHdvcmtzcGFjZSBqdXN0IGhvbGRzIGEgbGluayB0byB0aGUgcHJvamVjdCBkaXJlY3RvcnkgdGhhdCBsaXZlcyBzb21ld2hlcmUgaW4gdGhlIGZpbGUgc3lzdGVtIG91dHNpZGUgb2YgdGhlIHdvcmtzcGFjZS4KTGlua2luZyBhbGxvd3MgdG8gd29yayB3aXRoIHRoZSBzYW1lIHByb2plY3RzIGluIGRpZmZlcmVudCB3b3Jrc3BhY2VzLgoKV2hpbGUgaXQgc29tZXRpbWVzIG1ha2VzIHNlbnNlIHRvIHNoYXJlIG9yIGV4Y2hhbmdlIHdvcmtzcGFjZXMgYmV0d2VlbiB1c2Vycyxmb290bm90ZTpbT3IgZXZlbiB3b3JrIG9uIHRoZSBzYW1lIHdvcmtzcGFjZSBwcm92aWRlZCBpbiB0aGUgY2xvdWQsIHNlZSBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9jaGUvdGVjaG5vbG9neS9bRWNsaXBzZSBDaGVdLl0sIEkgZG8gbm90IHJlY29tbWVuZCB0aGlzIGZvciBub3cuClByb2plY3RzLCBvbiB0aGUgb3RoZXIgaGFuZCwgYXJlIHNoYXJlZCBiZXR3ZWVuIHVzZXJzIG1vc3Qgb2YgdGhlIHRpbWUsIHVzdWFsbHkgdmlhIEdpdC4KSW4gZ2VuZXJhbCwgSSB3b3VsZCBzdWdnZXN0IHRvIHN0b3JlIEVjbGlwc2UgcHJvamVjdHMgb3V0c2lkZSB3b3Jrc3BhY2VzIGF0IGRlZGljYXRlZCBsb2NhdGlvbnMgaW4gdGhlIHVzZXIncyBmaWxlIHN5c3RlbS4KVGhhdCB3YXksIHdlIGNhbiBmb2xsb3cgdGhlIGNvbnZlbnRpb24gdGhhdCBsb2NhbCBHaXQgcmVwb3NpdG9yaWVzIHNob3VsZCBhbGwgYmUgbG9jYXRlZCB1bmRlciAKYDx1c2VyaG9tZT4vZ2l0YC4KCgo9PT0gU2V0dXAgRWNsaXBzZSBNb2RlbGluZyBUb29scwoKLkluc3RhbGwgSmF2YQoKQXMgYSBKYXZhIGFwcGxpY2F0aW9uLCBFY2xpcHNlIHJ1bnMgb24gNjQtYml0IHZlcnNpb25zIG9mIFdpbmRvd3MsIExpbnV4LCBhbmQgbWFjT1MgYW5kIHJlcXVpcmVzIGEgNjQtYml0IEphdmEgcnVudGltZSwgdmVyc2lvbiAxLjggKGFrYSB2ZXJzaW9uIDgpIG9yIGhpZ2hlciwgdG8gYmUgaW5zdGFsbGVkIG9uIHlvdXIgbWFjaGluZS4KSWYgbm90IGFscmVhZHkgdGhlcmUsIGRvd25sb2FkIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPcGVuSkRLIChjdXJyZW50bHkgMTQpIGZvciB5b3VyIG9wZXJhdGluZyBzeXN0ZW0gZnJvbSBodHRwczovL2Fkb3B0b3Blbmpkay5uZXRbQWRvcHRPcGVuSkRLXS5mb290bm90ZTpbQWRvcHRPcGVuSkRLIHJlY2VudGx5IGpvaW5lZCB0aGUgRWNsaXBzZSBmb3VuYXRpb24gYW5kIHNvb24gd2lsbCBjaGFuZ2UgaXRzIG5hbWUgdG8gX0Fkb3B0aXVtXyBmb3IgbGVnYWwgcmVhc29ucy5dCkNob29zZSBgSG90U3BvdGAgYXMgSmF2YSBWaXJ0dWFsIE1hY2hpbmUuCkluc3RhbGxhdGlvbiBwcm9jZXNzIGlzIHN0cmFpZ2h0IGZvcndhcmQsIGJ1dCB5b3UgY2FuIGFsc28gZmluZCBsaW5rcyB0byBleGhhdXN0aXZlIGluc3RydWN0aW9ucyBmb3IgeW91ciBvcGVyYXRpbmcgc3lzdGVtLiBOb3RlIHRoYXQgZGlmZmVyZW50IHZlcnNpb25zIG9mIEphdmEgY2FuIHBlYWNlZnVsbHkgY29leGlzdC4KCi5JbnN0YWxsIEVjbGlwc2UgTW9kZWxpbmcgVG9vbHMKCk5vdyBpdHMgdGltZSB0byBkb3dubG9hZCBhbmQgaW5zdGFsbCB0aGUgY29ycmVjdCBFY2xpcHNlIHBhY2thZ2UuClBsZWFzZSBnbyB0byBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9kb3dubG9hZHMvcGFja2FnZXNbRWNsaXBzZSBkb3dubG9hZCBwYWdlIGZvciBwYWNrYWdlc10uCk9uIHRvcCBvZiB0aGlzIHBhZ2UgeW91IG1heSBzZWUgXyJUcnkgdGhlIEVjbGlwc2UgSW5zdGFsbGVyIl8gb3Igc2ltaWxhci4KV2Ugd29uJ3QgZm9sbG93IHRoaXMgYWR2aWNlLCBzaW5jZSBpdCBpcyBub3Qgc3VpdGVkIGZvciBvdXIgdXNlLWNhc2UuIFdlIHdvbid0IGVpdGhlciBkb3dubG9hZCB0aGUgbW9zdCByZWNlbnQgcGFja2FnZSBiZWNhdXNlIHJlbGVhc2VzIGFmdGVyIGAyMDE5LTEyYCBjb21lIHdpdGggYSBidWcgdGhhdCBwcmV2ZW50cyB0aGUgdXNlciBmcm9tIGVkaXRpbmcgZGF0YSBpbiB0YWJsZSBjZWxscyB3aXRoaW4gdGhlIGdlbmVyYXRlZCBVSS4KCltDQVVUSU9OXQouRG93bmxvYWQgdmVyc2lvbiAyMDE5LTEyICg0LjE0KSBvbmx5IQo9PT09CkR1ZSB0byBhIGJ1ZyBpbiByZWNlbnQgdmVyc2lvbnMsIG1ha2Ugc3VyZSBub3QgdG8gZG93bmxvYWQgdGhlIGFjdHVhbCB2ZXJzaW9uLCBidXQgdGhlIG9sZGVyIHZlcnNpb24gMjAxOS0xMiAoNC4xNCkhCj09PT0KClRvIGRvIHNvLCBjbGljayB0aGUgbGluayBkZXBpY3RlZCBieSB0aGUgcmVkIGFycm93IGJlbG93LgoKCi5FY2xpcHNlIHBhY2thZ2VzIGRvd25sb2FkIHBhZ2Ugd2l0aCBsaW5rcyB0byBvbGRlciByZWxlYXNlcwppbWFnZTo6RWNsaXBzZURvd25sb2FkUGFnZTEuZ2lmW0VjbGlwc2VEb3dubG9hZFBhZ2UxLCByb2xlPSJ0aHVtYiJdCgpBIHNpbWlsYXIgZG93bmxvYWQgcGFnZSBmb3IgYWxsIHRoZSBwYWNrYWdlcyBhcHBlYXJzIGJ1dCB0aGlzIHRpbWUgZm9yIHZlcnNpb24gYDIwMTktMTJgLiBOb3cgbG9vayBmb3IgcGFja2FnZSBfRWNsaXBzZSBNb2RlbGluZyBUb29sc18gYW5kIGZvbGxvdyB0aGUgbGluayBvZiB5b3VyIG9wZXJhdGluZyBzeXN0ZW0gb24gdGhlIHJpZ2h0OgoKLkRvd25sb2FkIGxpbmtzIGZvciBFY2xpcHNlIE1vZGVsaW5nIFRvb2xzIHBhY2thZ2UKaW1hZ2U6OkVjbGlwc2VEb3dubG9hZFBhZ2UyLmdpZltFY2xpcHNlRG93bmxvYWRQYWdlMiwgcm9sZT0idGh1bWIiXQoKRmluYWxseSwgeW91IGNhbiBjbGljayBvbiBgRG93bmxvYWRgIGFuZCB3YWl0IGZvciB0aGUgNDAwIHNvbWV0aGluZyBNQiBwYWNrYWdlIHRvIGFycml2ZS4KCltOT1RFXQoKPT09PQpEZXBlbmRpbmcgb24gdGhlIG9wZXJhdGluZyBzeXN0ZW0sIHNldmVyYWwgc2VjdXJpdHkgZGlhbG9ncyBoYXZlIHRvIGJlIGFja25vd2xlZGdlZCBkdXJpbmcgaW5zdGFsbGF0aW9uIGFuZCBmaXJzdCBsYXVuY2ggb2YgRWNsaXBzZS4KPT09PQoKVGhlIGRvd25sb2FkZWQgaW5zdGFsbGF0aW9uIGZpbGUgY29udGFpbnMgdGhlIGFwcGxpY2F0aW9uIHNpbXBseSBuYW1lZCBgRWNsaXBzZWAgcmVhZHkgdG8gYmUgY29waWVkIGludG8gYEFwcGxpY2F0aW9uc2Agb24gbWFjT1Mgb3IgYmUgaW5zdGFsbGVkIGluIGBQcm9ncmFtc2Agb24gV2luZG93cy4KU2luY2UgeW91IG1heSBhZGQgb3RoZXIgRWNsaXBzZSBwYWNrYWdlcyBsYXRlciwgSSBzdWdnZXN0IHRvIHJlbmFtZSB0aGUgYXBwbGljYXRpb24gdG8gc29tZXRoaW5nIG1vcmUgc2lnbmlmaWNhbnQgbGlrZSBgRWNsaXBzZU1vZGVsaW5nYC4KCkFmdGVyIGluc3RhbGxhdGlvbiBoYXMgZmluaXNoZWQgbGF1bmNoIEVjbGlwc2UgZm9yIHRoZSBmaXJzdCB0aW1lIGFuZCBzZWUgdGhlIGRpYWxvZyBmb3IgY2hvb3NpbmcgYSBuZXcgZW1wdHkgZGlyZWN0b3J5IGFzIGl0cyB3b3Jrc3BhY2UgcG9wIHVwLiAgCgouSW5pdGlhbCBEaWFsb2cgdG8gQ2hvb3NlIGEgV29ya3NwYWNlIERpcmVjdG9yeQppbWFnZTo6U2VsZWN0V29ya3NwYWNlRGlyZWN0b3J5LmdpZltTZWxlY3RXb3Jrc3BhY2VEaXJlY3RvcnksIDUwMCwgcm9sZT0idGh1bWIiXQoKQWdhaW4sIG1vcmUgd29ya3NwYWNlcyBtaWdodCBjb21lIGludG8gZXhpc3RlbmNlIGxhdGVyLCBzbyByZXBsYWNlIHRoZSBwcm9wb3NlZCBnZW5lcmljIGRpcmVjdG9yeSBuYW1lIHdpdGggYSBtb3JlIHNwZWNpZmljIG9uZSwgZS5nLmBFY2xpcHNlTW9kZWxpbmdXU2AuClRoZSBFY2xpcHNlIG1haW4gd2luZG93IGFwcGVhcnMgd2l0aCBhIFdlbGNvbWUgU2NyZWVuIG9wZW4uCkl0IGNvbnRhaW5zIGxpbmtzIHRvIGV4aGF1c3RpdmUgZG9jdW1lbnRhdGlvbiBvbiBjb25jZXB0LCBmZWF0dXJlcyBhbmQgdXNhZ2Ugb2YgRWNsaXBzZSB0aGF0IG1pZ2h0IGJlIG9mIGludGVyZXN0IGxhdGVyLCBlc3BlY2lhbGx5OgoKKiBPdmVydmlldwoqKiBXb3JrYmVuY2ggYmFzaWNzCioqKiBDb25jZXB0czogZmVhdHVyZXMsIHJlc291cmNlcywgcGVyc3BlY3RpdmVzLCB2aWV3cywgZWRpdG9ycwoqKiogT3BlbmluZyBwZXJzcGVjdGl2ZXMgYW5kIHZpZXdzCioqKiBJbnN0YWxsaW5nIG5ldyBzb2Z0d2FyZSBtYW51YWxseQoqKiBUZWFtIHN1cHBvcnQgd2l0aCBHaXQKKiBMZWFybiBob3cgdG8gdXNlIHRoZSBFY29yZSBkaWFncmFtIGVkaXRvcgoqIExhdW5jaCB0aGUgRWNsaXBzZSBNYXJrZXRwbGFjZQoKRm9yIG5vdywgeW91IGNhbiBkaXNtaXNzIHRoZSB3ZWxjb21lIHNjcmVlbi4gSXQgY2FuIGJlIG9wZW5lZCBhbnl0aW1lIGJ5IGV4ZWN1dGluZyBgSGVscCAtPiBXZWxjb21lYAoKCi5BZGQgU3VwcG9ydCBmb3IgVW5pdHMgYW5kIFF1YW50aXRpZXMKCkFzIG1lbnRpb25lZCBiZWZvcmUsIGRhdGEgY2F0YWxvZ3MgZm9yIHNpbXVsYXRpb25zIHNob3VsZCBiZSBhYmxlIHRvIHJlcHJlc2VudCBxdWFudGl0aWVzLCBub3QganVzdCBiYXJlIGludGVnZXIgYW5kIHJlYWwgbnVtYmVycy4KVG8gdGhpcyBlbmQsIHRoZSBhdXRob3IgaGFzIGNyZWF0ZWQgdHdvIEVjbGlwc2UgcGx1Zy1pbiBwcm9qZWN0cyBwcm92aWRpbmcgdGhpcyBmZWF0dXJlIHRvIGJlIHVzZWQgYnkgRWNvcmUgYW5kIEVNRiBGb3JtcyBsYXRlci4KCkN1cnJlbnRseSwgdGhlIHByb2plY3RzIGFyZSBub3QgZGlzdHJpYnV0ZWQgYXMgcGx1Zy1pbnMuCkluc3RlYWQsIHdlIGNvbXBpbGUgdGhlbSBmcm9tIHNvdXJjZSBjb2RlLCBzaW1wbHkgYnkgaW1wb3J0aW5nIHRoZSBwcm9qZWN0cy4KVGhlc2UgdHdvIHByb2plY3RzIHdpbGwgYmUgdGhlIGZpcnN0IHRvIHBvcHVsYXRlIHRoZSB5ZXQgZW1wdHkgd29ya3NwYWNlOgoKLiBDb3B5IHRvIGZpbGUgc3lzdGVtIC4uLgouIEltcG9ydCBwcm9qZWN0IGJ1dCAqbm90KiBjb3B5aW5nIGl0IGluIHRoZSB3b3Jrc3BhY2UgKGp1c3QgbGlua2luZykKClRleHQKCj09PSBNb2RlbGluZyBEYXRhIENhdGFsb2dzIGZvciBTaW11bGF0aW9uIHdpdGggRWNvcmUKCk5vdyBkb21haW4gZXhwZXJ0cyBjYW4gc3RhcnQgbW9kZWxpbmcgdGhlIGRhdGEgdGhhdCB0aGUgcHJvamVjdGVkIGNhdGFsb2cgc2hhbGwgY29udGFpbi4KRXhjZXB0IC4uLiB1bmRlcnN0YW5kaW5nIHRoZSBiYXNpY3Mgb2Ygb2JqZWN0LW9yaWVudGVkIG1vZGVsaW5nIHdvdWxkIGJlIGhlbHBmdWwuClRoaXMgaXMgd2h5IGRldmVsb3BlcnMgc2hvdWxkIHN1cHBvcnQgZG9tYWluIGV4cGVydHMgYXQgdGhpcyBzdGFnZS4KCi5Nb2RlbCBEYXRhIHdpdGggQ2xhc3MgRGlhZ3JhbXMKCldlIHdpbGwgdXNlIEVjb3JlIGRpYWdyYW1zZm9yIGRhdGEgbW9kZWxpbmcgYmVsb3cuCkVjb3JlIGRpYWdyYW1zIGFyZSBzaW1wbGlmaWVkIFVNTCBjbGFzcyBkaWFncmFtcy4KSGVyZSBzb21lIHJlc291cmNlcyBhYm91dCB3aGF0IHRoaXMgaXMgYWxsIGFib3V0OgoKKiBodHRwOi8vd3d3LmNzLnRvcm9udG8uZWR1L35zbWUvQ1NDMzQwRi9zbGlkZXMvMTEtb2JqZWN0cy5wZGZbVG9yb250byBMZWN0dXJlIG9uIE9iamVjdCBPcmllbnRlZCBNb2RlbGluZ10KKiBodHRwOi8vYWdpbGVtb2RlbGluZy5jb20vYXJ0aWZhY3RzL2NsYXNzRGlhZ3JhbS5odG1bVU1MIDIgQ2xhc3MgRGlhZ3JhbXM6IEFuIEFnaWxlIEludHJvZHVjdGlvbl0KKiBodHRwczovL3d3dy5hbWF6b24uZGUvVU1MLUNsYXNzcm9vbS1FaW5mw7xocnVuZy1vYmpla3RvcmllbnRpZXJ0ZS1Nb2RlbGxpZXJ1bmctZWJvb2svZHAvQjAwQUlCRTFRQS9yZWY9c3JfMV8yP19fbWtfZGVfREU9w4VNw4XFvcOVw5EmZGNoaWxkPTEma2V5d29yZHM9VU1MJnFpZD0xNTg1ODU0NTk5JnNyPTgtMltVTUwgQCBDbGFzc3Jvb206IEVpbmUgRWluZsO8aHJ1bmcgaW4gZGllIG9iamVrdG9yaWVudGllcnRlIE1vZGVsbGllcnVuZyAoR2VybWFuIEJvb2spXQoKW1RJUF0KPT09PQpCZWdpbm5lcnMgYXJlIHN0cm9uZ2x5IGVuY291cmFnZWQgdG8gcmVhZCB0aGUgZmlyc3QgdHdvIHJlc291cmNlcy4gVGhlIGZpcnN0IG9uZSBjb250YWlucyBhIGdlbnRsZSBpbnRyb2R1Y3Rpb24sIGVzcGVjaWFsbHkgc3VpdGVkIGZvciBkb21haW4gZXhwZXJ0cy4gVGhlIHNlY29uZCBvbmUgYWxzbyBzZXJ2ZXMgYXMgYSByZWZlcmVuY2UuCj09PT0KCkluIHdoYXQgZm9sbG93cywgYSBwcmluY2lwbGUgdW5kZXJzdGFuZGluZyBvZiBjb25jZXB0cyBfQ2xhc3NfLCBfT2JqZWN0XywgX0F0dHJpYnV0ZV8sIF9Bc3NvY2lhdGlvbl8sIF9Db21wb3NpdGlvbl8sIGFuZCBfTXVsdGlwbGljaXR5XyBpcyB0YWtlbiBmb3IgZ3JhbnRlZC4KCk5vdGUgdGhhdCB0aGUgc291cmNlcyBhYm92ZSBkaWZmZXJlbmNpYXRlIGJldHdlZW4gY29uY2VwdHVhbCBhbmQgZGV0YWlsZWQgbW9kZWxzLiBXaGlsZSB0aGUgZmlyc3Qgd29yayB2ZXJ5IHdlbGwgb24gYSB3aGl0ZSBib2FyZCwgdGhlIGxhdHRlciBjYW4gYmUgdXNlZCBmb3IgY29kZSBnZW5lcmF0aW9uLgoKLlByaW5jaXBsZSBTdHJ1Y3R1cmUKPFVzZSBQbGFudFVNTD8+CgpIaWVyYXJjaGljLCBtYWluIGNhdGFsb2cgd2l0aCBzZXZlcmFsIGxpc3RzIG9mIG9iamVjdHMgb2YgdGhlIHNhbWUgdHlwZSB1c2luZyBhdHRyaWJ1dGVzLCBwcmltaXRpdmUgdHlwZXMsIHJlZmVyZW5jZXMgYW5kIGVudW1zCgpJZHM/CgouQWRkIFVuaXRzIHRvIHRoZSBNaXgKCnVzaW5nIEluZHJ5YSwgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBmb3IgVW5pdHMgb2YgTWVhc3VyZW1lbnQgaW4gSmF2YSAoSlNSIDM4NSkKCi5SZXByZXNlbnQgKFBhcmFtZXRlcml6ZWQpIEZ1bmN0aW9uczoKClRleHQKCi5EZXJpdmVkIFJlZmVyZW5jZXMgYW5kIEF0dHJpYnV0ZXMKClRoZXJlIGFyZSBubyBkZXJpdmVkIHJlZmVyZW5jZXMgb3IgYXR0cmlidXRlcyBieSBub3cuIEJ1dCBpZiBvbmUgaGFzIHRvIGltcGxlbWVudCBzb21lIGJ5IHByb3ZpZGluZyBhIGdldHRlciwgaXQgaXMgbmVjZXNzYXJ5IHRvIHJldHVybiBhbiB1bm1vZGlmaWFibGUgbGlzdCBsaWtlIEJhc2ljRUxpc3QuVW5tb2RpZmlhYmxlRUxpc3Qgb3IgRWNvcmVVdGlsLnVubW9kaWZpYWJsZUxpc3QoLi4uKSBpbnN0ZWFkIG9mIEVMaXN0IGFzIGRlc2NyaWJlZCBoZXJlOiBodHRwczovL3d3dy5udG51Lm5vL3dpa2kvcGx1Z2lucy9zZXJ2bGV0L21vYmlsZT9jb250ZW50SWQ9MTEyMjY5Mzg4I2NvbnRlbnQvdmlldy8xMTIyNjkzODggLgoKCj09PSBHZW5lcmF0aW9uIG9mIEphdmEgY29kZSBhbmQgcGVyc2lzdGVuY2UgbGF5ZXIgCgpDdXN0b20gY29kZSBtYXJrZWQgd2l0aCBgQGdlbmVyYXRlZCBOT1RgIGluIGBkZS5oZnRzdHV0dGdhcnQuZW5lcmd5Y29tcG9uZW50cy5wcm92aWRlcmAgaW4gcHJvamVjdCBgZGUuaGZ0c3R1dHRnYXJ0LmVuZXJneWNvbXBvbmVudHMuZWRpdGAKCgo9PT0gR2VuZXJhdGlvbiBhbmQgVHdlYWtpbmcgb2YgVUkKCmZvciBjcmVhdGluZyBjdXN0b20gVUkgbGFiZWxzOgoKKiBgRXhwb25lbnRpYWxGdW5jdGlvbkl0ZW1Qcm92aWRlci5qYXZhYAoqIGBMaW5lYXJGdW5jdGlvbkl0ZW1Qcm92aWRlci5qYXZhYAoqIGBUYWJsZUZ1bmN0aW9uSXRlbVByb3ZpZGVyLmphdmFgCgo9PT0gVmVyc2lvbmluZyBhbmQgQ29sbGFib3JhdGlvbgoKVGV4dAoK