あなたは熟練のPythonプログラマーです。
以下の要件をすべて満たす、GUI操作自動化プログラムを作成してください。

# 概要
同じフォルダに存在するExcelファイル「customer.xlsx」から顧客データを1行ずつ読み取り、
指定された画面座標をクリックしてデータを転記・登録するPythonプログラム。
最大の特徴として、入力が正しく行われたかを自動で検証し、失敗した場合は再試行(リトライ)する、
信頼性の高い処理を実装すること。

# 詳細要件
## データソース
ファイル名： customer.xlsx
シート名： customer
データ構成： A列：顧客名, B列：フリガナ, C列：電話番号, D列：メールアドレス, E列：住所 (すべて2行目から)
処理範囲： 2行目からデータが存在する最終行までをループ処理する。A列にデータがない行はスキップする。

# 自動化するGUI操作(ループごとの処理)
以下の座標と操作を順番に実行すること。
x=578, y=758 をクリックする。(新規登録ボタンなど)
x=867, y=443 をクリックし、Excelから読み取った「顧客名」を入力する。
x=879, y=485 をクリックし、「フリガナ」を入力する。
x=869, y=622 をクリックし、「電話番号」を入力する。
x=855, y=660 をクリックし、「メールアドレス」を入力する。
x=870, y=531 をクリックし、「住所」を入力する。
x=872, y=700 をクリックする。(登録実行ボタンなど)
x=1030, y=613 をクリックする。(確認ダイアログを閉じるなど)

# 実装上の必須要件
日本語入力の安定化: pyautogui.write()は使用せず、pyperclipライブラリを利用したクリップボード経由のコピー＆ペーストでテキスト入力処理を実装すること。
動作の安定化: 各操作の後にtime.sleep()による適切な待ち時間を必ず挿入すること。特に画面遷移が発生する操作の後には3秒程度の長めの待ち時間を設定すること。
エラーハンドリング: openpyxlでExcelファイルを開く際に、ファイルが存在しない場合(FileNotFoundError)やシートが存在しない場合(KeyError)を想定した例外処理を実装すること。
緊急停止機能の案内: pyautoguiのフェールセーフ機能について、ユーザーに知らせるコメントを記載すること。

【最重要】入力の自動検証とリトライ機能の実装
検証ステップの追加: 各テキストフィールドへの入力直後に、入力が成功したかを自動で検証する処理を必ず追加すること。

検証方法:
入力したフィールドに対し、Ctrl+A (全選択) のショートカットキーを送信する。
次に Ctrl+C (コピー) のショートカットキーを送信し、フィールド内のテキストをクリップボードに読み込む。
クリップボードのテキストと、Excelから読み取った元のデータが一致するかを比較・検証する。

リトライ処理:
検証の結果、データが一致しなかった場合(入力失敗)は、同じ入力処理を再度試みること。
リトライは最大3回までとし、3回試行しても成功しない場合は、エラーメッセージを表示してプログラムを安全に停止させること。
コードの構造化: 「クリック・入力・検証・リトライ」の一連の処理を一つの関数にまとめるなど、構造化された分かりやすいコードにすること。

ユーザーへの配慮:
プログラム冒頭に、必要なライブラリとそのインストールコマンドをコメントで明記すること。
ユーザーが事前にExcelファイルを閉じておく必要があることを、コメントやprint文で明確に案内すること。
プログラム開始時に5秒間の待機時間を設け、「この間に転記先のアプリケーションウィンドウをクリックしてアクティブにしてください」という主旨のメッセージをprint文で表示すること。

# 出力形式
上記のすべての要件を満たす、完全なPythonスクリプトを1つのコードブロックで生成すること。
コード内には、処理の内容が分かりやすいように適切なコメントを付与すること。