ポールスミス財布メンズ長財布レビュー,miumiu長財布ファスナー|ポールスミス財布メンズ長財布公式サイト_ポールスミス財布メンズ長財布価格のいくら Golarja


2015-02-19 11:46
2015冬新作 グッチブランドコピー 長財布 レディース メンズ2015冬新作 グッチブランドコピー 長財布 レディース メンズ GGキャンバス 295365-F4CMT-9769グッチ長財布新作グッチ長財布レディースグッチ長財布メンズグッチ財布メンズ長財布gucci長財布新作プラダ長財布新作プラダ長財布レディースgucci長財布メンズプラダ長財布メンズグッ チ長 財布 新作 2012ヴィトン長財布新作ビトン長財布新作prada 長財布新作コーチ長財布新作ヴィトン長財布新作2012ファッショング ッチ 長財 布新 作シャネル長財布新作gucci 長財布新作ルイヴィトン長財布新作ビィトン長財布新作ポールスミス長財布新作ディオール長財布新作グッチ 長財布 メンズヴィトン 長財布 新作gucci 長財布グッチ 長財布gucci新作長財布gucci 財布グッチ 長財布 ハートgucci 長財布 レディースグッチ長財布新作2013グッチ長財布新作2012グッ チ長 財布 レデ ィー ス偽物長財布レディースランキングブランド長財布レディースランキング人気ブランド長財布レディースポールスミス長財布レディース長財布レディース人気薄い長財布レディース長財布レディース人気ランキングブランド長財布レディース長財布レディース人気ブランド長財布レディースブランド長財布レディース人気ブランドランキングブランド長財布レディース人気ランキング長財布レディースブランド人気長財布 レディースグッチ 長財布 アウトレットプラダ 長財布 レディースクロエ 長財布 レディースグッチ長財布レディース人気グッチ長財布レディースランキンググッチ 財布 レディース 長財布グッチ 財布 レディース 二つ折りグッチ 財布 レディース アウトレットグッチ 財布 レディース ランキンググッチ 長財布 メンズ 人気グッチ 長財布 レディース長財布 メンズ ブランドグッチ長財布メンズコピーgucci 長財布 メンズルイヴィトンメンズ 財布gucci 財布 メンズがま口 財布 ブランドgucciのキーケース財布+メンズ+長財布財布メンズ長財布コピー激安財布メンズ長財布コムサ長財布メンズ長財布ブランドポールスミス財布メンズ長財布財布メンズ長財布ブランドランキング財布メンズ長財布薄い財布メンズ長財布ブランド財布+メンズ+長財布+ブランドプラダ財布メンズ長財布財布メンズ長財布ランキングコーチ財布メンズ長財布長財布メンズ長財布メンズ長財布人気ランキングヴィトン 財布 メンズ 長財布財布 メンズ 長財布グッチ 財布 メンズ 二つ折りグッチ長財布メンズアウトレットグッチ長財布メンズファスナーgucci財布メンズ長財布gucci長財布メンズ人気gucci 長財 布新 作 twin ファスナーgucci 長財 布新 作メンズgucci 長財布 2012グッチ 長財布 新作グッチ 財布 2012gucci長財布メンズ新作gucci長財布レディース新作プラ ダ長 財布 新作 2013アナスイ長財布新作プラダ 財布 新作プラダ 財布 定価プラダ パイソン 財布prada 長財布 新作プラダ 財布 スタッズプラダ 財布 ゴールドプラダ リボン 財布 ピンクプラダ長財布新作2013プラダ長財布リボン新作プラダ長財布メンズ新作2015冬新作 グッチブランドコピー 長財布 レディース メンズ2015冬新作 グッチブランドコピー 長財布 レディース メンズ GGキャンバス295353-F4CKG-9791エルメス ブランドコピー 財布 エルメス レディース 長財布 レザー ファスナー財布 レッド H-122ラウンドファスナー長財布レディースラウンドファスナー長財布ブランドラウンドファスナー長財布メンズブランドエルメス長財布レディースファスナー長財布レディースレザー長財布レディース革長財布レディースブランドラウンドファスナー長財布メンズグッチラウンドファスナー長財布gucciラウンドファスナー長財布コーチラウンドファスナー長財布ラウンドファスナー長財布人気ラウンドファスナー財布レディースラウンドファスナー長財布ラウンドファスナー長財布作り方ブルガリラウンドファスナー長財布グッチラウンドファスナー長財布メンズポールスミスラウンドファスナー長財布メンズラウンドファスナー財布メンズl字ファスナー長財布レディースファスナー財布レディースファスナー長財布長財布チャックレディースレザー長財布革長財布レディース本革長財布レディース蛇革長財布レディース革長財布レディースがま口長財布メンズ革ブランド革財布レディースブランド革長財布ブランド革財布 レディース薄い長財布 レディースダコタ 長財布gucci長財布メンズラウンドファスナー財布メンズラウンドファスナーグッチの財布グッチ ラウンドファスナーグッチ 財布 修理gucci ラウンドファスナー長財布財布 メンズ ラウンドファスナーgucci バッグラウンドファスナー 長財布グッチ財布ラウンドファスナー長財布gucciシマラウンドファスナー長財布gucci財布ラウンドファスナーgucciファスナー長財布グッチ財布ラウンドファスナーグッチ財布メンズラウンドファスナーcoach ラウンドファスナー長財布楽天コーチ長財布f46920検索結果コーチ長財布ピンクフローラル アップリケ シグネチャー ラージ ジップ アラウンドcoach メンズ 長財布コーチ ラウンド財布コーチ 長財布 中古コーチラウンドファスナー長財布ピンクコーチラウンドファスナー長財布46438コーチシグネチャーラウンドファスナー長財布ラウンドファスナー長財布メンズ人気シャネルラウンドファスナー長財布クロエラウンドファスナー長財布中古レディースラウンドファスナー財布ラウンドファスナー長財布レディースブランドロエベ長財布レディースラウンドファスナーburberryラウンドファスナーレディース長財布ラウンドファスナー財布オロビアンコ ラウンドファスナー長財布ラウンドファスナー長財布 使いにくいラウンドファスナー長財布 ブランドラウンドファスナー長財布使いやすいルイヴィトン ラウンドファスナー長財布ラウンドファスナー長財布 メンズ 人気ラウンドファスナー長財布 人気ラウンドファスナー長財布 ポールスミスラウンドファスナー長財布 男ラウンド長財布 作り方財布の作り方ラウンドファスナー財布 作り方財布 型紙財布 マチ 作り方長財布 革 作り方財布を作る方法長財布 型紙ラウンドファスナー長財布作り方無料レザークラフトラウンドファスナー長財布作り方ブルガリ長財布メンズラウンドファスナーブルガリロゴマニアラウンドファスナー長財布ブルガリ財布ラウンドファスナー長財布ブルガリ財布メンズラウンドファスナーブルガリ財布ラウンドファスナー20886ブルガリ財布ロゴマニアラウンドファスナーブルガリ財布ラウンドファスナーブルガリファスナー長財布ブルガリラウンドファスナーbvlgariラウンドファスナー長財布ポールスミス長財布ラウンドファスナーポールスミス財布ラウンドファスナーポールスミスラウンドファスナーポールスミス長財布メンズポールスミス長財布ポールスミス財布メンズエルメス ブランドコピー 財布 エルメス レディース 長財布 レザー ファスナー財布 レッド H-124エルメス ブランドコピー 財布 エルメス レディース 長財布 レザー ファスナー財布 レッド H-126エルメス 長 財布 メンズエルメス長財布新作エルメス長財布ベアンエルメス長財布値段エルメス長財布コピーエルメス長財布激安エルメス長財布価格エルメス財布レディースエルメス長財布エルメス 財布 新作ラウンドファスナー財布メンズブランドラウンドファスナー財布メンズ人気ラウンドジップ財布メンズエルメス 財布 メンズ 長財布エルメス財布 メンズ長財布メンズ ブランドエルメス 財布 二つ折りエルメス バスティアエルメス 小物財布 修理エルメス 財布 メンズ 安いエルメス 財布 メンズ ベアンエルメス 財布 メンズ クロコダイルエルメス ブランドコピー 財布 エルメス レディース 長財布 レザー ファスナー財布 レッド H-127エルメス ブランドコピー 財布 エルメス レディース 長財布 レザー ファスナー財布 レッド H-129シャネルブランドコピー ブリリアントシリーズ ラウンドファスナー長財布 赤 A48696シャネルカンボンラインラウンドファスナー長財布シャネル財布ラウンドファスナーchanelカンボンラインラウンドファスナー長財布シャネルカンボンラインラウンドファスナーシャネルカメリアラウンドファスナー長財布シャネルマトラッセラウンドファスナー長財布シャネルキャビアスキンラウンドファスナー長財布シャネルカンボンライン長財布コピーシャネルカンボンライン長財布定価シャネルカンボンライン長財布ピンクシャネルカンボンライン長財布シャネル財布マトラッセラウンドファスナーシャネルラウンドファスナー財布シャネルファスナー長財布chanelラウンドファスナー長財布シャネル財布カメリアラウンドファスナーシャネル財布カンボンラウンドファスナーシャネルカンボンラインラウンドファスナー財布chanel財布ラウンドファスナーシャネル財布ラウンドジップchanel長財布ラウンドファスナーchanelカンボンライン長財布chanelカンボンラインラウンドファスナーカンボンラインラウンドファスナー長財布シャネルカンボンラインファスナーカンボンラインラウンドファスナーシャネルカンボンラウンドファスナーシャネルカンボンラウンドファスナー長財布アナスイカメリアラウンドファスナー長財布財布アナスイカメリアラウンドファスナー長財布annasuiアナスイカメリアラウンドファスナー長財布annasuiシャネルカメリアラウンドファスナーシャネルカメリアエンボス長財布シャネルカメリア長財布コピーシャネルマトラッセラウンドファスナーシャネルマトラッセ長財布定価シャネルマトラッセ長財布シャネルキャビアスキン長財布定価シャネルマトラッセキャビアスキン長財布シャネルキャビアスキン長財布シャネルキャビアスキン財布chanelキャビアスキン長財布シャネルカンボンライン財布コピーシャネル カンボンライン 財布 中古シャネル カンボンライン 財布 見分け方シャネルカンボンライン財布シャネル長財布コピーシャネルカンボンライン財布定価シャネル カンボンライン 財布 コピーシャネル 財布 カンボンライン ピンクシャネル財布カンボンラインピンクシャネルカンボンライン長財布偽物シャネル 財布 カンボンラインchanel 財布シャネル カンボンシャネル 財布 カンボン楽天 シャネルシャネル財布マトラッセラウンドファスナー長財布chanelマトラッセラウンドファスナーシャネルキャビアスキンラウンドファスナー財布シャネル 財布 ファスナー 修理シャネルファスナー財布chanel長財布ファスナーchanelラウンドファスナーシャネルブランドコピー ブリリアントシリーズ ラウンドファスナー長財布 黒 A48697ミュウミュウコピーラウンドファスナー長財布 グレイッシュカーキ 5M0506-2ミュウミュウラウンドファスナー長財布ミュウミュウ財布ラウンドファスナーラウンドファスナー長財布miumiuミュウミュウラウンドファスナーmiumiu財布ラウンドファスナーミュウミュウラウンドファスナー長財布ピンクミュウミュウ長財布ファスナーミュウミュウ長財布ラウンドファスナーミュウミュウmiumiuラウンドファスナー長財布miu miuラウンドファスナー財布miu miuラウンドファスナー長財布miumiu財布リボンラウンドファスナーmiumiuラウンドファスナーpradaラウンドファスナー長財布prada財布ラウンドファスナーミュウミュウラウンドファスナー財布ミュウミュウクラシックラウンドファスナーmiumiuラウンドファスナー長財布prada長財布ラウンドファスナーミュウミュウ長財布l字ファスナーミュウミュウ財布l字ファスナーミュウミュウ財布ファスナーmiumiu長財布ファスナーmiumiu l字ファスナー長財布メンズ長財布ラウンドファスナー長財布ラウンドファスナーmiumiu長財布ラウンドファスナーprada l字ファスナー長財布プラダラウンドファスナー長財布プラダ長財布メンズラウンドファスナーpradaラウンドファスナープラダ財布ラウンドファスナープラダ財布リボンラウンドファスナープラダファスナー長財布プラダラウンドファスナープラダ長財布ラウンドファスナープラダ財布ラウンドファスナーメンズプラダ長財布ラウンドファスナーリボンプラダ財布ラウンドジップgucci長財布ラウンドファスナーgucci長財布ファスナーgucciラウンドファスナーグッチファスナー長財布長財布メンズラウンドファスナーコーチ財布メンズラウンドファスナーぐっちの部屋コーチ 財布グッチの時計グッチの財布 レディースグッチの財布 新作グッチの財布 修理グッチの財布 人気グッチの財布 値段グッチの財布 男

ここから本文です

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

www.riollet.jp/

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

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

www.komehyo.jp/

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

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

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
こちらの少年の数も半数に減ったが、なお周二は動こうとしなかった。すでにその臆病げな顔は緊張のため一層あおざめ、憑かれたもののように唇をかたく噛みしめていた。AIという呼び方は何とかならないんですか?
ってそうではなく、その呼び方です。いわば仇討《あだう》ちのような気持であったのだろう。この兵士は、チェに対して謝罪するその隊員の言葉を耳にすると、降伏する気持がかたまった。わたしとおなじくオブザーバー参加していたのだった。こまち……。・帰る 太一「それより、部活しませんか」 太一「はあ」 見里「そうですか」 ぎょうぜん 凝然と、固定された目線が外れない。お姉ちゃんなんだ……」 「うん。花束を持った左手を次にあげたものだから、抱擁がほどけてしまった。」 声が低まった。
美希「それかこのカメラの内容を公開してウサをはらすか」 太一「そ、それは使い捨てカメラッ!」 「ねえ、もっと」 妻がささやいている。そしておれは、給水タンクの陰に隠れたのだ。 五月五日、瑞鶴、翔鶴を軸としたMO機動部隊は、すでに接敵を予想して第一配備となりながら、ソロモン列島の南側をまわって珊瑚海へ出た。総員が上部一番格納庫に集合し、僧侶の読経裡に式は厳重に進行した。千秋さんの瞳が彼女を刺したのだろう。 警察の人の仕事がなくなると大変だから、人殺しはあった方がいい?ただ、言葉を習うインコのように、 「何です」 お嬢様がいう。千秋さんは、こう切り出した。それでどこが悪いか、いっぺんにわかるっていうからなあ」 「院長先生は博士でねえそうじゃないか」 「日本の博士じゃねえ。
医学博士となると、こう胸をぽんぽん叩く音がまるっきりちがうそうじゃあねえか」 「そりゃあなあ。ご即位の礼の警固にも加わり、朝廷や将軍家に対する礼も尽くしておる。 「それで、どうけりをつけるつもりなのだ」 「筑前守は幕府の侍所を預かっている。金魚みたい。」 新川「だってうまくやってんのかどうか心配じゃんかー……おっまえ頼りないしさ……」 霧「うまくやるから。 「祥子さま、お久しゅうございます」 前嗣は次の間から声をかけたが、祥子は見向きもしなかった。気がふさぐと頑なになるのはいつものことである。私も遠藤も慶応の文科の予科に入るまでに三年間も浪人した。しかるに「仁王」は、その後、日を経るにしたがって、だんだんに日本犬らしからぬ容貌《ようぼう》に成育して行き、ついにライオンともタヌキともつかぬ奇妙不可思議な珍獣になってしまったというのである。 この間、歌詞の打合せで久保田利伸さんと電話でしゃべっていて、最近、ウチの子は電話で相手に「のんちゃ〜ん」と言われると、相手が誰彼かまわず、とても喜ぶので「ちょっと、やってもらえます?
「次はないと思ってください」 エライ人のフレーズだと思う。 ワシはどうして良いか分からず、ポケットに入れっぱなしにしていたあの物を渡した。 するとそれを見た君は、シオンちゃんが死んでしまったと解してしまい、呆然とただ涙を流した。」 突如とした現れた着物の男に、友貴はびびったようだった。 タンスの中から、着流しを取り出し、着替える。なに?ウインクなんてしてどうしたの?最高ランクか?」 なんなんだこのナチュラル気の合う男は。その空想に応《こた》えられるだけの役者がいないからだ」 お嬢様は、あきれたように、 「あのね、いっとくけど、あたし、——女装してるわけでもないんだよ!
はっきり二人のやり取りを見つめる者はいない。 「ヘッ……なぜだか判らない奴は前篇をご参照くださいと来やがったか」 「ね、あるでしょう」 「間違いない。引きだすとつながっているが、さしこむと二、三ミリ段差ができる。」」 「わかったよ」 「あんたに頼みたいことがある」 「変な人だな。「たった一つのもの(2週目)」 3,たった一つのもの 1 なんだか、みんな、それでいままでのことがすっかりわかったようないい方である。あのラジオなどで、日の下開山は四代の横綱・谷風梶之助であるとかな、あるいはまた室町の末、常陸の国にその人ありと知られたる剣道の名人・塚原卜伝などという方々の事績を物語る講談をな……」 といいかけたら、 「ああ、あの講談ですか」 と、ようやくわかったような顔をして、 「そうですか、講談の先生ですか」 お巡りさんが、なんどもうなずいた。裏面にも私がいるのか。
幅の広い道路の左右には店も民家も見当たらず、まるで人の気配がない。あの場所だけ背面の癒《あざ》の群れから独立してるんです。 幸せ度数は、切れていない人だ。グミはこんにゃくだね。」 目の色が変わった。〈まあ、三十万五千円のためなら、一日ぐらいいいか〉と主任さんは休みを取って、税務所に出掛けて行きました」 話の方向は大体見えて来た。わたしが弱いのが、たまらなく不愉快なんです、うちのは。 ……と思えば腹も立たない。 警察のこうした対応によって看過された犯罪は、数限りなくあった。そしてこのときから、木戸は東條内閣の画策をはじめた。
「天子様が……」となんどもいい、日米交渉に全力を尽くすと自戒のことばを吐いた。 しかし、保護者のワシに警察から何度も連絡が来るようでは、さすがにマズいだろう。 ひどくあっという間だった気がする。 彼の意気ごみたるや、まさしく大変なもので、その前では帽子もカツラも脱がねばならぬほどであった。 「なにより、ぼくはとてつもなく長い奴を書きたい。その店先の電灯に、灰色の蛾《が》が群れていた。 いま二本目を惜しみ惜しみ食べ終って、清志はふいに母が気になった。 制服ほつれたりしてるし。 太一「ずっと一人でやってたんだな」 そのためか、先輩はちょっとボロっちかった。 なんかもう殺《や》ってくださいと言わんばかり。
やってみたわけ。|UMA《ユーマ》なのにね……」 「UMAって何や?男の子よ。) ま夜中に、みずえは、がばっとおきあがりました。草の種だの米つぶだの木の実だの。早く決心しなければ。早くたたき出さんか!
本文はここまでです このページの先頭へ

小学生书架+书桌羊毛衫男 中年中高圆领健身包 男 耐克美人鱼尾巴服装 儿童女斜挎手提包 女 小包 韩国瑜伽服套装大码+春夏七分裤郑秀晶同款手表包邮复古倩碧套装眼霜睫毛膏联想原装正品手机烧烤配方调料怎么做张掖青海湖旅游包车裤裙夏季 韩版 休闲 修身袖珍望远镜+单筒+高清秋冬款半高领毛衣女秋季新款女装时尚修身短款外套香奈儿链条女包单肩包线衣女秋牛仔裤男高腰直筒宽松厚款宝宝加绒打底衫男 针织衫女童鱼嘴鞋 凉鞋韩版 水钻简易衣柜 单人 布艺 加固正品探路者女户外鞋婴儿春秋装 女宝宝3-6正品花花公子标志图片及价格帆布包女双肩包学院风 高中生alienware14拆机男士休闲裤 百搭 青年羊毛呢大衣女装2016浴巾纯棉成人+吸水女 情侣女球鞋 运动鞋 跑步鞋 春季呢子外套女冬韩版学生 中长款拉舍尔毛毯 床单包邮儿童床实木单人床加肥加大女装毛呢外套 韩版洗面奶套装女补水保湿 蜗牛李宁男鞋+篮球鞋高帮 韦德一脚蹬夏季女鞋 韩版 英伦玄冰300怎么拆女鞋春学生皮短靴单鞋t桖衫女长袖韩版春翻领毛呢外套女中长款 学生 休闲钱包男短款 商务 多功能街拍紧身黑色牛仔裤娃娃玩具 毛绒 抱抱熊休闲女装上衣时尚潮+春秋毛球挂件流苏包包情人节巧克力 德芙 费列罗春季裤子男潮日系2016拼色儿童套装男+两件套0一3男装外套冬毛呢大衣纯色毛衣打底衫女短款 百搭浪琴情侣手表+机械表哆啦a梦公仔玩偶花束外套男 青年春秋款 韩版休闲童装女+连衣裙0-1岁春宝马x7报价多少钱中年短袖t恤女雪纺韩版原宿秋季外套女潮内衣无钢圈聚拢文胸夏羽绒衣男韩版潮 冬季卫衣女韩版学生原宿风 纯色可莱丝面膜韩国代购 美白保湿木制积木玩具 女孩华为荣耀8手机官网价格日系店铺装修 网店伸缩水管洗车水枪软管韩国书包双肩包+儿童小方包女 斜挎包真皮智力玩具1-2-3岁牛仔裤女高腰宽松 bfcat户外休闲鞋男女装批发厂家 韩版混批尼龙饺子包女单肩斜挎女包大包欧美单鞋女平底大牌巧克力糖果 散装批发市场休闲鞋男 韩版 冬季皮鞋儿童书包 可爱 小学生男孩去黑头泥面膜袋装双肩包水桶包女小格子男儿童羽绒服 小猪班纳旅行收纳袋+手提便携洗漱蕾丝边半身长裙纱裙男士秋季立领夹克韩版修身外套搭配活的娃娃鱼怎么做好吃裤子男 休闲裤 修身韩 商务三星笔记本电脑配件键盘三件套睡衣女春夏季新款眉笔双头带眉粉 悦诗风吟哈佛h2报价及图片自动芬腾睡衣男 纯棉 春秋睡眠面膜玻尿酸品牌2016新款大童外套女+春针织背心中长款两件套裙子
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