Received: from localhost (unknown [200.46.204.183]) by developer.postgresql.org (Postfix) with ESMTP id E81052E0064 for ; Mon, 12 May 2008 13:19:03 -0300 (ADT) Received: from developer.postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 00951-01 for ; Mon, 12 May 2008 13:18:58 -0300 (ADT) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.183]) by developer.postgresql.org (Postfix) with ESMTP id DCD552E005E for ; Mon, 12 May 2008 13:18:58 -0300 (ADT) Received: by py-out-1112.google.com with SMTP id d37so2839253pye.29 for ; Mon, 12 May 2008 09:18:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=8s875R5JzTamUU41YyUW+0EmLNWkE0O2Q4G8UKuSYo8=; b=sw/eJO6cylHLbMACyMy9OU7LQNndNbjyQxIOrMVGZbEPeg5Sc30dVMOyG2BVtUokdoBiEVH0Eq59Wv2IRN3SQjhk2emj/CeCwzlFXyqzyf0aAyzqfFdq+M1o6JiU5COVs++u3o5u13tpBKqlW9Nxenz430R0EiHkQuBSmQcQALg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=dA7JhXjKVPb5n6skrrlmoNpUB916/U4bKJz9c9SUKDawtwiEBUFIwoRjoEp89wGVa+6jnrETWYyAXgjGB5hpgKTZQgXEru1vttimp0zOCXwl+kLq0PPnFZTd2Tw1drUyrQi/kWZQ/jk7bbsYHwqOx64K3Lp4X6K9f2nY+Quium4= Received: by 10.115.18.1 with SMTP id v1mr7850397wai.81.1210609137709; Mon, 12 May 2008 09:18:57 -0700 (PDT) Received: by 10.114.38.1 with HTTP; Mon, 12 May 2008 09:18:57 -0700 (PDT) Message-ID: Date: Mon, 12 May 2008 12:18:57 -0400 From: "Nikolas Everett" To: pgsql-performance@postgresql.org Subject: Partitioning: INSERT 0 0 but want INSERT 0 1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_2118_13655553.1210609137699" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.411 tagged_above=0 required=5 tests=HTML_MESSAGE=0.001, SUBJECT_FUZZY_TION=0.41 X-Spam-Level: X-Archive-Number: 200805/146 X-Sequence-Number: 30114 ------=_Part_2118_13655553.1210609137699 Content-Type: multipart/alternative; boundary="----=_Part_2119_8627236.1210609137699" ------=_Part_2119_8627236.1210609137699 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I figure this subject belongs on the performance mailing list because it is about partitioning, which is a performance issue. I'm working on partitioning some of the tables used by an application that uses OpenJPA. It turns out that OpenJPA is sensitive to the numbers returned when you do an insert. So I put together a test and attached it. My postgres version is 8.3.1 compiled from source. My problem is that this: test=> INSERT INTO ttt (a, b) VALUES ('5-5-08', 'test11212'); INSERT 0 0 Time: 21.646 ms needs to show: INSERT 0 1 or OpenJPA will not accept it. The insert works, but OpenJPA does not believe it and aborts the current transaction. Is it possible to have partitioning and have insert show the right number of rows inserted? Thanks, --Nik ------=_Part_2119_8627236.1210609137699 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I figure this subject belongs on the performance mailing list because it is about partitioning, which is a performance issue.

I'm working on partitioning some of the tables used by an application that uses OpenJPA.  It turns out that OpenJPA is sensitive to the numbers returned when you do an insert.  So I put together a test and attached it.  My postgres version is 8.3.1 compiled from source.

My problem is that this:
test=> INSERT INTO ttt (a, b) VALUES ('5-5-08', 'test11212');
INSERT 0 0
Time: 21.646 ms
needs to show:
INSERT 0 1

or OpenJPA will not accept it.  The insert works, but OpenJPA does not believe it and aborts the current transaction.

Is it possible to have partitioning and have insert show the right number of rows inserted?

Thanks,

--Nik
------=_Part_2119_8627236.1210609137699-- ------=_Part_2118_13655553.1210609137699 Content-Type: text/plain; name=testdump.sql Content-Transfer-Encoding: base64 X-Attachment-Id: f_fg595bgv0 Content-Disposition: attachment; filename=testdump.sql LS0NCi0tIFBvc3RncmVTUUwgZGF0YWJhc2UgZHVtcA0KLS0NCg0KU0VUIGNsaWVudF9lbmNvZGlu ZyA9ICdTUUxfQVNDSUknOw0KU0VUIHN0YW5kYXJkX2NvbmZvcm1pbmdfc3RyaW5ncyA9IG9mZjsN ClNFVCBjaGVja19mdW5jdGlvbl9ib2RpZXMgPSBmYWxzZTsNClNFVCBjbGllbnRfbWluX21lc3Nh Z2VzID0gd2FybmluZzsNClNFVCBlc2NhcGVfc3RyaW5nX3dhcm5pbmcgPSBvZmY7DQoNCi0tDQot LSBOYW1lOiBwYXJ0aXRpb25zOyBUeXBlOiBTQ0hFTUE7IFNjaGVtYTogLTsgT3duZXI6IGNkcg0K LS0NCg0KQ1JFQVRFIFNDSEVNQSBwYXJ0aXRpb25zOw0KDQoNCkFMVEVSIFNDSEVNQSBwYXJ0aXRp b25zIE9XTkVSIFRPIGNkcjsNCg0KLS0NCi0tIE5hbWU6IHBscGdzcWw7IFR5cGU6IFBST0NFRFVS QUwgTEFOR1VBR0U7IFNjaGVtYTogLTsgT3duZXI6IGNkcg0KLS0NCg0KQ1JFQVRFIFBST0NFRFVS QUwgTEFOR1VBR0UgcGxwZ3NxbDsNCg0KDQpBTFRFUiBQUk9DRURVUkFMIExBTkdVQUdFIHBscGdz cWwgT1dORVIgVE8gY2RyOw0KDQpTRVQgc2VhcmNoX3BhdGggPSBwdWJsaWMsIHBnX2NhdGFsb2c7 DQoNClNFVCBkZWZhdWx0X3RhYmxlc3BhY2UgPSAnJzsNCg0KU0VUIGRlZmF1bHRfd2l0aF9vaWRz ID0gZmFsc2U7DQoNCi0tDQotLSBOYW1lOiB0dHQ7IFR5cGU6IFRBQkxFOyBTY2hlbWE6IHB1Ymxp YzsgT3duZXI6IGNkcjsgVGFibGVzcGFjZTogDQotLQ0KDQpDUkVBVEUgVEFCTEUgdHR0ICgNCiAg ICBpZCBpbnRlZ2VyIE5PVCBOVUxMLA0KICAgIGEgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25l LA0KICAgIGIgY2hhcmFjdGVyIHZhcnlpbmcNCik7DQoNCg0KQUxURVIgVEFCTEUgcHVibGljLnR0 dCBPV05FUiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfaWRfc2VxOyBUeXBlOiBTRVFVRU5D RTsgU2NoZW1hOiBwdWJsaWM7IE93bmVyOiBjZHINCi0tDQoNCkNSRUFURSBTRVFVRU5DRSB0dHRf aWRfc2VxDQogICAgSU5DUkVNRU5UIEJZIDENCiAgICBOTyBNQVhWQUxVRQ0KICAgIE5PIE1JTlZB TFVFDQogICAgQ0FDSEUgMTsNCg0KDQpBTFRFUiBUQUJMRSBwdWJsaWMudHR0X2lkX3NlcSBPV05F UiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfaWRfc2VxOyBUeXBlOiBTRVFVRU5DRSBPV05F RCBCWTsgU2NoZW1hOiBwdWJsaWM7IE93bmVyOiBjZHINCi0tDQoNCkFMVEVSIFNFUVVFTkNFIHR0 dF9pZF9zZXEgT1dORUQgQlkgdHR0LmlkOw0KDQoNCi0tDQotLSBOYW1lOiB0dHRfaWRfc2VxOyBU eXBlOiBTRVFVRU5DRSBTRVQ7IFNjaGVtYTogcHVibGljOyBPd25lcjogY2RyDQotLQ0KDQpTRUxF Q1QgcGdfY2F0YWxvZy5zZXR2YWwoJ3R0dF9pZF9zZXEnLCAxNywgdHJ1ZSk7DQoNCg0KLS0NCi0t IE5hbWU6IGlkOyBUeXBlOiBERUZBVUxUOyBTY2hlbWE6IHB1YmxpYzsgT3duZXI6IGNkcg0KLS0N Cg0KQUxURVIgVEFCTEUgdHR0IEFMVEVSIENPTFVNTiBpZCBTRVQgREVGQVVMVCBuZXh0dmFsKCd0 dHRfaWRfc2VxJzo6cmVnY2xhc3MpOw0KDQoNClNFVCBzZWFyY2hfcGF0aCA9IHBhcnRpdGlvbnMs IHBnX2NhdGFsb2c7DQoNCi0tDQotLSBOYW1lOiB0dHRfMDUwNTA4OyBUeXBlOiBUQUJMRTsgU2No ZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiANCi0tDQoNCkNSRUFURSBU QUJMRSB0dHRfMDUwNTA4ICgNCiAgICBpZCBpbnRlZ2VyIERFRkFVTFQgbmV4dHZhbCgncHVibGlj LnR0dF9pZF9zZXEnOjpyZWdjbGFzcyksDQogICAgQ09OU1RSQUlOVCB0dHRfMDUwNTA4X2FfY2hl Y2sgQ0hFQ0sgKCgoYSA+PSAnMjAwOC0wNS0wNSc6OmRhdGUpIEFORCAoYSA8ICcyMDA4LTA1LTA2 Jzo6ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMgKHB1YmxpYy50dHQpOw0KDQoNCkFMVEVSIFRBQkxFIHBh cnRpdGlvbnMudHR0XzA1MDUwOCBPV05FUiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfMDUw NjA4OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNw YWNlOiANCi0tDQoNCkNSRUFURSBUQUJMRSB0dHRfMDUwNjA4ICgNCiAgICBpZCBpbnRlZ2VyIERF RkFVTFQgbmV4dHZhbCgncHVibGljLnR0dF9pZF9zZXEnOjpyZWdjbGFzcyksDQogICAgQ09OU1RS QUlOVCB0dHRfMDUwNjA4X2FfY2hlY2sgQ0hFQ0sgKCgoYSA+PSAnMjAwOC0wNS0wNic6OmRhdGUp IEFORCAoYSA8ICcyMDA4LTA1LTA3Jzo6ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMgKHB1YmxpYy50dHQp Ow0KDQoNCkFMVEVSIFRBQkxFIHBhcnRpdGlvbnMudHR0XzA1MDYwOCBPV05FUiBUTyBjZHI7DQoN Ci0tDQotLSBOYW1lOiB0dHRfMDUwNzA4OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiBwYXJ0aXRpb25z OyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiANCi0tDQoNCkNSRUFURSBUQUJMRSB0dHRfMDUwNzA4 ICgNCiAgICBpZCBpbnRlZ2VyIERFRkFVTFQgbmV4dHZhbCgncHVibGljLnR0dF9pZF9zZXEnOjpy ZWdjbGFzcyksDQogICAgQ09OU1RSQUlOVCB0dHRfMDUwNzA4X2FfY2hlY2sgQ0hFQ0sgKCgoYSA+ PSAnMjAwOC0wNS0wNyc6OmRhdGUpIEFORCAoYSA8ICcyMDA4LTA1LTA4Jzo6ZGF0ZSkpKQ0KKQ0K SU5IRVJJVFMgKHB1YmxpYy50dHQpOw0KDQoNCkFMVEVSIFRBQkxFIHBhcnRpdGlvbnMudHR0XzA1 MDcwOCBPV05FUiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfMDUwODA4OyBUeXBlOiBUQUJM RTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiANCi0tDQoNCkNS RUFURSBUQUJMRSB0dHRfMDUwODA4ICgNCiAgICBpZCBpbnRlZ2VyIERFRkFVTFQgbmV4dHZhbCgn cHVibGljLnR0dF9pZF9zZXEnOjpyZWdjbGFzcyksDQogICAgQ09OU1RSQUlOVCB0dHRfMDUwODA4 X2FfY2hlY2sgQ0hFQ0sgKCgoYSA+PSAnMjAwOC0wNS0wOCc6OmRhdGUpIEFORCAoYSA8ICcyMDA4 LTA1LTA5Jzo6ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMgKHB1YmxpYy50dHQpOw0KDQoNCkFMVEVSIFRB QkxFIHBhcnRpdGlvbnMudHR0XzA1MDgwOCBPV05FUiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0 dHRfMDUwOTA4OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBU YWJsZXNwYWNlOiANCi0tDQoNCkNSRUFURSBUQUJMRSB0dHRfMDUwOTA4ICgNCiAgICBpZCBpbnRl Z2VyIERFRkFVTFQgbmV4dHZhbCgncHVibGljLnR0dF9pZF9zZXEnOjpyZWdjbGFzcyksDQogICAg Q09OU1RSQUlOVCB0dHRfMDUwOTA4X2FfY2hlY2sgQ0hFQ0sgKCgoYSA+PSAnMjAwOC0wNS0wOSc6 OmRhdGUpIEFORCAoYSA8ICcyMDA4LTA1LTEwJzo6ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMgKHB1Ymxp Yy50dHQpOw0KDQoNCkFMVEVSIFRBQkxFIHBhcnRpdGlvbnMudHR0XzA1MDkwOCBPV05FUiBUTyBj ZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfMDUxMDA4OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiBwYXJ0 aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiANCi0tDQoNCkNSRUFURSBUQUJMRSB0dHRf MDUxMDA4ICgNCiAgICBpZCBpbnRlZ2VyIERFRkFVTFQgbmV4dHZhbCgncHVibGljLnR0dF9pZF9z ZXEnOjpyZWdjbGFzcyksDQogICAgQ09OU1RSQUlOVCB0dHRfMDUxMDA4X2FfY2hlY2sgQ0hFQ0sg KCgoYSA+PSAnMjAwOC0wNS0xMCc6OmRhdGUpIEFORCAoYSA8ICcyMDA4LTA1LTExJzo6ZGF0ZSkp KQ0KKQ0KSU5IRVJJVFMgKHB1YmxpYy50dHQpOw0KDQoNCkFMVEVSIFRBQkxFIHBhcnRpdGlvbnMu dHR0XzA1MTAwOCBPV05FUiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfMDUxMTA4OyBUeXBl OiBUQUJMRTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiANCi0t DQoNCkNSRUFURSBUQUJMRSB0dHRfMDUxMTA4ICgNCiAgICBpZCBpbnRlZ2VyIERFRkFVTFQgbmV4 dHZhbCgncHVibGljLnR0dF9pZF9zZXEnOjpyZWdjbGFzcyksDQogICAgQ09OU1RSQUlOVCB0dHRf MDUxMTA4X2FfY2hlY2sgQ0hFQ0sgKCgoYSA+PSAnMjAwOC0wNS0xMSc6OmRhdGUpIEFORCAoYSA8 ICcyMDA4LTA1LTEyJzo6ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMgKHB1YmxpYy50dHQpOw0KDQoNCkFM VEVSIFRBQkxFIHBhcnRpdGlvbnMudHR0XzA1MTEwOCBPV05FUiBUTyBjZHI7DQoNCi0tDQotLSBO YW1lOiB0dHRfMDUxMjA4OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjog Y2RyOyBUYWJsZXNwYWNlOiANCi0tDQoNCkNSRUFURSBUQUJMRSB0dHRfMDUxMjA4ICgNCiAgICBp ZCBpbnRlZ2VyIERFRkFVTFQgbmV4dHZhbCgncHVibGljLnR0dF9pZF9zZXEnOjpyZWdjbGFzcyks DQogICAgQ09OU1RSQUlOVCB0dHRfMDUxMjA4X2FfY2hlY2sgQ0hFQ0sgKCgoYSA+PSAnMjAwOC0w NS0xMic6OmRhdGUpIEFORCAoYSA8ICcyMDA4LTA1LTEzJzo6ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMg KHB1YmxpYy50dHQpOw0KDQoNCkFMVEVSIFRBQkxFIHBhcnRpdGlvbnMudHR0XzA1MTIwOCBPV05F UiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfMDUxMzA4OyBUeXBlOiBUQUJMRTsgU2NoZW1h OiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiANCi0tDQoNCkNSRUFURSBUQUJM RSB0dHRfMDUxMzA4ICgNCiAgICBpZCBpbnRlZ2VyIERFRkFVTFQgbmV4dHZhbCgncHVibGljLnR0 dF9pZF9zZXEnOjpyZWdjbGFzcyksDQogICAgQ09OU1RSQUlOVCB0dHRfMDUxMzA4X2FfY2hlY2sg Q0hFQ0sgKCgoYSA+PSAnMjAwOC0wNS0xMyc6OmRhdGUpIEFORCAoYSA8ICcyMDA4LTA1LTE0Jzo6 ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMgKHB1YmxpYy50dHQpOw0KDQoNCkFMVEVSIFRBQkxFIHBhcnRp dGlvbnMudHR0XzA1MTMwOCBPV05FUiBUTyBjZHI7DQoNCi0tDQotLSBOYW1lOiB0dHRfMDUxNDA4 OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNl OiANCi0tDQoNCkNSRUFURSBUQUJMRSB0dHRfMDUxNDA4ICgNCiAgICBpZCBpbnRlZ2VyIERFRkFV TFQgbmV4dHZhbCgncHVibGljLnR0dF9pZF9zZXEnOjpyZWdjbGFzcyksDQogICAgQ09OU1RSQUlO VCB0dHRfMDUxNDA4X2FfY2hlY2sgQ0hFQ0sgKCgoYSA+PSAnMjAwOC0wNS0xNCc6OmRhdGUpIEFO RCAoYSA8ICcyMDA4LTA1LTE1Jzo6ZGF0ZSkpKQ0KKQ0KSU5IRVJJVFMgKHB1YmxpYy50dHQpOw0K DQoNCkFMVEVSIFRBQkxFIHBhcnRpdGlvbnMudHR0XzA1MTQwOCBPV05FUiBUTyBjZHI7DQoNClNF VCBzZWFyY2hfcGF0aCA9IHB1YmxpYywgcGdfY2F0YWxvZzsNCg0KLS0NCi0tIE5hbWU6IHR0dF9p bnNlcnRfdHJpZ2dlcigpOyBUeXBlOiBGVU5DVElPTjsgU2NoZW1hOiBwdWJsaWM7IE93bmVyOiBj ZHINCi0tDQoNCkNSRUFURSBGVU5DVElPTiB0dHRfaW5zZXJ0X3RyaWdnZXIoKSBSRVRVUk5TIHRy aWdnZXINCiAgICBBUyAkJA0KQkVHSU4NCglJRiAoTkVXLmEgPj0gREFURSAnMDUtMDUtMDgnIEFO RCBORVcuYSA8IERBVEUgJzA1LTA2LTA4JykgVEhFTg0KCQlJTlNFUlQgSU5UTyBwYXJ0aXRpb25z LnR0dF8wNTA1MDggVkFMVUVTIChORVcuKik7DQoJRUxTSUYgKE5FVy5hID49IERBVEUgJzA1LTA2 LTA4JyBBTkQgTkVXLmEgPCBEQVRFICcwNS0wNy0wOCcpIFRIRU4NCgkJSU5TRVJUIElOVE8gcGFy dGl0aW9ucy50dHRfMDUwNjA4IFZBTFVFUyAoTkVXLiopOw0KCUVMU0lGIChORVcuYSA+PSBEQVRF ICcwNS0wNy0wOCcgQU5EIE5FVy5hIDwgREFURSAnMDUtMDgtMDgnKSBUSEVODQoJCUlOU0VSVCBJ TlRPIHBhcnRpdGlvbnMudHR0XzA1MDcwOCBWQUxVRVMgKE5FVy4qKTsNCglFTFNJRiAoTkVXLmEg Pj0gREFURSAnMDUtMDgtMDgnIEFORCBORVcuYSA8IERBVEUgJzA1LTA5LTA4JykgVEhFTg0KCQlJ TlNFUlQgSU5UTyBwYXJ0aXRpb25zLnR0dF8wNTA4MDggVkFMVUVTIChORVcuKik7DQoJRUxTSUYg KE5FVy5hID49IERBVEUgJzA1LTA5LTA4JyBBTkQgTkVXLmEgPCBEQVRFICcwNS0xMC0wOCcpIFRI RU4NCgkJSU5TRVJUIElOVE8gcGFydGl0aW9ucy50dHRfMDUwOTA4IFZBTFVFUyAoTkVXLiopOw0K CUVMU0lGIChORVcuYSA+PSBEQVRFICcwNS0xMC0wOCcgQU5EIE5FVy5hIDwgREFURSAnMDUtMTEt MDgnKSBUSEVODQoJCUlOU0VSVCBJTlRPIHBhcnRpdGlvbnMudHR0XzA1MTAwOCBWQUxVRVMgKE5F Vy4qKTsNCglFTFNJRiAoTkVXLmEgPj0gREFURSAnMDUtMTEtMDgnIEFORCBORVcuYSA8IERBVEUg JzA1LTEyLTA4JykgVEhFTg0KCQlJTlNFUlQgSU5UTyBwYXJ0aXRpb25zLnR0dF8wNTExMDggVkFM VUVTIChORVcuKik7DQoJRUxTSUYgKE5FVy5hID49IERBVEUgJzA1LTEyLTA4JyBBTkQgTkVXLmEg PCBEQVRFICcwNS0xMy0wOCcpIFRIRU4NCgkJSU5TRVJUIElOVE8gcGFydGl0aW9ucy50dHRfMDUx MjA4IFZBTFVFUyAoTkVXLiopOw0KCUVMU0lGIChORVcuYSA+PSBEQVRFICcwNS0xMy0wOCcgQU5E IE5FVy5hIDwgREFURSAnMDUtMTQtMDgnKSBUSEVODQoJCUlOU0VSVCBJTlRPIHBhcnRpdGlvbnMu dHR0XzA1MTMwOCBWQUxVRVMgKE5FVy4qKTsNCglFTFNJRiAoTkVXLmEgPj0gREFURSAnMDUtMTQt MDgnIEFORCBORVcuYSA8IERBVEUgJzA1LTE1LTA4JykgVEhFTg0KCQlJTlNFUlQgSU5UTyBwYXJ0 aXRpb25zLnR0dF8wNTE0MDggVkFMVUVTIChORVcuKik7DQoJRUxTRQ0KCQlSQUlTRSBFWENFUFRJ T04gJ3R0dC5hIG91dCBvZiByYW5nZTogIDIwMDgtMDUtMDUgPD0gJSA8IDIwMDgtMDUtMTQnLCBO RVcuYTsNCglFTkQgSUY7DQoJUkVUVVJOIE5VTEw7DQpFTkQ7DQokJA0KICAgIExBTkdVQUdFIHBs cGdzcWw7DQoNCg0KQUxURVIgRlVOQ1RJT04gcHVibGljLnR0dF9pbnNlcnRfdHJpZ2dlcigpIE9X TkVSIFRPIGNkcjsNCg0KU0VUIHNlYXJjaF9wYXRoID0gcGFydGl0aW9ucywgcGdfY2F0YWxvZzsN Cg0KLS0NCi0tIERhdGEgZm9yIE5hbWU6IHR0dF8wNTA1MDg7IFR5cGU6IFRBQkxFIERBVEE7IFNj aGVtYTogcGFydGl0aW9uczsgT3duZXI6IGNkcg0KLS0NCg0KQ09QWSB0dHRfMDUwNTA4IChpZCwg YSwgYikgRlJPTSBzdGRpbjsNCjEJMjAwOC0wNS0wNSAwMDowMDowMAl0ZXN0MTEyMTINCjIJMjAw OC0wNS0wNSAwMDowMDowMAl0ZXN0MTEyMTINCjMJMjAwOC0wNS0wNSAwMDowMDowMAl0ZXN0MTEy MTINCjQJMjAwOC0wNS0wNSAwMDowMDowMAl0ZXN0MTEyMTINCjUJMjAwOC0wNS0wNSAwMDowMDow MAl0ZXN0MTEyMTINCjYJMjAwOC0wNS0wNSAwMDowMDowMAl0ZXN0MTEyMTINCjcJMjAwOC0wNS0w NSAwMDowMDowMAl0ZXN0MTEyMTINCjgJMjAwOC0wNS0wNSAwMDowMDowMAl0ZXN0MTEyMTINCjkJ MjAwOC0wNS0wNSAwMDowMDowMAl0ZXN0MTEyMTINCjEwCTIwMDgtMDUtMDUgMDA6MDA6MDAJdGVz dDExMjEyDQoxMQkyMDA4LTA1LTA1IDAwOjAwOjAwCXRlc3QxMTIxMg0KMTIJMjAwOC0wNS0wNSAw MDowMDowMAl0ZXN0MTEyMTINCjEzCTIwMDgtMDUtMDUgMDA6MDA6MDAJdGVzdDExMjEyDQoxNAky MDA4LTA1LTA1IDAwOjAwOjAwCXRlc3QxMTIxMg0KMTUJMjAwOC0wNS0wNSAwMDowMDowMAl0ZXN0 MTEyMTINCjE2CTIwMDgtMDUtMDUgMDA6MDA6MDAJdGVzdDExMjEyDQoxNwkyMDA4LTA1LTA1IDAw OjAwOjAwCXRlc3QxMTIxMg0KXC4NCg0KDQotLQ0KLS0gRGF0YSBmb3IgTmFtZTogdHR0XzA1MDYw ODsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyDQotLQ0K DQpDT1BZIHR0dF8wNTA2MDggKGlkLCBhLCBiKSBGUk9NIHN0ZGluOw0KXC4NCg0KDQotLQ0KLS0g RGF0YSBmb3IgTmFtZTogdHR0XzA1MDcwODsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwYXJ0 aXRpb25zOyBPd25lcjogY2RyDQotLQ0KDQpDT1BZIHR0dF8wNTA3MDggKGlkLCBhLCBiKSBGUk9N IHN0ZGluOw0KXC4NCg0KDQotLQ0KLS0gRGF0YSBmb3IgTmFtZTogdHR0XzA1MDgwODsgVHlwZTog VEFCTEUgREFUQTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyDQotLQ0KDQpDT1BZIHR0 dF8wNTA4MDggKGlkLCBhLCBiKSBGUk9NIHN0ZGluOw0KXC4NCg0KDQotLQ0KLS0gRGF0YSBmb3Ig TmFtZTogdHR0XzA1MDkwODsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBP d25lcjogY2RyDQotLQ0KDQpDT1BZIHR0dF8wNTA5MDggKGlkLCBhLCBiKSBGUk9NIHN0ZGluOw0K XC4NCg0KDQotLQ0KLS0gRGF0YSBmb3IgTmFtZTogdHR0XzA1MTAwODsgVHlwZTogVEFCTEUgREFU QTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyDQotLQ0KDQpDT1BZIHR0dF8wNTEwMDgg KGlkLCBhLCBiKSBGUk9NIHN0ZGluOw0KXC4NCg0KDQotLQ0KLS0gRGF0YSBmb3IgTmFtZTogdHR0 XzA1MTEwODsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2Ry DQotLQ0KDQpDT1BZIHR0dF8wNTExMDggKGlkLCBhLCBiKSBGUk9NIHN0ZGluOw0KXC4NCg0KDQot LQ0KLS0gRGF0YSBmb3IgTmFtZTogdHR0XzA1MTIwODsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1h OiBwYXJ0aXRpb25zOyBPd25lcjogY2RyDQotLQ0KDQpDT1BZIHR0dF8wNTEyMDggKGlkLCBhLCBi KSBGUk9NIHN0ZGluOw0KXC4NCg0KDQotLQ0KLS0gRGF0YSBmb3IgTmFtZTogdHR0XzA1MTMwODsg VHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyDQotLQ0KDQpD T1BZIHR0dF8wNTEzMDggKGlkLCBhLCBiKSBGUk9NIHN0ZGluOw0KXC4NCg0KDQotLQ0KLS0gRGF0 YSBmb3IgTmFtZTogdHR0XzA1MTQwODsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwYXJ0aXRp b25zOyBPd25lcjogY2RyDQotLQ0KDQpDT1BZIHR0dF8wNTE0MDggKGlkLCBhLCBiKSBGUk9NIHN0 ZGluOw0KXC4NCg0KDQpTRVQgc2VhcmNoX3BhdGggPSBwdWJsaWMsIHBnX2NhdGFsb2c7DQoNCi0t DQotLSBEYXRhIGZvciBOYW1lOiB0dHQ7IFR5cGU6IFRBQkxFIERBVEE7IFNjaGVtYTogcHVibGlj OyBPd25lcjogY2RyDQotLQ0KDQpDT1BZIHR0dCAoaWQsIGEsIGIpIEZST00gc3RkaW47DQpcLg0K DQoNCi0tDQotLSBOYW1lOiB0dHRfcGtleTsgVHlwZTogQ09OU1RSQUlOVDsgU2NoZW1hOiBwdWJs aWM7IE93bmVyOiBjZHI7IFRhYmxlc3BhY2U6IA0KLS0NCg0KQUxURVIgVEFCTEUgT05MWSB0dHQN CiAgICBBREQgQ09OU1RSQUlOVCB0dHRfcGtleSBQUklNQVJZIEtFWSAoaWQpOw0KDQoNClNFVCBz ZWFyY2hfcGF0aCA9IHBhcnRpdGlvbnMsIHBnX2NhdGFsb2c7DQoNCi0tDQotLSBOYW1lOiB0dHRf MDUwNTA4X2E7IFR5cGU6IElOREVYOyBTY2hlbWE6IHBhcnRpdGlvbnM7IE93bmVyOiBjZHI7IFRh Ymxlc3BhY2U6IA0KLS0NCg0KQ1JFQVRFIElOREVYIHR0dF8wNTA1MDhfYSBPTiB0dHRfMDUwNTA4 IFVTSU5HIGJ0cmVlIChhKTsNCg0KDQotLQ0KLS0gTmFtZTogdHR0XzA1MDYwOF9hOyBUeXBlOiBJ TkRFWDsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiANCi0tDQoN CkNSRUFURSBJTkRFWCB0dHRfMDUwNjA4X2EgT04gdHR0XzA1MDYwOCBVU0lORyBidHJlZSAoYSk7 DQoNCg0KLS0NCi0tIE5hbWU6IHR0dF8wNTA3MDhfYTsgVHlwZTogSU5ERVg7IFNjaGVtYTogcGFy dGl0aW9uczsgT3duZXI6IGNkcjsgVGFibGVzcGFjZTogDQotLQ0KDQpDUkVBVEUgSU5ERVggdHR0 XzA1MDcwOF9hIE9OIHR0dF8wNTA3MDggVVNJTkcgYnRyZWUgKGEpOw0KDQoNCi0tDQotLSBOYW1l OiB0dHRfMDUwODA4X2E7IFR5cGU6IElOREVYOyBTY2hlbWE6IHBhcnRpdGlvbnM7IE93bmVyOiBj ZHI7IFRhYmxlc3BhY2U6IA0KLS0NCg0KQ1JFQVRFIElOREVYIHR0dF8wNTA4MDhfYSBPTiB0dHRf MDUwODA4IFVTSU5HIGJ0cmVlIChhKTsNCg0KDQotLQ0KLS0gTmFtZTogdHR0XzA1MDkwOF9hOyBU eXBlOiBJTkRFWDsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNwYWNlOiAN Ci0tDQoNCkNSRUFURSBJTkRFWCB0dHRfMDUwOTA4X2EgT04gdHR0XzA1MDkwOCBVU0lORyBidHJl ZSAoYSk7DQoNCg0KLS0NCi0tIE5hbWU6IHR0dF8wNTEwMDhfYTsgVHlwZTogSU5ERVg7IFNjaGVt YTogcGFydGl0aW9uczsgT3duZXI6IGNkcjsgVGFibGVzcGFjZTogDQotLQ0KDQpDUkVBVEUgSU5E RVggdHR0XzA1MTAwOF9hIE9OIHR0dF8wNTEwMDggVVNJTkcgYnRyZWUgKGEpOw0KDQoNCi0tDQot LSBOYW1lOiB0dHRfMDUxMTA4X2E7IFR5cGU6IElOREVYOyBTY2hlbWE6IHBhcnRpdGlvbnM7IE93 bmVyOiBjZHI7IFRhYmxlc3BhY2U6IA0KLS0NCg0KQ1JFQVRFIElOREVYIHR0dF8wNTExMDhfYSBP TiB0dHRfMDUxMTA4IFVTSU5HIGJ0cmVlIChhKTsNCg0KDQotLQ0KLS0gTmFtZTogdHR0XzA1MTIw OF9hOyBUeXBlOiBJTkRFWDsgU2NoZW1hOiBwYXJ0aXRpb25zOyBPd25lcjogY2RyOyBUYWJsZXNw YWNlOiANCi0tDQoNCkNSRUFURSBJTkRFWCB0dHRfMDUxMjA4X2EgT04gdHR0XzA1MTIwOCBVU0lO RyBidHJlZSAoYSk7DQoNCg0KLS0NCi0tIE5hbWU6IHR0dF8wNTEzMDhfYTsgVHlwZTogSU5ERVg7 IFNjaGVtYTogcGFydGl0aW9uczsgT3duZXI6IGNkcjsgVGFibGVzcGFjZTogDQotLQ0KDQpDUkVB VEUgSU5ERVggdHR0XzA1MTMwOF9hIE9OIHR0dF8wNTEzMDggVVNJTkcgYnRyZWUgKGEpOw0KDQoN Ci0tDQotLSBOYW1lOiB0dHRfMDUxNDA4X2E7IFR5cGU6IElOREVYOyBTY2hlbWE6IHBhcnRpdGlv bnM7IE93bmVyOiBjZHI7IFRhYmxlc3BhY2U6IA0KLS0NCg0KQ1JFQVRFIElOREVYIHR0dF8wNTE0 MDhfYSBPTiB0dHRfMDUxNDA4IFVTSU5HIGJ0cmVlIChhKTsNCg0KDQpTRVQgc2VhcmNoX3BhdGgg PSBwdWJsaWMsIHBnX2NhdGFsb2c7DQoNCi0tDQotLSBOYW1lOiBpbnNlcnRfdHR0X3RyaWdnZXI7 IFR5cGU6IFRSSUdHRVI7IFNjaGVtYTogcHVibGljOyBPd25lcjogY2RyDQotLQ0KDQpDUkVBVEUg VFJJR0dFUiBpbnNlcnRfdHR0X3RyaWdnZXINCiAgICBCRUZPUkUgSU5TRVJUIE9OIHR0dA0KICAg IEZPUiBFQUNIIFJPVw0KICAgIEVYRUNVVEUgUFJPQ0VEVVJFIHR0dF9pbnNlcnRfdHJpZ2dlcigp Ow0KDQoNCi0tDQotLSBOYW1lOiBwdWJsaWM7IFR5cGU6IEFDTDsgU2NoZW1hOiAtOyBPd25lcjog cG9zdGdyZXMNCi0tDQoNClJFVk9LRSBBTEwgT04gU0NIRU1BIHB1YmxpYyBGUk9NIFBVQkxJQzsN ClJFVk9LRSBBTEwgT04gU0NIRU1BIHB1YmxpYyBGUk9NIHBvc3RncmVzOw0KR1JBTlQgQUxMIE9O IFNDSEVNQSBwdWJsaWMgVE8gcG9zdGdyZXM7DQpHUkFOVCBBTEwgT04gU0NIRU1BIHB1YmxpYyBU TyBQVUJMSUM7DQoNCg0KLS0NCi0tIFBvc3RncmVTUUwgZGF0YWJhc2UgZHVtcCBjb21wbGV0ZQ0K LS0NCg0KDQo= ------=_Part_2118_13655553.1210609137699--