東方算程譚

Oriental Code Talk ── επιστημηが与太をこく、弾幕とは無縁のシロモノ。

目次

Blog 利用状況

ニュース

著作とお薦めの品々は

著作とお薦めの品々は
東方熱帯林へ。

あわせて読みたい

わんくま

  1. 東京勉強会#2
    C++/CLI カクテル・レシピ
  2. 東京勉強会#3
    template vs. generics
  3. 大阪勉強会#6
    C++むかしばなし
  4. 東京勉強会#7
    C++むかしばなし
  5. 東京勉強会#8
    STL/CLRによるGeneric Programming
  6. TechEd 2007 @YOKOHAMA
    C++・C++/CLI・C# 適材適所
  7. 東京勉強会#14
    Making of BOF
  8. 東京勉強会#15
    状態遷移
  9. 名古屋勉強会#2
    WinUnit - お気楽お手軽UnitTest

CodeZine

  1. Cで実現する「ぷちオブジェクト指向」
  2. CUnitによるテスト駆動開発
  3. SQLiteで組み込みDB体験(2007年版)
  4. C++/CLIによるCライブラリの.NET化
  5. C# 1.1からC# 3.0まで~言語仕様の進化
  6. BoostでC++0xのライブラリ「TR1」を先取りしよう (1)
  7. BoostでC++0xのライブラリ「TR1」を先取りしよう (2)
  8. BoostでC++0xのライブラリ「TR1」を先取りしよう (3)
  9. BoostでC++0xのライブラリ「TR1」を先取りしよう (4)
  10. BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
  11. C/C++に対応した、もうひとつのUnitTestFramework ─ WinUnit
  12. SQLiteで"おこづかいちょう"
  13. STL/CLRツアーガイド
  14. マージ・ソート : 巨大データのソート法
  15. ヒープソートのアルゴリズム
  16. C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  17. .NETでマンデルブロ集合を描く
  18. .NETでマンデルブロ集合を描く(後日談)
  19. C++/CLI : とある文字列の相互変換(コンバージョン)
  20. インテルTBBによる選択ソートの高速化
  21. インテルTBB3.0 によるパイプライン処理
  22. Visual C++ 2010に追加されたSTLアルゴリズム
  23. Visual C++ 2010に追加されたSTLコンテナ「forward_list」
  24. shared_ptrによるObserverパターンの実装
  25. .NETでマンデルブロ集合を描く(番外編) ── OpenCLで超並列コンピューティング
  26. StateパターンでCSVを読む
  27. 状態遷移表からStateパターンを自動生成する
  28. 「ソートも、サーチも、あるんだよ」~標準C++ライブラリにみるアルゴリズムの面白さ
  29. インテルTBBの同期メカニズム
  30. なぜsetを使っちゃいけないの?
  31. WPFアプリケーションで腕試し ~C++でもWPFアプリを
  32. C++11 : スレッド・ライブラリひとめぐり
  33. Google製のC++ Unit Test Framework「Google Test」を使ってみる
  34. メールでデータベースを更新するココロミ
  35. Visitorパターンで遊んでみたよ
  36. Collection 2題:「WPFにバインドできる辞書」と「重複を許す検索set」
  37. Visual C++ 2012:stateless-lambdaとSQLiteのぷち拡張
  38. 「Visual C++ Compiler November 2012 CTP」で追加された6つの新機能

@IT

  1. Vista時代のVisual C++の流儀(前編)Vista到来。既存C/C++資産の.NET化を始めよう!
  2. Vista時代のVisual C++の流儀(中編)MFCから.NETへの実践的移行計画
  3. Vista時代のVisual C++の流儀(後編) STL/CLRによるDocument/Viewアーキテクチャ
  4. C++開発者のための単体テスト入門 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?
  5. C++開発者のための単体テスト入門 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
  6. C++開発者のための単体テスト入門 第3回 C++アプリケーションの効率的なテスト手法(NUnit編)

AWARDS


Microsoft MVP
for Visual Developer - Visual C++


Wankuma MVP
for いぢわる C++


Nyantora MVP
for こくまろ中国茶

Xbox

Links

記事カテゴリ

書庫

日記カテゴリ

板挟み

コレ絡み → [C++] UTF-8

ちょいと遅れましたが、先週金曜(12/05)東京タワーの根元にある
機械振興会館で C++ Working Group AdHoc会議 ちゅーのがありました。

いつもの会議は年に数回、C++標準委員会の委員が集まるんですが、
今回のAdHoc会議は一般から有志を募り、来るべきC++0xの仕様に
ついていちゃもんつけよう! って趣旨。 あらかじめ提出されたC++0xの
草案に対するコメントをひとつずつ検討し、上層部に投げるか否かを
決めるっちゅーもんです。

われらわんくま同盟からもなんかそれっぽいヒトが顔出してくれました。
C++標準委員会の名ばかり委員として深く御礼申し上げます。

モメるだろなーと思ってて案の定モメたのが文字コードのおはなし。

たとえば、ですね。
FILE* fp = fopen("日本語.txt","rt");
あるいは
std::ifstream file("日本語.txt");
これ、現在のC/C++では正しく 日本語.txt
オープンできる保証はどこにもないんです。少なくとも言語仕様としては。
コンパイラ/ライブラリ屋さんがちゃんとオープンできるようになんとかしてくれてるだけ。

というのも、文字列(char*,char[],"で囲ったリテラル)は
もともとsingle-byte文字(ASCII)ベースなわけで、
そん中にmulti-byte文字列が格納されたとき、
その文字コードについて言語仕様は一言も言及していません
コード上に書かれた "日本語.txt" がファイル名/パス名として正しく
機能するには、コンパイラが生成する文字列の文字コードと
ファイルシステム(OS-API)が受理するそれとを一致させにゃならん
のですが、言語仕様には触れられていません。

UNICODE(wchar_t)使えばいいわけだけど、そいつのコード上の表現は
L"日本語.txt" みたいにアタマに L が付きます。
なので、ファイル絡みの関数は wchar_t* をパス名として受け付ける版
が必要となります。
ところが、現在の標準ライブラリ仕様には char* 版しか用意されていないんですわ。

もうね、いっそ「コード中に現れるmulti-byte文字列はUTF-8である!」って
言語仕様でゆっちゃえば楽になるわけだけど、そーすっと今まで書かれてきた
あらゆるコードとコンパイラが仕様から外れ、下位互換性が保てなくなる。
いぢりたくてもいぢれないっつーわけ。

投稿日時 : 2008年12月11日 11:19

コメントを追加

# re: 板挟み 2008/12/11 12:00 アキラ

やっぱり標準コンパイルオプションがほしい。
そういうオプションを提供すればcharがUTF-8になってもいいよ、っていうコンパイラ屋さんへの許可でもいいんですが…

# re: 板挟み 2008/12/11 12:03 rigarash

wchar_tがUNICODEとなっている、というのは間違いだと思うのですが。

# re: 板挟み 2008/12/11 12:27 επιστημη

え? そーだっけ。

「UNICODE(内部的にUCS-2かUCS-4かは処理系依存)を
 表現するに十分なハバをもったchar」ってことでダメ?

正しくは?

# re: 板挟み 2008/12/11 13:21 tatar

昔、SunOS(だと思うですが)+X Window Systemをいじっていた時に、wchar_tにeuc-jpが入っていたりした記憶があります。
# locale設定が ja_JP.eucJP だったから、でしょうけれど。

# re: 板挟み 2008/12/11 13:29 aetos

昔、らららさんのトコで epi さんと「wchar_t って Unicode とは限らないよね」って話をした覚えがあるんだけど、ログが見つからない。

# JISC のサイトが重くて規格書が見れないorz

# re: 板挟み 2008/12/11 13:34 επιστημη

あー、ワイド文字とはゆってるけれど、それがUNICODEとはゆってない、てーことか。

L'あ' はワイドな「あ」だけど、UNICODEとは限らない、と。

とはいえこいつがUNICODEじゃなかったためしはないけども ^^;

# re: 板挟み 2008/12/11 13:38 aetos

まぁそんなわけで、規格互換性的には、wchar_t ともまた違う、Unicode であると明記した型が必要になるんじゃあるんめぇか? という気がするんだけれども。
そんなことをすれば混乱は必至だけどね。

# re: 板挟み 2008/12/11 14:10 egtra

> Unicode であると明記した型
それがchar16_t/char32_tですよね、UTF-8ではないですが。
私も参加していましたが、少なくともストリームを開くときのファイル名の引数にwchar_t/char16_t/char32_t文字列を取る多重定義を追加する提案は通ったと記憶しています。

あと、自分もchar8_tが無いのは不思議だと思っています。半分くらいは解決できると思うんですけどね。

# re: 板挟み 2008/12/11 14:15 επιστημη

>> Unicode であると明記した型
> それがchar16_t/char32_tですよね

いまさら言うのもなんだけど、へんなの。
文字幅とencodingとは別物じゃね? て思う。

ucs2char_t, ucs4char_t ならともかくも。

# re: 板挟み 2008/12/11 14:22 aetos

> char16_t/char32_tですよね

そんな型があったのか。

> char8_tが無い

UTF-8 はマルチバイト文字だから、とか?
char16_t、char32_t は(UTF-16のサロゲートを除けば)1文字16bit/32bitで固定だと思うけど、UTF-8は1文字のバイト数が変動するからね。
内部処理はUTF-16/32でやって、I/OのときだけUTF-8に変換するのが楽だから、データ型として提供する必要性は薄いと判断されたのかなー、とか思う。

# re: 板挟み 2008/12/11 14:46 アキラ

u8プレフィックスはありますけど。

# re: 板挟み 2008/12/11 16:11 aetos

あるのか…

# re: 板挟み 2008/12/11 16:14 aetos

Wikipedia
http://ja.wikipedia.org/wiki/C%2B%2B0x#.E6.96.B0.E3.81.9F.E3.81.AA.E6.96.87.E5.AD.97.E5.88.97.E3.83.AA.E3.83.86.E3.83.A9.E3.83.AB

によると(余談だがこのリンクはIE8で機能しない)、

> char型の定義が修正され、少なくともUTF-8の8ビットエンコーディングを格納出来て、コンパイラの基本実行文字セットのあらゆる文字を格納するのに十分な大きさを持つ、とされた。以前は後者だけを満たしていれば良いとされていた。

だそうだ。
つまり、char* を引数に取る関数は、UTF-8 文字列が渡された場合に正しく動作することが保証されるように、ライブラリが見直される、ということになるか。

# re: 板挟み 2008/12/11 17:39 επιστημη

> UTF-8 文字列が渡された場合に正しく動作することが
> 保証されるように、ライブラリが見直される

どぉでしょね。ライブラリいぢられちゃうと以後
fopen("日本語.txt","rt")
は全滅で、ソースコードぜーんぶナメて
fopen(u8"日本語.txt","rt")
に改めよ、ってことになるわけでー

# re: 板挟み 2008/12/12 2:43 aetos

うん? あーそうか。
そうすると、fopen( uchar16/32_t const * ) は新たに追加されるけれど、fopen( char const * ) にマルチバイト文字を渡すのは、u8 であろうがなかろうが、相変わらず動作保証はない、と?

# re: 板挟み 2008/12/12 9:21 rigarash

話題だけ振って、その後発言がなくて申し訳ないです。
僕自身はgcc/glibcな世界しか扱っていないので、問題ないのですが(というかascii以外の文字をプログラミングで使わなくてすむ環境にいる)、
BSDな人のコメントでいえば、

http://www.hi-matic.org/diary/?20081118#18

あたりがまとまっているかと思います。コンパイラとlocaleの関係は悩ましいですね。

# re: 板挟み 2008/12/12 11:14 επιστημη

char8_t かー...
char , unsigned char と区別できる
独立な型: distinguished-type としてですか?

そうなると従来の strほげほげ() 系は型が合わずに全滅すっから
新たに <u8string.h> とか std::u8string とかを導入すっことになるですか?
(UTF8)char8_t* と (UTF16/32)char16_t*/char32_t* の相互変換も必須ですよね。

これはこれで厄介事が増えそうな...

# re: 板挟み 2008/12/12 11:19 もり ひろゆき

んーと、問題になっている点がちょっと不明瞭なんですが・・・。

ちょっと2つ疑問点があります。

1つめは今の議論って要はコードポイントを1文字として認識するにはどうするかってお話なんでしょうか?(^^;

そもそもUnicodeは文字合成の仕組みを持っているのでコードポイント1つでは文字を表現しきれません。

ここでいう文字合成というのはサロゲートペアを除きます。

そのため、Unicodeで1文字を十分に表現できる型となるとUTF-8でなくても1文字単位で可変長となる型が必要になってしまいますね(^^;

Unicodeは結構複雑なので、1文字という単位をどのようにとらえるかによって、単純な固定バイトの型にすることは難しいと思います。

たとえば、サロゲートペアだけでも1文字が4byteになってしまいますし、ディアクリティカルマークなどを利用したものになると4byte6byteとどんどん増えてしまいます。

加えて異体字セレクタなどを利用することになるとさらに・・・という感じで、これがUTF-8で表現することになると1文字10数バイトに及ぶことも近い将来に十分あり得る話だと思いますよ(^^;

2つめはC++が疎いのでよくわからないのですが私が知っていたころのCは型の持つサイズは処理系によって異なっていたのですが、今は規格で決まっているのでしょうか?

なんとなく文脈から見てwchar_tは2byte, uchar16_tも2byte, uchar32_tは4byteのような感じがしていますが認識はあっています?(^^;

その場合、unicodeでUTF-16でも1つのコードポイントは1byteと2byteで表現されるので、コードポイントを表現するだけでも固定幅では厳しいかと思いますが・・・私何か勘違いしています?(^^;

# re: 板挟み 2008/12/12 11:23 もり ひろゆき

あ、間違っていましたね(^^;
UTF-16ではコードポイント1つを表現するには2byteと4byteがあるんでしたね(^^;;;;
失礼しました(^^;;;;

# re: 板挟み 2008/12/12 11:46 επιστημη

もともと「ASCII通れば無問題」がベースになってっとこに
無理くりmulti-byte文字をねぢ込んでるのが諸悪の根源。
そのせいで char だけじゃ足りんくなって wchar_t を導入したがこいつのサイズは処理系の勝手。
それじゃ困るってんで char16_t/char32_t をさらに追加。

結果文字を表現する型が 4通り、std::basic_stringを考えると8通り。
さらに「それらの相互変換とか要るよねー」なんて言い出すと混乱を極めるわけです。

だからいっそencodingを規定して
「文字列はUNICODE、char*での表現形式はUTF8!」
って勅命を発すれば事態は収拾に向かうわけだが、
過去の遺産が邪魔をするわけっす...

# re: 板挟み 2008/12/12 11:47 アキラ

ちなみに、C1xにもchar16_t/char32_t, u/U/u8プレフィックス入りますよ。
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1333.pdf

標準ライブラリの影響とかは調べてないですけど。

# re: 板挟み 2008/12/12 11:52 soda

二種類の話が混ざってますね。

既にコメントされている通り、wchar_t は UCS-2/4 とは
限りません。UNIX 系だと、wchar_t が UCS-4 固定になっているのは Linux くらいじゃないかな。

もう一つ、ファイルシステム関係のシステムコールに渡すパス名の方も (またファイルシステム上に実際に記録されているパス名も)、UTF-8 であるとは限りません。現行 locale のマルチバイト表現をシステムコールで渡すものが殆んどです。これについては、Linux でも同じです。このため EUC-JP を使ってるシステムは沢山ありますし、ISO-8859-1 を使っているシステムは、本当に山のようにあります。locale 設定ですから、システム管理者によって (場合によっては利用者ごとに) 異なります。

というわけで、Unicode あると決めても何も解決しないでしょうね。むしろ現行システムとの互換性問題が増えるだけじゃないでしょうか。
逆に、特に文字コードを決めなくても、(locale があっている限りは) ちゃんと動くはずです。

# re: 板挟み 2008/12/12 11:59 rigarash

wchar_tの型は処理系依存、c++0xのuchar{16,32}_tは{2,4}byteになっているはずです。

まあ、それだけでなく、コンソールアプリを考えた場合、
1. ソースファイルのエンコーディング
2. ファイルシステム上のファイル名のエンコーディング、
3. ファイルの中身のエンコーディング
4. コンソールの表示のエンコーディング
が全部違うなんてことも普通にありうるので、
ただのバイト列なのか、文字列として変換すべきなのかややこしいですよね。

# re: 板挟み 2008/12/12 12:04 もり ひろゆき

なるほど。

えぴさんの話とsodaさんの話でよく理解できました。

ですが、なんとなくどうにもならない感じもしますねぇ(^^;;;

文字コードの問題は奥深いので(^^;;;;

# re: 板挟み 2008/12/12 13:47 επιστημη

ねぇ (^^;;;

善かれと信じていろいろ突っ込むと余計にひっ掻き回すんちゃうかぁ?
char16_t/char32_tに一抹の不安を覚えるます。

# re: 板挟み 2008/12/12 14:00 もり ひろゆき

んー、そもそもUnicodeのサポートというのも少々疑問が残るところですし・・・。

一口にUnicodeといっても単純に1byte, 2byte, 4byteとかの問題ではないですしねぇ(^^;

文字コードをサポート云々という話を進めると余計にややこしいことになりそうな・・(^^;

データだけを取り扱えば問題が少なそうですが、文字列として取り扱うとなるとやっかいな問題を抱えることになりそうな・・・(^^;;;

やはりC++は難しいですね(^^;;;

てか、今のCももしかして?(^^;;

# re: 板挟み 2008/12/12 14:54 rigarash

処理系依存だとは思うのですが、
CP932なソースファイルに
std::string sample(u8"日本語");
とあったら、sampleはどのようなバイト列になるべきなのでしょうか。
VCだと変換されたものが入ってくれちゃうでしょうけども。

# re: 板挟み 2008/12/12 15:03 επιστημη

んと、ソースがどんなencodingであれ実行時にはUTF8だぞ! てゆーのが u8 のココロやとおもうです。

んだからたとえばバイナリファイル生ストリームに << sample したら
ファイルには UTF8で"日本語"って書いてあるんでないかしら。

# re: 板挟み 2008/12/12 15:25 rigarash

それは、コンパイラがu8"日本語"の文字コードを知っているという前提ですよね。
いろいろなヘッダファイルがあって、それぞれがUTF-8, EUC-JP, ISO-2022-JPで書いてあることも容易に
想像できますが、
それをプリプロセッサにかけて、ひとつの翻訳単位に
したとき、部分部分でu8"日本語"のバイト列は異なるはずですよね?
gccはやばそうだ…

# re: 板挟み 2008/12/12 16:02 επιστημη

ですねー

たとえば encodingの異なる複数のヘッダを
#include したときどう振舞うかは処理系次第でしょうねぇ。

賢いコンパイラなら各ソースのencodingを察して善きにはからうかもしんないし、
特定のencodingだと思い込んで結果バケバケかもしんないし。

# re: 板挟み 2008/12/12 16:06 rigarash

しかも、もしinclude先のヘッダにひきずられることがあれば、
自分のコードをUTF-8にしていても、
u8"日本語"リテラルがバイナリ生ストリームで化けることもありうる、と。

# re: 板挟み 2008/12/12 16:25 επιστημη

んー...あちこちのライブラリを持ち寄ったときに問題を起こしそう。

香ばしい匂いが漂ってます。

# re: 板挟み 2008/12/12 16:41 aetos

#pragma encoding utf8

とか入れるんかなぁ。

# re: 板挟み 2008/12/12 18:58 rigarash

今N2800を読みなおしてました。
2.1.1.1でbasic-source-character以外の文字すべてをuniversal-character-nameとequivalentになるようにしろ、とあるので、
現実的には、phase 1でbasic-source-character以外の文字すべてをISO 10646に変換する、
ということになるのでしょう。

# re: 板挟み 2008/12/12 21:06 通りすがり

ソース中にはASCII以外書かないので、少なくともリテラルの文字コードで困ったことはないなあ。Windowsで日本語が必要ならリソースを使うべきケースがほとんどだし。
パス名の文字コードも、パス名自体に移植性がないので標準規格のレベルで気にしてもしょうがない。

# C++Builder2009????????????String?????????????????????????????????????????? | ???????????????????????? 2010/01/12 13:09 Pingback/TrackBack

C++Builder2009????????????String?????????????????????????????????????????? | ????????????????????????

# ???????????????????????????????????????????????? &raquo; UTF-n???????????????UTF-n???????????? 2011/01/22 0:29 Pingback/TrackBack

???????????????????????????????????????????????? &raquo; UTF-n???????????????UTF-n????????????

# vkPwPOXqyToJYIW 2021/07/03 2:15 https://amzn.to/365xyVY

Scene erotique amateur video ejaculation femme Here is my webpage film x

# I used to be able to find good advice from your content. 2021/09/05 12:51 I used to be able to find good advice from your co

I used to be able to find good advice from your content.

# It's going to be ending of mine day, except before ending I am reading this fantastic piece of writing to improve my experience. quest bars http://bit.ly/3C2tkMR quest bars 2021/09/11 13:23 It's going to be ending of mine day, except before

It's going to be ending of mine day, except before ending I am reading this fantastic piece of writing
to improve my experience. quest bars http://bit.ly/3C2tkMR quest bars

# Why users still use to read news papers when in this technological globe all is available on web? https://parttimejobshiredin30minutes.wildapricot.org/ part time jobs hired in 30 minutes 2021/10/22 22:04 Why users still use to read news papers when in th

Why users still use to read news papers when in this technological
globe all is available on web? https://parttimejobshiredin30minutes.wildapricot.org/ part time
jobs hired in 30 minutes

# This is the perfect webpage for everyone who wishes to understand this topic. You realize a whole lot its almost tough to argue with you (not that I personally would want to…HaHa). You definitely put a brand new spin on a subject which has been discussed 2021/10/26 7:12 This is the perfect webpage for everyone who wishe

This is the perfect webpage for everyone who wishes to understand this topic.

You realize a whole lot its almost tough to argue with
you (not that I personally would want to…HaHa). You definitely put a brand new spin on a subject which
has been discussed for many years. Excellent stuff, just wonderful!

# I really like what you guys are usually up too. This sort of clever work and exposure! Keep up the superb works guys I've added you guys to blogroll. 2022/01/07 16:23 I really like what you guys are usually up too. T

I really like what you guys are usually up too. This sort of
clever work and exposure! Keep up the superb works guys I've added you guys
to blogroll.

# essay writer software v62ynq 2022/09/09 0:00 Charlosmox


Thanks, Loads of posts!
https://definitionessays.com/ final thesis

# how to write a cause and effect paper c519ap 2023/02/09 6:25 Albertosed


Many thanks. Lots of material!

https://service-essay.com/ gaming the classroom

# how to write an admission essay f32amg 2023/03/05 23:41 EugeneSib


Nicely put. Thanks.
help writing essay https://writingresearchtermpaperservice.com personal statement writing services https://essaypromaster.com

# custom admission essay a16myo 2023/03/06 15:13 EugeneSib


Regards, A good amount of content!
uva college essay https://essaypromaster.com dissertation phrases https://helpwithdissertationwriting.com

# dissertation topic b13lrt 2023/03/06 17:07 Gregorysaipt


Amazing plenty of valuable data.
writing a reflection essay https://bestonlinepaperwritingservices.com dissertation publishing https://customthesiswritingservice.com

# online essay help f83axj 2023/03/08 13:12 EugeneSib


Kudos! Plenty of tips.
writing an essay intro https://writingthesistops.com how to write better essays https://writeadissertation.com

# college essays.com m83dst 2023/03/08 13:56 Gregorysaipt


Thanks a lot. I appreciate this.
college scholarship essays https://buyanessayscheaponline.com best custom writing https://essayservicehelp.com

# dissertations online m241bx 2023/03/09 11:53 Gregorysaipt


Nicely put, Appreciate it!
creative writing essay prompts https://helpwritingdissertation.com i need help with my essay https://bestonlinepaperwritingservices.com

# how to write an essay on a poem analysis j17wie 2023/03/10 9:17 Gregorysaipt


Many thanks! An abundance of tips!
thesis editor https://essaywritingserviceahrefs.com writing a phd dissertation https://domyhomeworkformecheap.com

# college level essay j30vpv 2023/03/10 11:13 EugeneSib


Incredible loads of great material.
good college admission essay https://hireawriterforanessay.com need help writing a essay https://essaywritingservicebbc.com

# easy essay help q88tuc 2023/03/11 1:54 EugeneSib


Incredible loads of superb tips!
how to write a critique essay on an article https://ouressays.com how to write a great narrative essay https://essayservicehelp.com

# writing a good college application essay k57psa 2023/03/11 7:01 Gregorysaipt


You definitely made the point!
case study writing service https://hireawriterforanessay.com reliable essay writing service https://essaytyperhelp.com

# college essay scholarships v970ks 2023/03/12 22:24 EugeneSib


Amazing content. Appreciate it.
website writes essays for you https://phdthesisdissertation.com essay title help https://phdthesisdissertation.com

# college essay diversity g49cuo 2023/03/13 2:25 Gregorysaipt


Incredible lots of awesome knowledge.
example dissertation https://helpwithdissertationwriting.com can i hire someone to write my essay https://essayservicehelp.com

# writing dissertation methodology p81cxt 2023/03/13 13:00 EugeneSib


You made the point.
law essay writers https://service-essay.com writing thesis https://essaywritinghelperonline.com

# write essays for me e84ipw 2023/04/02 17:25 EugeneSib


Thanks a lot! Plenty of knowledge!
custom writing service https://payforanessaysonline.com essay writing skill https://custompaperwritersservices.com

# re: 板挟み 2023/04/25 14:30 먹튀패스 먹튀검증업체

derstand. It seems too complex and very broad for me. I’m looking forward for your next post, I’ll try to get the hang of it!

# 승인전화없는토토사이트 2023/04/25 14:40 https://todongsan.com/nocalltoto/

https://todongsan.com/nocalltoto/ Hello there! This blog post couldn’t be written much better!

# re: 板挟み 2023/04/25 14:48 토토지존검증사이트

I have to express some appreciation to the writer just for rescuing me from such a crisis. You are doing a powerful job.

# re: 板挟み 2023/04/25 14:52 토토안전나라

Needed to. I am sure there are a lot more pleasu

# 먹튀검증 2023/04/25 15:15 https://totoblogs.com/

???? https://totoblogs.com/ Hello,

# 안전놀이터목록 2023/04/25 15:37 https://politicadeverdade.com/anjeonmoum/

??????? https://politicadeverdade.com/anjeonmoum/ This is the first time that I am hearing about the term delegation courses.

# 승인전화없는 토토꽁머니 2023/04/25 16:02 https://shopthehotdeals.com/nocalljoin/

?????? ????? https://shopthehotdeals.com/nocalljoin/ Howdy!

# 토토핫 2023/04/25 17:56 https://dmx-official.com/totohot/

??? https://dmx-official.com/totohot/ When I initially commented I appear to have clicked on the -

# 안저놀이터순위 2023/04/25 18:24 https://hugo-dixon.com/spg-ranking/

??????? https://hugo-dixon.com/spg-ranking/ Hello there,

# re: 板挟み 2023/04/25 19:31 토토사이트먹튀

I really impressed after read this because of some quality work and informative thoughts. I just wanna say thanks to the writer and wish you all the best for coming!. We at Unique Submission.

# The plugins developed for WordPress 2023/05/09 23:15 Justas

The plugins developed for WordPress serve to enhance the features and functions of a WordPress website, allowing you to build your awesome and functional site https://t.me/wpigaming/648 Customise WordPress with powerful, professional and intuitive fields.

# The plugins developed for WordPress 2023/05/09 23:16 Justas

The plugins developed for WordPress serve to enhance the features and functions of a WordPress website, allowing you to build your awesome and functional site https://t.me/wpigaming/648 Customise WordPress with powerful, professional and intuitive fields.

# 야동 2023/06/07 22:30 https://av19.org/

?? https://av19.org/

# dafaf 2023/09/05 19:13 레고도메인

https://www.xn--299ao5s3thuvh89ka.com/ This is a magnificent article, Given such an exceptional measure of information in it, These kind of articles keeps the clients fervor for the site, and continue sharing more ... positive conditions

# взять займ карту без кредитной истории 2023/10/27 12:42 займы онлайн на карту круглосуточно

Cntbank.ru ? это ваш надежный партнер в мире финансов. С нашей помощью онлайн займ на карту становится простым и понятным процессом. Быстрое решение, минимальные проценты и отсутствие скрытых платежей ? вот что делает нас лучшим выбором.

# how to write a personal statement essay l14vht 2023/11/04 15:13 essay service


I used to be able to find good advice from your articles.

# купить баллы нмо врачу 2023/11/09 2:32 Mapsedaeremo

С maps-edu.ru каждый медработник может эффективно подготовиться к аккредитации и квалификационным экзаменам. Начните обучение сегодня и будьте впереди профессиональных трендов!

# Мир-Займов.РФ: финансовая свобода в несколько шагов 2023/11/19 13:24 Займы онлайн

Наши партнеры готовы помочь вам, когда вам это действительно нужно. Мы предоставляем список МФО на МИР-ЗАЙМОВ.РФ, где можно получить круглосуточные займы. Не стоит откладывать решение финансовых проблем на завтра ? получите необходимые средства прямо сейчас!

# havu 1win прогноз p23liv 2023/11/30 2:12 Allegramus


You made your position pretty clearly!!
1win проверяем слоты и бонусы 1win https://1winregistracija.online/ 1win как пополнить счет

# LabCorp's drug tests aid in fostering a safe and efficient work environment. LabCorp's drug tests aid in fostering a safe and efficient work environment. LabCorp's drug tests aid in fostering a safe and efficient work environment. 2023/12/03 14:15 LabCorp's drug tests aid in fostering a safe and e

LabCorp's drug tests aid in fostering a safe and efficient work environment.
LabCorp's drug tests aid in fostering a safe and efficient work environment.
LabCorp's drug tests aid in fostering a safe and efficient work
environment.

# бк 1xbet k63feh 2023/12/07 23:54 Tarynnamene


Thanks a lot, Helpful stuff!

# как потратить бонусы на спорт в 1win h64svo 2023/12/19 13:16 Mavisdrigh

You expressed this adequately.
1win казино рулетка https://1winkazino.milesnice.com/ 1win og

# бк 1вин на спорт и для 1win 2023 1win 1вин f72res 2023/12/19 17:29 BaoNic


Really a lot of great info!
1win official website https://1winoficialnyj.milesnice.com/ 1win кейсы скачать

# бонусы 1win v17gzg 2023/12/20 1:52 AmethystOrels


Nicely put. Regards!
1win зеркало скачать online https://1winvhod.milesnice.com/ 1win telegram

# 1win вывод k77mgv 2023/12/20 14:39 FinianPaush


Lovely information. Many thanks!
сколько ждать вывод с 1win https://zerkalo1win.milesnice.com/ бк ставки на и промокод для 1win 1win зеркало промокод

# промокоды 1xbet l770wz 2023/12/21 11:10 ZadaDwene


Reliable material. Many thanks!
1xbet официальный сайт скачать приложение на андроид https://1xbetoficialnyj.milesnice.com/ 1xbet слоты скачать

# 1xbet пополнение счета e79zxs 2023/12/21 15:09 RoryEpita


Many thanks, Valuable information.
1xbet mobil https://1xbetregistracija.milesnice.com/ 1xbet автоматы официальный сайт скачать

# 1xbet apk download d36xvw 2023/12/21 19:20 Alexarew


Cheers! Wonderful stuff.
what does sell mean in 1xbet https://1xbetvhod.milesnice.com/ скачать 1xbet новая версия

# 1xbet зеркало рабочее скачать приложение u26myb 2023/12/22 3:33 ClevaAbsed


Thanks a lot! A good amount of postings.
1xbet зеркало рабочее на сегодня скачать https://1xbetzerkalo.milesnice.com/ все еще лучшая бк в 2024 1xbet выигрыши обзор

# как в 1win использовать бонусы c590ge 2023/12/22 5:58 RosLoath


Thanks a lot! I enjoy this.
lucky jet big win lucky jet winning tricks lucky jet 1win https://1winoficialnyj.milesnice.com/ 1win официальный сайт регистрация

# bc game today a39kqd 2023/12/22 18:56 Alaquadip

You actually suggested that effectively!
bc game redeem code https://bcgamebonus.milesnice.com/ nd bc game

# 1win букмекерская контора p885td 2023/12/22 20:38 SharifahNex


Regards, An abundance of tips!
1win скачать https://1win-vhod.milesnice.com/ 1win ваучер на деньги

# what is jb in bc game p62fbt 2023/12/23 2:47 Shantesee


Good stuff. Cheers.
bc bandana game https://bcgamelogin.milesnice.com/ bu bc hockey game tickets

# 1win официальный сайт зеркало букмекерской конторы q85fjs 2023/12/23 6:39 CloeTix

You stated this terrifically.
1win кейсы https://zerkalo1win.milesnice.com/ 1win bet

# букмекерская контора 1win r44lpv 2023/12/23 11:32 HamletLah


Awesome write ups. With thanks!
1win скачать на андроид последняя версия https://zerkalo-1win.milesnice.com/ havu 1win прогноз

# Откройте мир с инновационными блендерами Hurom от "Все Соки"! 2024/01/21 14:19 HenryLIt

Перейдя на здоровое питание, я понял, как важно иметь хорошую соковыжималку для твердых овощей. Благодарю 'Все соки' за их великолепную продукцию. Теперь я наслаждаюсь свежевыжатыми соками каждый день. https://h-100.ru/collection/sokovyzhimalki-dlja-ovoshhej-fruktov - Соковыжималка для твердых овощей стала моим лучшим помощником!

# re: 板挟み 2024/02/11 14:58 sadsa

That is the excellent mindset, nonetheless is just not help to make every sence whatsoever preaching about that mather. Virtually any method many thanks in addition to i had endeavor to promote your own article in to delicius nevertheless it is apparently a dilemma using your information sites can you please recheck the idea. thanks once more

# visite site r38mob 2024/02/23 12:09 DeborahMeemy


Amazing all kinds of helpful tips.
recommended reading https://shallbd.com/id/memahami-biaya-rata-rata-bergerak-perpetual-dalam-manajemen-persediaan/
at bing https://shallbd.com/ko/dalreo-dae-peso-hwanyuleun-sangseung-ddoneun-harag-jungingayo/

# visit website v322ew 2024/02/24 5:53 DeborahMeemy

You actually revealed this terrifically.
hop over to this site https://shallbd.com/ko/moteulri-pul-obsyeoneun-geumanhan-gaciga-issnayo-jonghabjeogin-geomto-mic-bunseog/
pop over to this web-site https://shallbd.com/tr/ters-cekicten-sonra-ne-olur-piyasadaki-sonraki-hareketleri-kesfedin/

# have a peek at this site a529qy 2024/02/24 12:29 DeborahMeemy


Thanks a lot. I enjoy this.
top article https://shallbd.com/pt/guia-para-cobertura-de-opcoes-de-cambio-processo-e-estrategias-passo-a-passo/
learn this here now https://shallbd.com/the-definitive-guide-to-the-best-greek-for-options-trading/

# this contact form i440km 2024/02/25 20:59 DeborahMeemy


Truly tons of valuable data!
reference https://shallbd.com/understanding-the-basics-of-ema-a-simplified-guide-for-beginners/
more tips here https://shallbd.com/discover-the-most-effective-breakout-strategy-for-maximum-profits/

# such a good point s87mqc 2024/03/18 9:18 DeborahMeemy


With thanks, Very good stuff!
see this website https://shallbd.com/id/tempat-menemukan-opsi-luar-biasa-untuk-setiap-kesempatan/
click here to find out more https://shallbd.com/id/memahami-arti-pivot-definisi-dan-penggunaan/

# why not find out more i46rqm 2024/03/19 11:41 DeborahMeemy


You said it adequately..
this guy https://shallbd.com/learn-how-to-withdraw-your-1000-bonus-from-instaforex-effortlessly/
more https://shallbd.com/understanding-the-economic-calendar-in-forex-everything-you-need-to-know/

# have a peek at these guys z113pv 2024/03/20 4:04 DeborahMeemy


You definitely made your point!
secret info https://shallbd.com/tr/gbp-nzd-paritesi-yukselecek-mi-uzman-analizi-ve-tahminleri/
discover this info here https://shallbd.com/es/las-mejores-horas-para-operar-con-oro-maximizar-la-rentabilidad/

# in the know x828je 2024/03/20 10:19 DeborahMeemy


Fantastic material. Many thanks.
click over here https://shallbd.com/id/contoh-perdagangan-otc-memahami-dasar-dasar-perdagangan-over-the-counter/
why not try this out https://shallbd.com/id/apa-yang-membuat-penilaian-psa-begitu-mahal-ketahui-faktor-faktor-di-balik-mahalnya-biaya-tersebut/

# best site h958ij 2024/03/20 19:49 DeborahMeemy


You said it adequately..
more bonuses https://shallbd.com/zh/fa-xian-wai-hui-mian-cun-kuan-hong-li-mian-fei-jiao-yi-ji-hui-zhi-nan/
click here https://shallbd.com/tr/sulandirmayi-anlamak-hisse-senedi-opsiyonlari-nasil-calisir/

# inquiry t291gw 2024/03/20 23:04 DeborahMeemy


Fantastic write ups. Appreciate it!
from this source https://shallbd.com/es/mejores-indicadores-noticias-de-mercados/
advice https://shallbd.com/pt/entendendo-a-negociacao-de-z-score-o-que-voce-precisa-saber/

# discover here i20qtd 2024/03/21 2:17 DeborahMeemy


Wow quite a lot of fantastic tips!
here are the findings https://shallbd.com/ko/jusig-sijang-bunseogyi-ihae-mirae-juga-yeceug/
read this https://shallbd.com/ko/oehwan-teureidingeseo-cuseneun-eolmana-orae-jisogdoenayo/

# this post s45mnc 2024/03/21 11:52 DeborahMeemy


Good tips. Cheers!
browse around these guys https://shallbd.com/is-the-200-day-moving-average-a-reliable-indicator/
see https://shallbd.com/pt/entendendo-os-cruzamentos-no-forex-e-como-eles-afetam-o-comercio-de-moedas/

# full article w77qkh 2024/03/22 16:19 DeborahMeemy


Superb postings. Cheers.
source https://shallbd.com/id/tips-efektif-untuk-membuat-naskah-panggilan-penjualan-yang-menang/
try these guys out https://shallbd.com/id/1-gbp-ke-1-sek-nilai-tukar-dan-konversi/

# view w683lt 2024/03/22 19:17 DeborahMeemy

You mentioned that superbly!
discover this info here https://shallbd.com/tr/cevrimici-ticaret-surecini-anlamak-icin-eksiksiz-kilavuz/
my review here https://shallbd.com/pt/5-dicas-para-maximizar-o-lucro-nas-negociacoes-e-aumentar-seus-retornos/

# click this link now z50elo 2024/03/23 22:50 DeborahMeemy


Many thanks! Terrific information!
official site https://shallbd.com/understanding-the-difference-between-xau-and-gold-explained/
her comment is here https://shallbd.com/ko/gugje-muyeogyi-waegoge-daehan-ihae-weonin-yeonghyang-mic-haegyeol-bangbeob/

# next m352ud 2024/03/24 1:50 DeborahMeemy


Useful material. With thanks!
see it here https://shallbd.com/tr/hindistan-daki-en-uygun-fiyatli-doviz-bozdurma-seceneklerini-bulun/
next https://shallbd.com/es/como-invertir-el-rsi-consejos-y-estrategias/

# additional info a30xtj 2024/03/24 14:13 DeborahMeemy

You mentioned it fantastically!
view siteaв?¦ https://shallbd.com/id/memahami-hubungan-antara-dividen-dan-opsi-saham/
check my reference https://shallbd.com/zh/xue-xi-ru-he-shi-yong-quan-zheng-jiao-yi-bing-shi-xian-li-run-zui-da-hua/

# this g39tpb 2024/03/24 17:15 DeborahMeemy


Superb posts. Appreciate it.
get more https://shallbd.com/pt/o-security-bank-e-o-mesmo-que-security-bank-and-trust-company/
published here https://shallbd.com/es/noticias-forex-mercados/

# more info here i64jgm 2024/03/24 20:12 DeborahMeemy


Lovely posts. With thanks!
hop over to here https://shallbd.com/pt/entendendo-a-mecanica-das-opcoes-de-acoes-da-microsoft-um-guia-abrangente/
my company https://shallbd.com/id/memahami-rata-rata-pergerakan-100-hari-nasdaq-dan-bagaimana-hal-ini-dapat-berdampak-pada-investasi-anda/

# listen to this podcast x10hit 2024/03/24 23:12 DeborahMeemy


Thanks, Very good stuff!
more about the author https://shallbd.com/es/puedo-utilizar-pocket-option-en-filipinas-mas-informacion-sobre-el-comercio-de-opciones-en-filipinas-medium/
continue reading this https://shallbd.com/zh/liao-jie-mei-guo-yun-tong-xin-yong-qia-de-wai-hui-jiao-yi-fei-yong/

# full article d67upj 2024/03/25 2:14 DeborahMeemy

You actually stated it adequately!
how you can help https://shallbd.com/pt/entendendo-a-mecanica-dos-planos-de-opcao-de-compra-de-acoes-um-guia-abrangente/
get redirected here https://shallbd.com/tr/para-disi-otm-opsiyonlarin-olasiligini-anlamak/

# other c50sze 2024/03/25 5:27 DeborahMeemy


You made your stand pretty well!.
click now https://shallbd.com/pt/entendendo-o-volume-na-negociacao-binaria-um-guia-detalhado/
try this web-site https://shallbd.com/ko/malreisiaeseo-muyeogeun-habbeobingayo-alaya-hal-modeun-geos/

# recommended site y88isw 2024/03/25 11:28 DeborahMeemy

You actually mentioned that effectively.
hop over to here https://shallbd.com/zh/ao-da-li-ya-wai-hui-jiao-yi-shi-duan-shi-shi-yao-shi-hou-liao-jie-zui-jia-jiao-yi-shi-jian/
visit this web-site https://shallbd.com/id/dapatkah-anda-berinvestasi-dalam-saham-wwe-panduan-komprehensif/

# recommended you read o71bmv 2024/03/25 17:34 DeborahMeemy


Incredible tons of amazing data.
find out https://shallbd.com/tr/ticaret-icin-13-48-ema-gostergesi-nasil-etkili-bir-sekilde-kullanilir/
click this site https://shallbd.com/pt/explorando-as-diferencas-entre-graficos-de-1-minuto-e-de-5-minutos/

# why not try here b787rz 2024/03/25 21:52 DeborahMeemy


Terrific postings. Appreciate it!
read what he said https://shallbd.com/tr/ticaret-icin-mukemmel-makine-ogrenimi-algoritmasini-secmek-uzman-onerileri/
click to investigate https://shallbd.com/ko/obsyeon-teureideodo-baedanggeumeul-badeul-su-issnayo-obsyeon-georaeeseo-baedanggeumyi-yeonghyang-salpyeobogi/

# try this out y94vts 2024/03/26 7:24 DeborahMeemy


Amazing tons of helpful facts!
this website https://shallbd.com/tr/yasama-sanati-nin-ozeti-doyurucu-bir-yasam-icin-temel-ilkeleri-kesfetmek/
see here https://shallbd.com/the-key-factors-to-success-in-forex-trading/

# click to find out more c997oa 2024/03/26 10:27 DeborahMeemy


Tips well applied!.
you could look here https://shallbd.com/zh/zai-ben-shen-du-zhi-nan-zhong-liao-jie-fen-xi-de-3-ge-ji-ben-bu-zou/
my latest blog post https://shallbd.com/es/puede-operar-en-forex-con-bitcoin-y-ganar-dinero-averiguelo-aqui/

# pop over to this site x69ntm 2024/03/27 17:26 DeborahMeemy


Wonderful material. Thanks a lot!
click here for more https://shallbd.com/ko/tuja-jeonryage-bul-seupeuredeureul-goryeohaeya-haneun-iyu/
pop over to this website https://shallbd.com/zh/liao-jie-er-yuan-qi-quan-de-vega-ta-ru-he-ying-xiang-ding-jie-he-bo-dong-lu/

# lowest price f56kuf 2024/03/28 13:35 DeborahMeemy


Thanks! Loads of posts!
sneak a peek at this website https://shallbd.com/tr/euro-doviz-bozdurmak-icin-en-iyi-yerler/
my response https://shallbd.com/ko/seukaelpingeun-geumanhan-gaciga-isseulggayo-seukaelping-teureidingyi-jangdanjeom-alabogi/

# see here now y56luw 2024/03/29 13:13 DeborahMeemy


Regards! Good stuff.
url https://shallbd.com/es/pasos-para-recuperar-los-fondos-perdidos-en-el-comercio-de-opciones-binarias/
look at this https://shallbd.com/what-is-a-good-exchange-rate-for-cad-to-gbp/

# visit site e40xxj 2024/03/30 14:08 DeborahMeemy


Cheers, Lots of data!
get redirected here https://shallbd.com/pt/descubra-os-principais-indicadores-de-momentum-para-negociacao-em-forex/
view it now https://shallbd.com/reasons-behind-warriors-trade-of-poole-exploring-the-decision/

# helpful site p72waf 2024/03/30 19:47 DeborahMeemy


Many thanks! Great information.
company website https://shallbd.com/zh/xin-feng-fa-you-xiao-ma-li-bi-jie-xi/
like this https://shallbd.com/es/entender-el-canon-de-refinanciacion-a-un-dia-guia-completa/

# click here to find out more h706xx 2024/03/31 1:35 DeborahMeemy

You actually said it fantastically.
visit the site https://shallbd.com/zh/ru-he-ji-suan-dji-liao-jie-dji-de-ji-suan-fang-fa/
see this page https://shallbd.com/will-usd-grow-stronger-factors-influencing-the-future-of-the-us-dollar/

# more help q67yiw 2024/03/31 19:55 DeborahMeemy


Amazing a good deal of valuable tips!
get more info https://shallbd.com/pt/revolut-x-wise-qual-e-a-melhor-opcao/
look at this now https://shallbd.com/id/kelemahan-esop-menjelajahi-sisi-negatif-rencana-kepemilikan-saham-karyawan/

# you can find out more z35wng 2024/04/01 14:18 DeborahMeemy

You actually expressed this terrifically!
click here to read https://shallbd.com/pt/como-obter-dados-de-backtesting-um-guia-passo-a-passo/
here https://shallbd.com/zh/zhang-wo-ema-cai-dai-jiao-yi-ce-lue-wan-quan-zhi-nan/

タイトル
名前
URL
コメント