|
TOP > ETロボコン2011概要|競技規約
競技規約ETソフトウェアデザインロボットコンテスト競技規約ETソフトウェアデザインロボットコンテスト2011競技規約 1.2.0版
1.2.0版
ETロボコン2011技術委員会 ETソフトウェアデザインロボットコンテスト2011(以下、ETロボコン2011)では、ショート競技を行います。ショート競技は、黒線で描かれたレーンをリアルタイムで検出しながら自律走行するライントラッキングレースです。トラックには、レーンが2本引かれます(アウトコースとインコース)。2回の走行(1回はアウトコース、もう1回はインコース)を行い、両者のタイムの合計で競います。 ETロボコン2011では、LEGO Mindstorms NXTを使用した走行体での競技のみ行なわれます。 なお競技会では、競技規約の解釈は審判により最終決定がされます。審判は競技規約の解釈に絶対的権限を持つとともに、競技者への十分な説明を行う責任も負います。
1. 走行体
走行体は、LEGOブロックおよびLEGO Mindstorms NXTを利用し、別途提示する組み立て手順どおりに組み立てられたもののみ使用可能とし、競技者自身が用意するものとします。図 1は走行体を規定どおりに組み立てた場合の概観です。センサやモータとNXT間の配線は調整可能です。LEGOブロックが経年劣化などで、ブロックの凸部と凹部の接合が弱くなってきた場合は接合部に接着剤や輪ゴムなどで補強することができます。
1.1. 走行体への装飾
走行体に、装飾を目的とした若干の部品の追加は可能とします。例えば、LEGOのミニフィグ(人形)をドライバーとして載せる、旗を立てるなどです。ただし、走行性能や機体の大きさが著しく変化する部品の追加は禁止します。 1.2. 禁止される行為 競技の公平性を保つため、次に示す改造等の行為は禁止します。 ■バンパー部、尻尾部への装飾 ■コースを汚す可能性のある行為(グリスアップなど) ■LEGOのパーツ、ブロックを加工(NXT、モータ、センサの分解・改造を含む)する行為 ■インコース競技者の超音波センサと本体の接続 ■走行体に宣伝めいた内容の装飾を施す行為 ■参加資格が「個人」のチームが、所属団体名(略称含む)など所属公開と同等の内容の装飾を施す行為 2. ソフトウェア
2.1. 競技で使用するソフトウェア
競技で使用するソフトウェアは、走行体単独、または走行体+Bluetooth通信機器で構成することが可能です。いずれの場合も別途提出するモデルに対応していることが必須です。 2.2. 開発環境・ツール 参加者が使用する開発ツールは、市販されているもの、参加者が独自に作成したもの等、制限はありません。 2.3.走行体ソフトウェア 2.3.1. 基本プラットフォーム 本部技術委員会では、走行体用ソフトウェアの標準ライブラリとしてnxtOSEK(バージョン2.15)を提供します。nxtOSEKのバージョンは2.15に限らず、2.15以上のものも使用することができます。走行体の制御にはnxtOSEKに含まれるコンパイル済みのライブラリlibecrobot.aを利用してください。同様に倒立振子制御は、nxtOSEKに含まれるlibnxtway_gs_balancer.aを利用してください。 本部技術委員会では、次に示す範囲をサポート対象とし、全ての参加者が参照できる場で回答を行います。 ■nxtOSEKのTOPPERS/ATK1(旧称:TOPPERS/OSEK)部分 ■nxtOSEKのハードウェア制御ライブラリ(libecrobot.a) ■nxtOSEKの二輪倒立振子制御ライブラリ(libnxtway_gs_balancer.a) ■拡張ファームウェアを利用した実行 2.3.2. プラットフォーム新規/改変申請手順 配布されているnxtOSEKのライブラリを再コンパイルしたり、nxtOSEKのOSとしてTOPPERS/ATK1(旧称:TOPPERS/OSEK)以外を利用したりする場合(OSを使用しない場合も含む)は、以下の条件を満たす必要があります。 ■全ての参加者が容易に利用可能であること。 ■参加者全員にその内容や利用手順が公開されていること。 ■競技会前の別途定める期限までに、技術委員会の認定を受けていること。 また実行環境についても、拡張ファームウェア、nxtOSEKに含まれるNXT BIOSや拡張ファームウェア以外を利用する場合も前述の条件を満たす必要があります。図 2に申請が必要な範囲を示します。
また、別表以外のプラットフォーム、基本開発環境を使用する場合や基本プラットフォームの改変を行いたいチームは、以下の手順で申請を行ってください。 1. 希望者は、全体参加者MLに申請メールを出す。 ※申請メールには、以下の内容を記載する必要があります。 ファイルサイズ等の問題でメール添付が難しい場合は、Web等での情報公開でもかまいません。 ・申請の目的、効果 ・改変・新規のプラットフォーム・基本開発環境の内容 ・改変・新規のプラットフォーム・基本開発環境の技術資料 使用方法・API等の説明、サンプルプログラムの提供 ※技術委員会が作成/公開している技術資料と同等の内容で提供してください。 2. 本部技術委員会は申請内容を確認し、認定の可否を前述の条件に従って判断する。 3. 本部技術委員会は、判断結果を全体参加者MLに通知する。 ※認定可となったものについては、申請者だけでなく、全参加者が利用可能です。 3. 通信
本競技では、「ETロボコン競技規約(Bluetooth通信)」で別途定められている“Bluetooth通信機器”と走行体のBluetooth通信を認めます。詳細については「ETロボコン競技規約(Bluetooth通信)」を参照してください。
4. 競技フィールド
競技フィールドは、セーレン社(http://www.seiren.com/)の「Viscotecs」と呼ばれる技術で作成された布地となります。全体の大きさは、5460mm×3640mmで、同じ大きさの土台の上に敷かれます。土台の上に布を設置するという設計の都合上、コースの一部にしわが発生することもあります。このしわについては、審判が競技実施に耐えられない状態になったと判断した場合、しわを除去する作業を行います。
競技フィールドには、白い下地の上に黒い線が描かれています。この黒い線をレーンと呼びます。各色は印刷原稿で、白地部分が#FFFFFF(24bit RGB値)、黒い線は#000000(24bit RGB値)です。レーンはアウト、イン2本引いてあり、それぞれアウトコース、インコースと呼びます。アウトコース・インコース相互の交差はありません。レーンの幅は20mmで、アウトコースとインコースの最小間隔は230mmです。
競技フィールドは、ベーシック・ステージとボーナス・ステージで構成されています。ベーシック・ステージはライントレースの時間を競います。ボーナス・ステージには難所と呼ばれる部分が設定され、制限時間内に難所を通過することでボーナスタイムを得ることができます。 4.1. コース共通仕様 4.1.1. マーカー 競技フィールド上のレーンの各所に「マーカー」と呼ばれる灰色のポイントが設置されます。色は印刷原稿で#888888(24bit RGB値)です。 4.1.2. 装飾 競技フィールドの緑色の箇所には、大会実行委員会による模様、造形物の設置などの装飾が施されます。これらの装飾の位置や大きさなどは、競技会当日の実装に依存します 4.1.3. ゲート 競技フィールド上には、走行体の通過判定を行うゲートが、図 3の赤い丸印の位置に設置されます。各ゲートは対となる丸印を繋いだ直線上を規定方向で走行体の全体が越えた時点で、そのゲートを通過したと見なします。各ゲートの規定通過方向は、図 4に示す青矢印の向きになります。
4.2. ベーシック・ステージ ベーシック・ステージでは、スタートから図 4にある①〜③の3箇所のゲートを順番に通過して、ゴールまでの走行タイムを計測します。 4.2.1. スタート位置 図 3からスタート位置を拡大し図 5に示します。図 5に示す「←OUT COURSE」/「←IN COURSE」と書かれたラインが、アウトコース/インコースのスタート位置です。走行体の設置は、スタート位置から矢印(←)の向きより後方あれば任意の場所とします
4.2.2. 坂道 スタート位置から最初のカーブまでの区間に凸形の勾配を設け、これを「坂道」と呼びます。上り勾配は約10%、下り勾配は約5%です。
4.2.3. ゴール位置 ゴール位置は、図 3の下側中央にある赤い丸印を繋げたライン上となります。図 7は図 3 フィールドの全体図からゴール位置を拡大したものです。ゴールに限り、走行体の一部がゲートを越えることで、ゲートを通過したと見なします。
4.3. ボーナス・ステージ ボーナス・ステージには、アウトコース、インコースにそれぞれ難所が設置されます。競技制限時間内に難所をクリアすることで、ボーナスタイムが付与されます。 4.3.1. ルックアップゲート (アウトコース難所) 「ルックアップゲート」は、ベーシック・ステージのアウトコースゴール後の図 8の黄色の破線で囲んだ赤丸の位置に、図 9に示す形状のゲートがあります。
4.3.2. ET相撲(アウトコース難所) 図 3の右下側には参加チームに配布されるサンプルコースと同じ形状のエリアがあります。図 10はそれを拡大したものです。このエリア内のグレーの箇所に置かれたペットボトルをエリア外(図 10のピンク色斜線部、およびその外側)に押し出す、またはペットボトルを倒します。 ET相撲で使用するペットボトルは1本で、コンビニエンスストア等で売っている底の形状が円形の1.5リットルサイズ程度の大きさです。ペットボトルの製品ラベルは全て剥がし、中味が空の状態とします。また転倒した場合に転がることが極力少なくなるような対策を施しています。 ペットボトルを置く場所は、インコース競技者が決定します。この時ペットボトルを倒した状態で置くことは、認められません。
4.3.3. シーソー(インコース難所) 図 11は図 3の中央上部を拡大したもので、斜線に示した位置に「シーソー」の土台が置かれます。
各パーツに使用している材料の詳細は、表 2のとおりです。
4.3.4. 階段(インコース難所) 図 14は図 3の中央部を拡大したもので、斜線部の位置に「階段」が置かれます。赤い丸印で繋がれた線がゲートを指します。
「階段」の形状は図 15に示すとおりで、規定方向は1段ずつ上り2段分を一気に下ります。使用している材料は「シーソー」と同じで、厚さ14mmの木製合板を使用し、走路面の仕上げも「シーソー」と同様です。
4.3.5. ガレージイン(アウトコース、インコース共通難所) 図 17は図 3の右上部を拡大したもので、斜線で示すエリア内に走行体の尻尾を降ろした状態で完全停止することができた場合に、ガレージインしたもの見なします。なおエリアを示す黒線枠上には、高さ50mm程度の壁があります。
5. 競技会
5.1. 出走順
出走順序はETロボコン実行委員会にて決定します。出走順は、競技会前日までにETロボコン実行委員会より参加者にアナウンスされます。 5.2. 試走 競技会当日、各チームが本番のコースコンディション確認/調整を行う目的で、会場のコースを使用する時間を設けます。試走は、車検前に行います。試走時間内は、電池・ソフトウェアの入れ替えは自由に行えます。 5.3. 車検 試走後、レース本番までの間に行われ、この車検を通過しないチームはレース本番に出場することができません。車検では、走行体が規定どおり組み立てられているかが検査されます。規定に沿わないと判定された場合は、車検時間内に走行体を改修し、再度車検を受けることができます。 車検を通過したチームには、レース本番で使用する電池を支給します。支給された電池以外の電池をレース本番に使用することはできません。この電池を審判立合いのもと走行体にセットし、審判が走行体に封印を行います(封印シールを貼ります)。この封印はレース本番終了まで解くことはできません。封印後に、走行体異常などで電池の抜き挿しを行う必要がある場合は、審判立合いのもとでのみ、封印を解くことができます。ただし、電池の交換は認められません。 また車検を通過した走行体には、左右のモータ上部にゼッケン番号シールを貼ります。 5.4. 走行体ソフトウェアの転送 走行体へのソフトウェアの転送は、車検後であってもレース運営に支障を及ぼさない範囲で、任意のタイミングで行うことができます。アウトコースとインコースで異なるソフトウェアをダウンロードすることも認められています。 5.5. 競技 各チームがアウトコースとインコースに1回ずつチャレンジします。1つの競技はアウトコース、インコースを2チームが並走します。競技者によるBluetooth通信機器の設置/キャリブレーションに始まり、走行終了後競技者が走行結果を確認することで終了します。 競技結果は、アウトコースとインコースの「リザルトタイム」の合計とします。「リザルトタイム」は、「走行タイム」から「ボーナスタイム」を減算したものです。「走行タイム」、「ボーナスタイム」、「リザルトタイム」の詳細は、6タイムを参照してください。 競技結果の「リザルトタイム」が短い方を優位と判定します。競技結果の上位3位までの競技者で同一タイムになった場合は、以下の順で順位を決定します。 (1) ベーシック・ステージの走行タイムが短い方を上位とする。 (2) ボーナス・ステージでボーナスタイムの大きい難所をクリアした方を上位とする。 (3) 抽選により上位を決定する。 5.6. 競技開始シーケンス 競技中は、チームの代表1名だけが走行体およびBluetooth通信機器の操作を行うことができます。前の競技が終了するまでに走行体へのソフトウェアのダウンロード、Bluetooth通信機器の立ち上げ/必要なソフトウェアの起動/走行体とのペアリングなど必要な準備を終らせておいてください。 前の競技が終了した時点から、Bluetooth通信機器の設置/最終的なキャリブレーションを行う時間を1分程度設けます。Bluetooth通信機器の設置は、単に指定された場所に置くのみです。キャリブレーションは最終的な調整のみで、ソフトウェアの書き換えは行えません。キャリブレーションの終了は、アウトコース・インコースの両チームがキャリブレーションを終えるか、審判からキャリブレーション終了の指示があるまでです。 キャリブレーションが終了したら走行体をスタート位置に設置します。設置の際、走行体の一部が自コースのレーン上にあるようにし、走行体の尻尾を下ろした完全停止状態とします(走行体を手などで支えることは不可です)。走行体の設置が終了したら、審判からの合図を待ちます。合図を待っている間、競技者は走行体、およびBluetooth通信機器への操作を行うことはできません。アウトコース・インコースの両チームの準備が整った時点で審判は競技開始の合図を出します。 審判から「Go」の合図で競技が開始されます。この合図で走行体に競技開始を指令してください。走行体への競技開始の指令は、走行体への直接指令(タッチセンサ押下など)、またはBluetooth通信機器からの指令とします。走行体へ競技開始の指令を行って動作が開始したら、走行体およびBluetooth通信機器の操作を行うことはできません。
表 2 競技開始までの手順
5.7. ベーシック・ステージ スタート後、ベーシック・ステージを走行します。ベーシック・ステージでは、スタート後ゴールするまでの走行タイムが計測されます。ゴールは、ベーシック・ステージ上の各ゲートを規定方向から通過した後、ゴールゲートを規定方向から通過すればゴールしたものと見なされます。したがって、走行体は必ずしもレーンに沿って走る必要はありません。走路妨害など失格要件に抵触しない範囲でレーンの外などを走り、前記条件を満たせば、完走とします。 5.8. ボーナス・ステージ ベーシック・ステージの完走後、ボーナス・ステージにチャレンジすることができます。ボーナス・ステージでは、難所をクリアすることにより、ボーナスタイムを獲得することができます。 ボーナス・ステージの終了要件は、後述するガレージインをクリアしたとき、またはガレージインの壁に接触したとき、および「5.10リタイア/ボーナス・ステージ終了」に示す内容に該当するときです。 5.9. 競技終了シーケンス アウトコース、インコースの両競技者が走行を終了したら、審判は競技者に競技結果の確認を求めます。競技者が競技結果に疑問・不服等ある場合は、この時に審判に申し立てることができます。審判は申し立ての内容を吟味し、適切に対応します。 最終的にアウトコース、インコースの両競技者が競技結果について了解の意思表示を行ったら、競技終了となります。なお競技者が了解の意思表示を行ったら、この競技結果が最終結果となります。たとえ競技時の映像、音声などが残っていても、競技終了後に最終結果が変更されることはありません。 5.10. リタイア/ボーナス・ステージ終了 レース本番において以下の内容に該当する場合、ベーシック・ステージではリタイア、ボーナス・ステージでは走行終了となります。リタイア/ボーナス・ステージ終了となった場合は、再レース等の措置は適用されません。 ■スタート後、走行体が停止し再走行の見込みが無い場合。 ■走行体のタイヤ、および尻尾以外が競技フィールドに接地するなど転倒した場合。 ■走行体が競技フィールド上の装飾物、ゲート等に接触し、走行が不可能となった場合。 ■走行体が競技フィールドから転落した場合。 ■スタート後、競技制限時間(2分)が過ぎたとき。 ■競技者がリタイア(ベーシック・ステージの場合)/競技終了(ボーナス・ステージの場合)を宣言したとき(競技者自身が走行体を回収した場合も含む)。 5.11. 失格 レース本番において以下の内容に該当する場合、ベーシック・ステージ、ボーナス・ステージのどちらの場合も失格となります。失格となった場合、走行体は審判により回収されます。失格となった場合、再レース等の措置は適用されません。 ■レース開始時点で走行体の準備が完了していない場合。 ■車検において施された封印が解かれている場合。または、その痕跡がある場合。 ■インコース競技者が超音波センサと本体を接続している場合。 ■スタート後、競技者が走行体およびBluetooth通信機器へエネルギー、力、情報などを与えた場合。 ただし以下の場合は除きます。 →スタートの「Go!」の合図後、走行体が完全停止状態にある間に行う走行体およびBluetooth通信機器の操作。 →走行体とBluetooth通信機器間の通信。 ■走行体が他レーンを走行中の走行体に対して走路妨害の可能性がある場合。 ■走行体が他レーンの走行体の走路妨害を行った場合(走行体が接触したとき)。 →この場合、走路妨害を受けた側は、再レース等の対応が検討されます。 →ゴール後であっても走行体が相手走行体に接触した場合は失格となります。 →競技者はゴール後であれば任意のタイミングで走行体を回収することができます。 ■ET相撲でアウトコース走行体が押し出したペットボトルが、インコース走行体の走路妨害を行った場合(ペットボトルがインコースの白地エリアに入ったとき)。 →この場合、ペットボトルおよびアウトコース走行体は、審判が速やかに回収します。 →万一、インコース走行体がペットボトルに接触した場合、インコース競技者には再レースが検討されます。 ■コースを破損・汚濁する行為を行った場合。 ■「ETロボコン競技規約(Bluetooth通信)」で定められる失格に該当する場合。 ■その他、審判が失格と判断する場合。 なお、走行体が競技フィールド上に設置される装飾、ゲート等に接触したのみでは、リタイア/失格となりません。接触しても走行を継続できた場合は、その走行は有効です。 5.12. 再レース 再レースは、他レーンの走行体から走路を妨害された場合など、審判が認めた場合に行われます。 5.11. ダミーカー 他レーンの走行体がいない場合(参加チームが奇数となった場合、チームが棄権した場合など)は、実行委員会の用意するダミーカーが走行します。ダミーカーは通常の走行体と同等に扱うため、再レース中の走行体がダミーカーの走行を妨害などした場合は失格となります。 なお相手チーム失格による再レースの場合は、ダミーカーの走行は行いません。 6. タイム
6.1. 競技タイム(リザルトタイム、走行タイム、ボーナスタイム)
競技タイムは、ベーシック・ステージの「走行タイム」とボーナス・ステージで得られた「ボーナスタイム」、から算出されます。走行タイムは、レーススタート後、ベーシック・ステージを完走したときの計測時間です。タイム計測精度は、1/10秒です(1/100秒以下は切り捨て)。計時作業は訓練を積んだオペレータが担当します。完走できなかった場合(リタイア/失格の場合)の走行タイムは2分00.0秒として計算されます。これを「リタイアタイム」と呼びます。 最終的な競技タイムは、「走行タイム」から「ボーナスタイム」(表 3を参照)を減算した「リザルトタイム」になります。難所通過によるボーナスタイムは、競技者の指定されたコース上にあるものを通過したときのみ与えられます。
表 3 ボーナスタイム一覧
各ボーナスタイムは制限時間内にボーナス・ステージにある難所を通過することで取得することができます。難所にチャレンジせずベーシック・ステージのみ完走した場合は、走行タイムのみがリザルトタイムになります。 ボーナスタイムを全て取得した場合などでは、リザルトタイムが0やマイナスになる可能性がありますが、そのまま結果として利用します。 ボーナスタイムは、表 3をベースに、地区大会、チャンピオンシップ大会にて、それぞれ調整変更される場合があります。 6.2. ルックアップゲート通過のボーナスタイム付与条件 「ルックアップゲート」のゲートを倒さずに規定方向から通過した場合に、ボーナスタイムの付与対象となります。走行体がゲートに接触した場合でも、ゲートを倒さない、かつゲートの土台が移動していない状態でゲートを通過したと見なされる場合は、ボーナスタイムの付与対象となります。 ボーナス付与対象は最初の1回のみです。ゲートを複数回通過しても、2回目以降はボーナスタイムの付与対象となりません。 6.3. ET相撲のボーナスタイム付与条件 「ET相撲」のグレーのエリアにあるペットボトルを規定のエリアに押し出した場合(決り手:押し出し)、またはペットボトルを倒した(決り手:押し倒し)場合にボーナスタイムの付与対象となります。ボーナスタイムは表 4に示すとおり決り手によって異なります。各決り手は、表 5に示す要件を満たす必要があります。
なおボーナス付与は1回1つの決り手のみ有効です。例えば1回ペットボトルを規定エリアに押し出した後に再度エリア内に戻して再度押し出した場合や、ペットボトルを押し倒した後規定エリアへ押し出した場合など、複数の決り手は認められません。 6.4. シーソー通過のボーナスタイム付与条件 図 18に示す動作のように、シーソーの始端から走行し終端が接地したらシーソー通過「シングル」(図 18の2)が認められ、さらに終端接地後シーソーを下りずに始端を接地させてからシーソーを通過した場合は、シーソー通過「ダブル」が認められ、それぞれボーナスタイムの付与対象となります。 走行体がシーソー上で終端接地→始端接地→終端接地の動作は、シーソー「ダブル」までがボーナス付与対象です。これ以上繰り返しても追加のボーナスはありません。
6.5. 階段通過のボーナスタイム付与条件 階段付近に配置されるゲートを進行方向に通過した場合に、ボーナスタイムの付与対象となります。ゲート通過時に走行体がゲートに接触した場合でも、ゲートを通過したと見なされる場合は、ボーナスタイムの付与対象となります。 ボーナス付与対象は最初の1回のみです。複数回通過しても、2回目以降はボーナスタイムの付与対象とはなりません。 6.6. ガレージインのボーナスタイム付与条件 ガレージインは指定されたコースのエリアでのみ認められ、ゴール後1回だけチャレンジができます。 ガレージの壁にタイヤを含む走行体の一部が接触した場合は、ガレージインは認められません。壁に接触したかの判断は、審判により壁の移動が認められたかで行います。 6.7. リタイア時のタイム リタイアとなった場合、走行タイムはリタイアタイムとなります。 6.8. 失格時のタイム 失格と判定された場合のボーナスタイムは全て無効となり、リザルトタイムはリタイアタイムとなります。 7. 補足
7.1. 遮光スカート
ETロボコン2010まで、光センサの測定値を安定化する目的で使用が認められていた遮光スカートは、ETロボコン2011では使用できません。 7.2. フェイルセーフ機能(推奨) 必須ではありませんがフェイルセーフとして、転倒などにより走行体のバランスが取れなくなった場合に、両タイヤの駆動モータを外部からの操作をしないで、2秒以内に停止させる機能を盛り込むことを推奨します。 7.3. ライブラリ改変ルールの意図 ETロボコンでは、「所定のプラットフォーム環境の上で、目的とする制御(ライントレースなど)を実現するアプリケーションプログラムを、モデリングを使って、いかに分析・設計・実装するか」を競争領域としています。すなわち、プラットフォーム環境自体は非競争領域であり、技術委員会が準備した開発環境を使用することを基本としています。 しかし、技術委員会が準備した環境以外のプラットフォーム環境の使用、または改変しての使用で、走行性能が改善される/参加者になじみ深い環境なので開発効率が上がる、などの効果が見込まれる場合、これを参加者が使用できるようにしたいと考えています。ただし、プラットフォーム環境は非競争領域であり、他の参加者も容易に利用可能とすべきであるとの考えから、以下の条件のもとで、改変・新規開発環境の使用を認めています。 ■全ての参加者が容易に利用可能であること。 ■参加者全員にその内容や利用手順が公開されていること。 ■競技会前の別途定める期限までに、技術委員会の認定を受けていること。 ※「2.2.1 プラットフォーム・基本開発環境」より ここで、最初の条件の「全ての参加者が容易に利用可能であること。」には、単なるソースコードの公開だけではなく、他の参加者が利用する場合の技術資料の公開も含んでいます。ライブラリ改変の申請をする皆さんにはお手数をおかけすることになりますが、上記の趣旨をご理解の上、ご協力をお願いします。 8. 改訂履歴
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||





















