Re: Simple PBPK Model Help- Integration/Convergence Issue (Note of Thanks)
"Vreeland, Ryan *" <[email protected]> Mon, 26 Jun 2017 13:49:07 +0000
| Newsgroups | gmane.comp.gnu.mcsim |
|---|---|
| Message-ID | <[email protected]> |
SGVsbG8sDQpUaGFuayB5b3UgZm9yIHlvdXIgaGVscCEgSSByZWFsbHkgYXBwcmVjaWF0ZSBpdCwg SSB3b3VsZCBuZXZlciBoYWQgZmlndXJlZCBvdXQgYWJvdXQgdGhlIG5lZWQgb2YgdXBkYXRpbmcg bm9uLXN0YXRlIHZhcmlhYmxlcy4gDQoNClRoYW5rcyBhZ2FpbiwNCg0KLVJ5YW4gVnJlZWxhbmQN Cg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGZyZWRvbWF0aWMgW21haWx0bzpm cmVkb21hdGljQGZyZWUuZnJdIA0KU2VudDogU2F0dXJkYXksIEp1bmUgMjQsIDIwMTcgMjozOSBB TQ0KVG86IGhlbHAtbWNzaW1AZ251Lm9yZzsgVnJlZWxhbmQsIFJ5YW4gKg0KU3ViamVjdDogUmU6 IFtIZWxwLW1jc2ltXSBTaW1wbGUgUEJQSyBNb2RlbCBIZWxwLSBJbnRlZ3JhdGlvbi9Db252ZXJn ZW5jZSBJc3N1ZQ0KDQpIaSENCg0KWWVzLCB0aGVyZSBjYW4gYmUgYSBzdWJ0bGUgaW50ZXJhY3Rp b24gYmV0d2VlbiB0aGUgdGltZXMgYXQgd2hpY2ggdGhlDQppbnRlZ3JhdG9yIGlzIHJlcXVpcmVk IHRvIGdpdmUgb3V0cHV0cyBhbmQgdGhlIHRpbWUgc3RlcC4gVGhlDQppbnRlZ3JhdG9yIGRvZXMg bm90IG92ZXJzaG9vdCBhbiBvdXRwdXQgdGltZSBvciBkaXNjb250aW51aXR5ICh0bw0KcHJlY2lz ZWx5IGF2b2lkIHN0ZXBwaW5nIG92ZXIgZGlzY29udGludWl0aWVzKS4gU28gdGhlIG91dHB1dCB0 aW1pbmcNCmNhbiBsaW1pdCB0aGUgbGFzdCBpbnRlZ3JhdGlvbiBzdGVwIHRha2VuLg0KDQpIb3dl dmVyLCB0aGF0IGludGVyYWN0aW9uIGRvZXMgbm90IG1hdHRlciBhdCBhbGwgaWYgdGhlIHN5c3Rl bSBpcw0Kc3RhYmxlLiBUaGUgZmFjdCBpcyB0aGF0IHlvdXIgc3lzdGVtIGlzIG5vdCBzdGFibGUs IGJlY2F1c2UgaW4gZHluYW1pY3MsDQp5b3UgYXJlIHVzaW5nIHNvbWUgb3V0cHV0IHZhcmlhYmxl cyBpbiBkaWZmZXJlbnRpYWxzIGJlZm9yZSB1cGRhdGluZw0KdGhlbSB3aXRoIHRoZSBzdGF0ZSB2 YXJpYWJsZXMgKGUuZy4geW91IGNvbXB1dGUNCkNudl9yb2IgQUZURVIgdXNpbmcgaXQgdG8gZ2V0 IGR0KEFyb2JfbikuIFRoaXMgaXMgZGFuZ2Vyb3VzIGJlY2F1c2UNCm91dHB1dCB2YXJpYWJsZXMg YXJlIG5vdCBkZWFsdCB3aXRoIGJ5IHRoZSBpbnRlZ3JhdG9yIChvbmx5IHN0YXRlDQp2YXJpYWJs ZXMgYXJlIG1hbmFnZWQgYnkgaXQpIGFuZCB0aGVpciB2YWx1ZSB3aGVuIGVudGVyaW5nIENhbGNE ZXJpdiBtYXkNCmJlIG9mZiB0cmFqZWN0b3J5IChiZWNhdXNlIG9mIGEgdG9vIGxvbmcgYXR0ZW1w dGVkIHRpbWUgc3RlcCkuDQpJdCBpcyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIHVwZGF0ZSB0aGVt IHByb3Blcmx5IGJlZm9yZSB1c2UuIEkgd2lsbA0KbWFrZSBpdCBjbGVhciBpbiB0aGUgdXNlcidz IG1hbnVhbC4NClNlZSB0aGUgcmV2aXNlZCBtb2RlbCBiZWxvdy4NCg0KTm90ZSB0aGF0IG1heSB3 YW50IHRvIGNoZWNrIG1hc3MgYmFsYW5jZSB3aGVuIGRldmVsb3BpbmcgdGhlIG1vZGVsICh5b3Vy DQpkaWZmZXJlbnRpYWwgZXF1YXRpb25zIGFyZSBub3Qgc3ltbWV0cmljYWwgYW5kIEkgYWRkZWQg YQ0KUV90b3RhbCBvdXRwdXQgZm9yIGNoZWNrKS4gVGhlIGR5bmFtaWNzIG9mIGV4Y2hhbmdlIGJl dHdlZW4gcGxhc21hIGFuZA0KcmVzdCBvZiB0aGUgYm9keSBhcmUgdmVyeSBmYXN0LCBhbmQgdGhh dCBkb2VzIG5vdCBoZWxwIHN0YWJpbGl0eS4NCg0KT24gbXkgbWFjaGluZSwgdGhlIHJldmlzZWQg bW9kZWwgd29ya3MgZmluZSBhIG91dHB1dHMgaW50ZXJ2YWxzIHJhbmdpbmcNCmZyb20gMC4wMDA1 IHRvIDguDQoNCkkgaG9wZSB0aGlzIGhlbHBzLg0KDQpCZXN0IHJlZ2FyZHMuDQoNCkYuIEJvaXMN Cg0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUkEgVnJlZWxhbmQgLSAyMDE3IC0gVVMg RkRBIC9OQ1RSDQojIFBCUEsgbW9kZWwgb2Ygbml0cmF0ZSBhbmQgbml0cml0ZSBpbiBodW1hbnMN CiMgQ29tcGFydG1lbnRzIGZvciBuaXRyYXRlIDogcGxhc21hLCB0aHlyb2lkIGluIGRpZmZ1c2lv biBsaW1pdGVkLCByZXN0DQpvZiBib2R5LCBzYWxpdmEsIEdJIHRyYWN0KG5vdCBpbmNsdWRpbmcg bGFyZ2UgaW50ZXN0aW5lcykNCiMgQ29tcGFydG1lbnQgZm9yIG5pdHJpdGU6IHBsYXNtYSwgc2Fs aXZhLCBHSSwgcmVzdCBvZiBib2R5DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojDQojIG4g PSBuaXRyYXRlLCByZiA9IG5pdHJpdGUgKCdyZWR1Y2VkIGZvcm0nKTsgZyA9IChzdG9tYWNoLCBs aXZlciwgc21hbGwNCmludGVzdGluZXMpDQojIHMgPSBzYWxpdmE7IHQgPSB0aHlyb2lkOyBhID0g YXJ0ZXJpYWw7IHYgPSB2ZW51czsgSGIgPSBoZW1vZ2xvYmluOw0KbWV0SGIgPSBtZXRoZW1vZ2xv YmluDQojIHJvYiA9IHJlc3Qgb2YgYm9keTsNCiMNCiMgQXMgZmFyIGFzIEkgY2FuIHRlbGwsIHRo ZSBtb2RlbCBpcyB3b3JraW5nLCBhbmQgaXRzIGEgc29mdHdhcmUNCmxpbWl0aW5nIHRoaW5nDQoN ClN0YXRlcyA9IHtBcGxhc21hX24sIEFyb2JfbiwgQUlWRF9ufTsNCg0KT3V0cHV0cyA9IHtDbl9h LCBDbnZfdG90YWwsIENuX3JvYiwgQ252X3JvYiwgVGVzdFByaW50LCB0aW1lLCBRX3RvdGFsfTsN Cg0KSW5wdXRzID0ge0JXLCBJVl9uX2csIElWRG9zZV9ufTsNCg0KDQogICAgICBNV19uOyAgICAg ICAgICAgICAgICAgICAjIGcvbW9sIG9yIG1nL21tb2wNCiAgICAgIHRfbGVuOw0KICAgICAgSVZf bl9tb2w7ICAgICAgICAgICAgICAgIyBtb2wNCiAgICAgIERvc2VQZXJIb3VyOw0KICAgICAgUF9u cm9iOw0KDQogICAgICB2b2xGX3BsYXNtYTsNCiAgICAgIHZvbEZfcm9iX247DQoNCiAgICAgIHZv bF9wbGFzbWE7DQogICAgICB2b2xfcm9iX247DQoNCiAgICAgIFFfY2FyZGlhYzsNCiAgICAgIFFf cm9iX247DQoNCiAgICAgIFFGX2NhcmRpYWM7DQogICAgICBRRl9yb2JfbjsNCg0KSW5pdGlhbGl6 ZSB7DQoNCiAgICAgIE1XX24gPSA2Mi4wMDQ7ICAgICAgICAgICAgICAgICAgICAgICMgZy9tb2wg b3IgbWcvbW1vbA0KICAgICAgdF9sZW4gPSAxLjA7DQogICAgICBJVl9uX21vbCA9IElWX25fZy9N V19uOyAgICAgICAgICAgICAjIGcgKiAobW9sL2cpDQogICAgICBEb3NlUGVySG91ciA9IElWX25f bW9sL3RfbGVuOw0KDQogICAgICBQX25yb2IgPSAxLjA7DQoNCiAgICAgIHZvbEZfcGxhc21hID0g MC4wNDQ7DQogICAgICB2b2xGX3JvYl9uID0gMC45NTY7DQoNCiAgICAgIHZvbF9wbGFzbWEgPSB2 b2xGX3BsYXNtYSAqIEJXOw0KICAgICAgdm9sX3JvYl9uID0gdm9sRl9yb2JfbiAqIEJXOw0KDQog ICAgICBRRl9jYXJkaWFjID0gMTUuMDsNCiAgICAgIFFGX3JvYl9uID0gMS4wOyAgICMgMSAtIChz dW0gb2Ygb3RoZXIgbm9uIHBsYXNtYSBjb21wYXJ0bWVudHMpIC0tPg0Kb25seSByb2IgY29tcGFy dG1lbnQgY3VycmVudGx5DQoNCiAgICAgIFFfY2FyZGlhYyA9IFFGX2NhcmRpYWMgKiBwb3coQlcs IDAuNzUpOw0KICAgICAgUV9yb2JfbiA9IFFGX3JvYl9uICogUV9jYXJkaWFjOw0KICAgICAgfTsg IyBFbmQgSW5pdGlhbGl6ZQ0KDQpEeW5hbWljcyB7DQoNCiAgICAgICMgY29tcHV0ZSB0aG9zZSBi ZWZvcmUgdXNpbmcgdGhlbToNCiAgICAgIENuX2EgPSBBcGxhc21hX24gLyB2b2xfcGxhc21hOw0K ICAgICAgQ25fcm9iID0gQXJvYl9uIC8gdm9sX3JvYl9uOw0KICAgICMgQ252X3JvYiA9IEFyb2Jf biAvICh2b2xfcm9iX24gKiBQX25yb2IpOw0KICAgICAgQ252X3JvYiA9IENuX3JvYiAvIFBfbnJv YjsNCiAgICAjIENudl90b3RhbCA9IChRX3JvYl9uICogQ252X3JvYikvUV9jYXJkaWFjIDsNCg0K IyBEb3NlICMNCiAgICAgIGR0KEFJVkRfbikgPSBJVkRvc2VfbjsNCiAgICAgIFRlc3RQcmludCA9 IGR0KEFJVkRfbik7DQoNCiMgUGxhc21hICMNCg0KICAgICAgZHQoQXBsYXNtYV9uKSA9IFFfY2Fy ZGlhYyAqIChDbnZfdG90YWwgLSBDbl9hICkgKyBJVkRvc2VfbjsNCg0KICAgICAgZHQoQXJvYl9u KSA9IFFfcm9iX24gKiAoQ25fYSAtIENudl9yb2IpOw0KDQogICAgICBRX3RvdGFsID0gQXBsYXNt YV9uICsgQXJvYl9uOyAjIGNoZWNraW5nIG1hc3MgYmFsYW5jZSwgc2hvdWxkIGJlID0NCkFJVkRf bg0KDQogICAgICB0aW1lID0gdDsNCg0KfTsgIyBFbmQgRHluYW1pY3MNCg0KRW5kDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCg0KDQoNCk9uIDIzLzA2LzE3IDIzOjI5LCBWcmVlbGFu ZCwgUnlhbiAqIHdyb3RlOg0KPiBIZWxsbywNCj4gDQo+ICANCj4gDQo+IEkgaGF2ZSBiZWVuIGhh dmluZyB0cm91YmxlIHRoZSBsYXN0IGZldyBkYXlzIHdpdGggbXkgUEJQSyBtb2RlbC4gSeKAmXZl DQo+IGJlZW4gcnVubmluZyBhIC5zaW0gZmlsZS4gVGhlIGVycm9yIHRoYXQga2VlcHMgcG9wcGlu ZyB1cCBpcw0KPiANCj4gIA0KPiANCj4gRG9pbmcgYW5hbHlzaXMgLSAxIG5vcm1hbCBleHBlcmlt ZW50DQo+IA0KPiAgMWxzb2Rlcy0tIGF0IGN1cnJlbnQgdCAoPXIxKSwgbXhzdGVwICg9aTEpIHN0 ZXBzICANCj4gDQo+ICAgICAgICAgIHRha2VuIG9uIHRoaXMgY2FsbCBiZWZvcmUgcmVhY2hpbmcg dG91dCAgICANCj4gDQo+ICBpbiBhYm92ZSBtZXNzYWdlLCBpMT0gICAgICAgNTAwDQo+IA0KPiBp biBhYm92ZSBtZXNzYWdlLCByMT0gICAgICAwLjEwMzkyOTMyNjEyMjkNCj4gDQo+IFdhcm5pbmc6 IEludGVncmF0aW9uIGZhaWxlZCAtIE5vIG91dHB1dCBnZW5lcmF0ZWQNCj4gDQo+ICANCj4gDQo+ IEkgaGF2ZSBzaW1wbGlmaWVkIG15IG1vZGVsIGRvd24gdG8gdHdvIGNvbXBhcnRtZW50cyB0byB0 cnkgYW5kIGZpZ3VyZQ0KPiB0aGlzIGVycm9yIG91dC4gQSBjb2xsZWFndWUgYW5kIEkga2VwdCBs b29raW5nIG92ZXIgdGhlIGNvZGUgdG8gc2VlIGlmDQo+IHRoZXJlIGlzIGFueXRoaW5nIHdyb25n LCBidXQgd2UgZG8gbm90IHNlZSBhbnl0aGluZyB3cm9uZy4gIFNvbWUNCj4gb2JzZXJ2YXRpb25z IEkgaGF2ZSBtYWRlIHdoZW4gYXR0ZW1wdGluZyB0byBmaWd1cmUgdGhpcyBvdXQgaXMsIHVzaW5n DQo+IHNtYWxsZXIgZG9zZXMsIG9yIGRpZmZlcmVudCBib2R5IHdlaWdodCBzZWVtcyB0byBoZWxw IGFuZCBhbGxvdyB0aGUNCj4gdmFyaWFibGVzIHRvIHByaW50IHRvIDI0IGhvdXJzLiAgSSBoYXZl IGFsc28gdHJpZWQgY2hhbmdpbmcgdGhlDQo+IHRvbGVyYW5jZXMgb24gdGhlIGludGVncmF0aW9u IGZ1bmN0aW9uLCBzZWVtZWQgdG8gaGVscCBpbiBzb21lIGNhc2VzLg0KPiBPbmUgdGhpbmcgdGhh dCBidWdzIG1lLCBJIGhhdmUgYmVlbiB1c2luZyBQcmludFN0ZXAgdG8gcHJpbnQgb3V0IHRoZQ0K PiB2YXJpYWJsZXMsIGFuZCBmb3IgdGhlIHNhbWUgdG9sZXJhbmNlcywgYm9keXdlaWdodCwgYW5k IGRvc2UsIHVzaW5nIGENCj4gPHRpbWUtc3RlcD4gb2YgMSB0aHJvd3MgdGhlIGVycm9yLCB3aGls ZSB1c2luZyAwLjEgb3IgMC4wMSB3b3JrcyBqdXN0DQo+IGZpbmUuIEkgaGFkIHRob3VnaHQgdGhh dCA8dGltZS1zdGVwPiBpcyBvbmx5IGZvciB0ZWxsaW5nIHdoYXQgdGltZSB0aGUNCj4gc3lzdGVt IHByaW50cyBvdXQgdGhlIHZhcmlhYmxlcy4gIA0KPiANCj4gSSBmZWVsIGxpa2UgaXQgaXMgYmVp bmcgcmVhbGx5IGZpbmlja3kgYWJvdXQgY29udmVyZ2luZyB3aXRoIGNlcnRhaW4NCj4gbnVtYmVy cywgbWF5YmUgaXQgY2Fu4oCZdCB1c2UgdmVyeSBiaWcgbnVtYmVycy4NCj4gDQo+IEkgYW0gaG9w aW5nIHNvbWVvbmUgaGFzIHNlZW4gdGhpcyBlcnJvciBiZWZvcmUgYW5kIG9yIGNhbiBoZWxwIG1l IGZpZ3VyZQ0KPiBvdXQgd2hhdCBpcyB3cm9uZyB3aXRoIHRoZSBmaWxlLiBUaGFuayB5b3UgYWxs IGZvciB5b3VyIHRpbWUuDQo+IA0KPiAgDQo+IA0KPiBIZXJlIGlzIG15IG1vZGVsIGZpbGUuDQo+ IA0KPiAgDQo+IA0KPiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IA0KPiAjIFJBIF9WcmVlbGFu ZF8gLSAyMDE3IC0gVVMgRkRBIC9OQ1RSDQo+IA0KPiAjIFBCUEsgbW9kZWwgb2YgX25pdHJhdGVf IGFuZCBfbml0cml0ZV8gaW4gaHVtYW5zDQo+IA0KPiAjIENvbXBhcnRtZW50cyBmb3IgX25pdHJh dGVfIDogcGxhc21hLCBfdGh5cm9pZF8gaW4gZGlmZnVzaW9uIGxpbWl0ZWQsDQo+IHJlc3Qgb2Yg Ym9keSwgc2FsaXZhLCBHSSB0cmFjdChub3QgaW5jbHVkaW5nIGxhcmdlIGludGVzdGluZXMpDQo+ IA0KPiAjIENvbXBhcnRtZW50IGZvciBfbml0cml0ZV86IHBsYXNtYSwgc2FsaXZhLCBHSSwgcmVz dCBvZiBib2R5DQo+IA0KPiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IA0KPiAjDQo+IA0KPiAj DQo+IA0KPiAjIG4gPSBfbml0cmF0ZV8sIF9yZl8gPSBfbml0cml0ZV8gKCdyZWR1Y2VkIGZvcm0n KTsgZyA9IChzdG9tYWNoLCBsaXZlciwNCj4gc21hbGwgaW50ZXN0aW5lcykNCj4gDQo+ICMgcyA9 IHNhbGl2YTsgdCA9IF90aHlyb2lkXzsgYSA9IGFydGVyaWFsOyB2ID0gX3ZlbnVzXzsgX0hiXyA9 DQo+IF9oZW1vZ2xvYmluXzsgbWV0SGIgPSBfbWV0aGVtb2dsb2Jpbl8NCj4gDQo+ICMgcm9iID0g cmVzdCBvZiBib2R5Ow0KPiANCj4gIw0KPiANCj4gIyBBcyBmYXIgYXMgSSBjYW4gdGVsbCwgdGhl IG1vZGVsIGlzIHdvcmtpbmcsIGFuZCBpdHMgYSBzb2Z0d2FyZQ0KPiBsaW1pdGluZyB0aGluZw0K PiANCj4gIA0KPiANCj4gU3RhdGVzID0ge0FwbGFzbWFfbiwgQXJvYl9uLCBBSVZEX259Ow0KPiAN Cj4gIA0KPiANCj4gT3V0cHV0cyA9IHtDbl9hLCBDbnZfdG90YWwsIENuX3JvYiwgQ252X3JvYiwg VGVzdFByaW50LCB0aW1lfTsNCj4gDQo+ICANCj4gDQo+IElucHV0cyA9IHtCVywgSVZfbl9nLCBJ VkRvc2Vfbn07DQo+IA0KPiAgDQo+IA0KPiAgDQo+IA0KPiAgICAgICBNV19uOyAgICAgICAgICAg ICAgICAgICAjIGcvX21vbF8gb3IgX21nXy9fbW1vbF8NCj4gDQo+ICAgICAgIHRfbGVuOw0KPiAN Cj4gICAgICAgSVZfbl9tb2w7ICAgICAgICAgICAgICAgIyBfbW9sXw0KPiANCj4gICAgICAgRG9z ZVBlckhvdXI7DQo+IA0KPiAgICAgICBQX25yb2I7DQo+IA0KPiAgICAgIA0KPiANCj4gICAgICAg dm9sRl9wbGFzbWE7ICAgICAgICAgICANCj4gDQo+ICAgICAgIHZvbEZfcm9iX247DQo+IA0KPiAg ICAgIA0KPiANCj4gICAgICAgdm9sX3BsYXNtYTsNCj4gDQo+ICAgICAgIHZvbF9yb2JfbjsNCj4g DQo+ICAgICAgDQo+IA0KPiAgICAgICBRX2NhcmRpYWM7DQo+IA0KPiAgICAgICBRX3JvYl9uOw0K PiANCj4gICAgICAgICAgICANCj4gDQo+ICAgICAgIFFGX2NhcmRpYWM7ICAgICAgICAgICAgDQo+ IA0KPiAgICAgICBRRl9yb2JfbjsgICAgICAgICAgICAgIA0KPiANCj4gIA0KPiANCj4gSW5pdGlh bGl6ZSB7DQo+IA0KPiAgDQo+IA0KPiAgICAgICBNV19uID0gNjIuMDA0OyAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBnL19tb2xfIG9yIF9tZ18vX21tb2xfDQo+IA0KPiAgICAgICB0X2xlbiA9 IDEuMDsgICAgIA0KPiANCj4gICAgICAgSVZfbl9tb2wgPSBJVl9uX2cvTVdfbjsgICAgICAgICAg ICAgIyBnICogKF9tb2xfL2cpDQo+IA0KPiAgICAgICBEb3NlUGVySG91ciA9IElWX25fbW9sL3Rf bGVuOw0KPiANCj4gICAgICANCj4gDQo+ICAgICAgIFBfbnJvYiA9IDEuMDsNCj4gDQo+ICAgICAg DQo+IA0KPiAgICAgICB2b2xGX3BsYXNtYSA9IDAuMDQ0OyAgICAgICAgIA0KPiANCj4gICAgICAg dm9sRl9yb2JfbiA9IDAuOTU2OyAgICAgICAgICANCj4gDQo+ICAgICAgDQo+IA0KPiAgICAgICB2 b2xfcGxhc21hID0gdm9sRl9wbGFzbWEgKiBCVzsgICAgICAgIA0KPiANCj4gICAgICAgdm9sX3Jv Yl9uID0gdm9sRl9yb2JfbiAqIEJXOyAgICAgICAgICAgICANCj4gDQo+ICANCj4gDQo+ICAgICAg DQo+IA0KPiAgICAgICBRRl9jYXJkaWFjID0gMTUuMDsgICAgICAgICAgICAgICAgIA0KPiANCj4g ICAgICAgUUZfcm9iX24gPSAxLjA7ICAgICAgICAgICAgICAgICAgICAgIyAxIC0gKHN1bSBvZiBv dGhlciBub24gcGxhc21hDQo+IGNvbXBhcnRtZW50cykgLS0+IG9ubHkgcm9iIGNvbXBhcnRtZW50 IGN1cnJlbnRseQ0KPiANCj4gICAgICANCj4gDQo+ICAgICAgIFFfY2FyZGlhYyA9IFFGX2NhcmRp YWMgKiBfcG93XyhCVywgMC43NSk7DQo+IA0KPiAgICAgICBRX3JvYl9uID0gUUZfcm9iX24gKiBR X2NhcmRpYWM7ICAgIA0KPiANCj4gICAgICAgICAgICAgICAgICANCj4gDQo+ICAgICAgIH07ICMg RW5kIEluaXRpYWxpemUNCj4gDQo+IER5bmFtaWNzIHsNCj4gDQo+ICANCj4gDQo+ICAgICAgIENu X2EgPSBBcGxhc21hX24vdm9sX3BsYXNtYTsNCj4gDQo+ICAgICAgIENuX3JvYiA9IEFyb2Jfbi92 b2xfcm9iX247DQo+IA0KPiAgICAgIA0KPiANCj4gIyBEb3NlICMNCj4gDQo+ICAgICAgIF9kdF8o QUlWRF9uKSA9IElWRG9zZV9uOw0KPiANCj4gICAgICAgVGVzdFByaW50ID0gX2R0XyhBSVZEX24p Ow0KPiANCj4gICAgICANCj4gDQo+ICMgUGxhc21hICMgDQo+IA0KPiAgICAgIA0KPiANCj4gICAg ICAgX2R0XyhBcGxhc21hX24pID0gUV9jYXJkaWFjICogKENudl90b3RhbCAtQ25fYSApICsgKF9k dF8oQUlWRF9uKSk7ICAgDQo+IA0KPiAgICAgX2R0XyhBcm9iX24pID0gUV9yb2JfbiAqIChDbl9h IC0gQ252X3JvYik7DQo+IA0KPiAgICANCj4gDQo+ICAgICBDbnZfdG90YWwgPSAoUV9yb2JfbiAq IENudl9yb2IpL1FfY2FyZGlhYyA7DQo+IA0KPiAgICAgICBDbnZfcm9iID0gQXJvYl9uLyh2b2xf cm9iX24qUF9ucm9iKTsNCj4gDQo+ICAgICAgDQo+IA0KPiAgICAgIA0KPiANCj4gICAgICAgdGlt ZSA9IHQ7DQo+IA0KPiB9OyAjIEVuZCBEeW5hbWljcw0KPiANCj4gIA0KPiANCj4gRW5kDQo+IA0K PiAgDQo+IA0KPiBUaGlzIGlzIHRoZSBvdXRwdXQgZmlsZSBmb3IgcmVmZXJlbmNlDQo+IA0KPiAg DQo+IA0KPiBPdXRwdXRGaWxlKCJOdWNsZWFyT3B0aW9uLm91dCIpOw0KPiANCj4gICBJbnRlZ3Jh dGUoX0xzb2Rlc18sIDFlLTYsIDFlLTEyLCAxKTsNCj4gDQo+ICAgI0ludGVncmF0ZShfTHNvZGVz XywgMWUtNSwgMWUtNywgMSk7ICNkZWZhdWx0IHNldHRpbmdzIG9mIGludGVncmF0aW9uDQo+IA0K PiAgIA0KPiANCj4gICMgMyBfbWdfL19rZ18gZG9zZSB3aXRoIF9XYWduZXJzXyBzdHVkeS4gTm90 IGV2ZW4gY2xvc2UgdG8gdGhhdCwgcmlnaHQgbm93DQo+IA0KPiAgDQo+IA0KPiBTaW11bGF0aW9u IHsNCj4gDQo+ICAgICAgIElWX25fZyA9IDAuMDYxOTY7ICAjIFNvIGRvaW5nIDYxLjk2IGRvc2Ug d2l0aCBCVyA3NSBfa2dfIGFuZCAxZS02LA0KPiAxZS0xMiwgMSA7IHByaW50IHN0ZXAgb2YgMC4x DQo+IA0KPiAgICAgICBJVkRvc2VfbiA9IFBlckRvc2UoRG9zZVBlckhvdXIsIDI0LjAsIDAsIDEp OyAgIA0KPiANCj4gICAgICAgQlcgPSA3NS4wOw0KPiANCj4gICAgICAgIyBTZWVtcyBsaWtlIHRo ZSB0aW1lIG9uIHRoZSBQcmludFN0ZXAgc3RlcCBpcyB3aGVuIGVhY2ggb2YgdGhlDQo+IGNhbGN1 bGF0aW9ucyBvY2N1ciwgbm90IGp1c3Qgd2hlbiBpdCBwcmludHMgb3V0DQo+IA0KPiAgICAgICAj IFdlbGwsIHVzaW5nIHByaW50LCBhbmQgNjAgX21nXyBkb3NlIHdpdGggMWUtNiwgMWUtMTIgY2F1 c2VzIGl0DQo+IHRvIGZhaWwsIGJ1dCB1c2luZyBwcmludCBzdGVwIHdpdGggcHJpbnRpbmcgZXZl cnkgMC4xIHN0ZXBzIGl0IHdvcmtzLCBnbw0KPiBibG9vZHkgZmlndXJlDQo+IA0KPiAgICAgIA0K PiANCj4gICAgICAgUHJpbnRTdGVwKElWRG9zZV9uLCBBSVZEX24sIFRlc3RQcmludCwgQ25fYSwg Q252X3RvdGFsLCBDbl9yb2IsDQo+IENudl9yb2IsIEFyb2JfbiwgQXBsYXNtYV9uLCAwLjAsIDI0 LjAsIDAuMSApOw0KPiANCj4gICAgICAgI1ByaW50U3RlcCggdGltZSwgMC4wLCAyNCwgMSk7DQo+ IA0KPiAgICAgIA0KPiANCj4gICAgIH0NCj4gDQo+ICANCj4gDQo+IEVORA0KPiANCj4gIA0KPiAN Cj4gIA0KPiANCj4gDQo+IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KPiBIZWxwLW1jc2ltIG1haWxpbmcgbGlzdA0KPiBIZWxwLW1jc2ltQGdudS5v cmcNCj4gaHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vaGVscC1tY3NpbQ0K PiANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkhlbHAt bWNzaW0gbWFpbGluZyBsaXN0CkhlbHAtbWNzaW1AZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5v cmcvbWFpbG1hbi9saXN0aW5mby9oZWxwLW1jc2ltCg==