เจชเจฟเจเจฒเฉเจเจ เจเจฐเจฎเฉเจเจ เจตเจฟเฉฑเจ เจฎเฉเจ เจนเจฟเฉฑเจธเจพ เจฒเจฟเจ เจธเฉ
Google เจธเจฎเจฐ เจเจซเจผ เจเฉเจก 2019 เจตเจฟเฉฑเจ เจเฉฑเจ เจญเจพเจเฉเจฆเจพเจฐ เจตเจเฉเจ, เจฎเฉเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจเฉเจคเจพ
เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจฎเฉเจ เจนเจพเจธเจเฉเจฒ เจตเจฟเฉฑเจ เจฆเฉ-เจชเฉฑเจเฉเจคเจพ เจฒเจ เจเฉฑเจ เจเฉเจฐเจพเจซ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจฆเฉ เจเจชเจฃเฉ เจฒเจพเจเฉ เจเจฐเจจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเจพเฅค เจญเจพเจตเฉเจ เจเจฟ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจธเจญ เจคเฉเจ เจฌเฉเจจเจฟเจเจฆเฉ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจนเฉ, เจเจธ เจจเฉเฉฐ เจเฉฑเจ เจเจพเจฐเจเจธเจผเฉเจฒ เจธเจผเฉเจฒเฉ เจตเจฟเฉฑเจ เจธเฉเฉฐเจฆเจฐเจคเจพ เจจเจพเจฒ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจฎเฉเจจเฉเฉฐ เจเจ เจฆเฉเจนเจฐเจพเจ เจ เจคเฉ เจเจพเจซเจผเฉ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจจเจคเฉเจเฉ เจตเจเฉเจ, เจฎเฉเจ เจฎเฉเจจเจพเจก เจเฉเจฐเจพเจเจธเจซเจพเจฐเจฎเจฐเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจฒเจพเจเฉ เจเจฐเจจ 'เจคเฉ เจธเฉเจเจฒ เจนเฉ เจเจฟเจ.
เจฎเฉเจฐเฉ เจฌเจพเจฐเฉ
เจฎเฉเจฐเจพ เจจเจพเจฎ เจตเฉเจธเฉเจฒเฉ เจ
เจฒเจซเฉเจฐเฉเจต เจนเฉ, เจฎเฉเจ เจธเฉเจเจ เจชเฉเจเจฐเจธเจฌเจฐเจ HSE เจตเจฟเฉฑเจ เจเฉเจฅเฉ เจธเจพเจฒ เจฆเจพ เจตเจฟเจฆเจฟเจเจฐเจฅเฉ เจนเจพเจเฅค เจชเจนเจฟเจฒเจพเจ เจฌเจฒเฉเจ เจตเจฟเฉฑเจ เจฎเฉเจ เจฒเจฟเจเจฟเจ เจธเฉ
เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฌเจพเจฐเฉ
เจฎเฉเจเจฌเฉฐเจง
เจชเฉเจฐเฉเจเจฐเจพเจฎ เจตเจฟเฉฑเจ เจญเจพเจ เจฒเฉเจฃ เจตเจพเจฒเฉ เจตเจฟเจฆเจฟเจเจฐเจฅเฉเจเจ เจจเฉเฉฐ เจฌเจฒเฉเจ เจเจฐเจจ เจฒเจ เจเจผเฉเจฐเจฆเจพเจฐ เจเจคเจธเจผเจพเจนเจฟเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจนเจจเจพเจ เจจเฉ เจฎเฉเจจเฉเฉฐ เจฌเจฒเฉเจ เจฒเจ เจเฉฑเจ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเจพ
เจธเจตเจพเจฒ เจตเจฟเฉฑเจ เจเฉเจก เจฆเฉ เจจเจพเจฒ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฒเฉฑเจญเฉ เจเจพ เจธเจเจฆเฉ เจนเฉ
เจคเฉเจธเฉเจ เจฎเฉเจฐเฉ เจเฉฐเจฎ เจฆเฉ เจจเจคเฉเจเจฟเจเจ เจฌเจพเจฐเฉ เจชเฉเฉเจน เจธเจเจฆเฉ เจนเฉ (เจ
เฉฐเจเจฐเฉเจเจผเฉ เจตเจฟเฉฑเจ)
เจเจธ เจชเฉเจธเจ เจฆเจพ เจเจฆเฉเจธเจผ เจชเจพเจ เจ เจจเฉเฉฐ เจซเฉฐเจเจธเจผเจจเจฒ เจชเฉเจฐเฉเจเฉเจฐเจพเจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจฌเฉเจจเจฟเจเจฆเฉ เจธเฉฐเจเจฒเจชเจพเจ เจจเจพเจฒ เจเจพเจฃเฉ เจเจฐเจตเจพเจเจฃเจพ เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ เจฎเฉเจ เจธเจฎเจพเจ เจเจเจฃ 'เจคเฉ เจตเจฐเจคเฉ เจเจ เจธเจพเจฐเฉ เจธเจผเจฌเจฆเจพเจ เจจเฉเฉฐ เจฏเจพเจฆ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจพเจเจเจพเฅค
เจฆเฉ-เจชเฉฑเจเฉเจคเจพ เจฒเจ เจเฉเจฐเจพเจซเจพเจ เจฆเฉ เจเจพเจเจ เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจนเฉ
เจฆเฉ-เจชเฉฑเจเฉเจคเจพ เจฒเจ เจเฉฑเจ เจเฉเจฐเจพเจซ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจ เจธเจฐเจฒ เจเฉเจฐเจพเจซ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจฆเฉ เจเฉฑเจ เจเฉเจฐเจธ เจตเจฟเฉฑเจ เจฆเจฟเฉฑเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจธเจฆเจพ เจตเจฟเจเจพเจฐ เจธเจฟเฉฑเจงเจพ เจนเฉ: เจชเจนเจฟเจฒเจพเจ เจ เจธเฉเจ เจเจฟเจธเฉ เจคเจฐเฉเจนเจพเจ เจจเจพเจฒ เจเฉฑเจฌเฉ เจเจพเจ เจธเฉฑเจเฉ เจนเจฟเฉฑเจธเฉ เจตเจฟเฉฑเจ เจธเจฟเจฐเจฒเฉเจ เจชเจพเจเจเจฆเฉ เจนเจพเจ, เจ เจคเฉ เจเจฆเฉเจ เจเฉฑเจ เจตเจฟเจฐเฉเจงเฉ เจเจฟเจจเจพเจฐเจพ เจฎเจฟเจฒเจฆเจพ เจนเฉ, เจ เจธเฉเจ เจฆเจพเจ เจตเจพ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจเฉเจฐเจพเจซ เจฆเฉ-เจชเฉฑเจเฉ เจจเจนเฉเจ เจนเฉเฅค
เจฅเฉเฉเจพ เจนเฉเจฐ เจตเจฟเจธเจคเจพเจฐ: เจชเจนเจฟเจฒเจพเจ เจ เจธเฉเจ เจเฉฑเจฌเฉ เจธเจผเฉเจ เจฐ เจตเจฟเฉฑเจ เจเฉเจ เจธเจฟเจฐเจฒเฉเจ เจชเจพเจเจเจฆเฉ เจนเจพเจเฅค เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ 'เจคเฉ, เจเจธ เจธเจฟเจฐเจฒเฉเจ เจฆเฉ เจธเจพเจฐเฉ เจเฉเจเจเจขเฉ เจธเจนเฉ เจฒเฉเจฌ เจตเจฟเฉฑเจ เจชเจ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจ. เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจธ เจธเจฟเจฐเจฒเฉเจ เจฆเฉ เจเฉเจเจเจขเฉเจเจ เจฆเฉ เจธเจพเจฐเฉ เจเฉเจเจเจขเฉเจเจ เจจเฉเฉฐ เจเฉฑเจฌเฉ เจฒเฉเจฌ เจตเจฟเฉฑเจ เจฒเฉเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ, เจ เจคเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจนเฉ. เจ เจธเฉเจ เจธเจฟเจฐเจฒเฉเจเจพเจ เจจเฉเฉฐ เจธเจผเฉเจ เจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจฆเฉ เจนเจพเจ เจเจฆเฉเจ เจคเฉฑเจ เจเจฟ เจ เจธเฉเจ เจธเจผเฉเจฐเฉ เจเฉเจคเฉ เจธเจฟเจฐเจฒเฉเจ เจฆเฉ เจเจจเฉเจเจ เจเฉเจคเฉ เจญเจพเจ เจตเจฟเฉฑเจ เจ เจเฉ เจตเฉ เจธเจฟเจฐเจฒเฉเจ เจฎเฉเจเฉเจฆ เจนเจจ เจเจฟเจธ เจจเฉเฉฐ เจ เจธเฉเจ เจเฉเจเจเจขเฉเจเจ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉเฅค เจ เจธเฉเจ เจซเจฟเจฐ เจเจธ เจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจธเจพเจฐเฉ เจเฉเฉเฉ เจนเฉเจ เจนเจฟเฉฑเจธเจฟเจเจ เจฒเจ เจฆเฉเจนเจฐเจพเจเจเจฆเฉ เจนเจพเจเฅค
เจเฉเจเจฐ เจเฉฑเจเฉ เจญเจพเจ เจตเจฟเฉฑเจ เจกเจฟเฉฑเจเจฃ เจตเจพเจฒเฉ เจธเจฟเจฐเจฟเจเจ เจฆเฉ เจตเจฟเจเจเจพเจฐ เจเฉฑเจ เจเจฟเจจเจพเจฐเจพ เจนเฉ, เจคเจพเจ เจเฉเจฐเจพเจซ เจตเจฟเฉฑเจ เจเฉฑเจ เจ เจเฉเจฌ เจเฉฑเจเจฐ เจฒเฉฑเจญเจฃเจพ เจฎเฉเจธเจผเจเจฒ เจจเจนเฉเจ เจนเฉ, เจเฉ เจเจฟ เจเฉฑเจ เจฆเฉ-เจชเฉฑเจเฉ เจเฉเจฐเจพเจซ เจตเจฟเฉฑเจ เจตเจฟเจเจชเจ เจคเฉเจฐ 'เจคเฉ เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉ (เจ เจคเฉ เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ' เจคเฉ) เจ เจธเฉฐเจญเจต เจนเฉเฅค เจจเจนเฉเจ เจคเจพเจ, เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจธเจนเฉ เจญเจพเจ เจนเฉ, เจเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจเฉเจฐเจพเจซ เจฆเฉ-เจชเฉฑเจเฉ เจนเฉเฅค
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจธ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ
เจเจธ เจคเจฐเฉเจนเจพเจ, เจ เจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจธเจเฉเจฎ 'เจคเฉ เจเจ เจนเจพเจ. เจ เจธเฉเจ เจกเฉเฉฐเจเจพเจ-เจชเจนเจฟเจฒเฉ เจเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจฐเจพเจซ เจฆเฉ เจธเจฟเจฐเจฟเจเจ เจจเฉเฉฐ เจชเจพเจฐ เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเจผเฉเจ เจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจฆเฉ เจนเจพเจ, เจเจฟเจตเฉเจ เจเจฟ เจ เจธเฉเจ เจเจฟเจจเจพเจฐเฉ เจฆเฉ เจจเจพเจฒ เจ เฉฑเจเฉ เจตเจงเจฆเฉ เจนเจพเจ เจธเจผเฉเจ เจฐ เจฆเฉ เจธเฉฐเจเจฟเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฆเฉ เจนเจพเจเฅค เจเฉเจเจฐ เจ เจธเฉเจ เจเจฟเจธเฉ เจธเจฟเจฐเจฒเฉเจ เจจเฉเฉฐ เจเฉฑเจ เจธเจผเฉเจ เจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉฑเจ เจธเจผเฉเจ เจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจคเจพเจ เจ เจธเฉเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจขเฉฐเจ เจจเจพเจฒ เจเจนเจฟ เจธเจเจฆเฉ เจนเจพเจ เจเจฟ เจเฉเจฐเจพเจซ เจฆเฉ-เจชเฉฑเจเฉ เจจเจนเฉเจ เจนเฉเฅค เจเจฆเฉเจ เจธเจพเจฐเฉ เจธเจฟเจฐเจฒเฉเจเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจธเจผเฉเจ เจฐ เจฆเจฟเฉฑเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจ เจธเฉเจ เจธเจพเจฐเฉ เจเจฟเจจเจพเจฐเจฟเจเจ เจจเฉเฉฐ เจฆเฉเจเจฟเจ เจนเฉ, เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจตเจงเฉเจ เจญเจพเจ เจนเฉเฅค
เจเจฃเจจเจพ เจฆเฉ เจธเจผเฉเฉฑเจงเจคเจพ
เจนเจพเจธเจเฉเจฒ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเจน เจฎเฉฐเจจเจฆเฉ เจนเจพเจ เจเจฟ เจธเจพเจฐเฉเจเจ เจเจฃเจจเจพเจตเจพเจ เจนเจจ เจธเจพเจซเจผ เจนเจพเจฒเจพเจเจเจฟ, เจเฉเจเจฐ เจเจน เจธเฉฑเจเจฎเฉเฉฑเจ เจ เจเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ, เจคเจพเจ เจธเจพเจกเฉ เจเฉเจฒ เจธเจเฉเจฐเฉเจจ เจคเฉ เจเฉเจ เจตเฉ เจชเฉเจฐเจฟเฉฐเจ เจเจฐเจจ เจฆเจพ เจเฉเจ เจคเจฐเฉเจเจพ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพเฅค เจคเฉ เจธเจพเจฐเฉ, เจธเจพเจซเจผ เจเจฃเจจเจพ เจเฉฐเจจเฉ เจเจฒเจธเฉ เจนเจจ เจเจฟ เจเฉฑเจ เจตเฉ เจจเจนเฉเจ เจนเฉ เจธเจพเจซเจผ เจเจฟเจธเฉ เจเฉเจเจผ เจฆเฉ เจเจฃเจจเจพ เจเจฐเจจ เจฆเฉ เจเจพเจฐเจจ. เจชเฉเจฐเฉเจเจฐเจพเจฎ เจตเจฟเฉฑเจ เจนเฉเจฃ เจตเจพเจฒเฉเจเจ เจธเจพเจฐเฉเจเจ เจเจฃเจจเจพเจตเจพเจ เจจเฉเฉฐ เจเจฟเจธเฉ เจคเจฐเฉเจนเจพเจ เจฎเจเจฌเฉเจฐ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ "เจ เจธเจผเฉเฉฑเจง" เจฎเฉเจจเจพเจก เจเจ.เจ.
เจฎเฉเจจเจพเจกเจธ เจเจฃเจจเจพเจตเจพเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจฆเจพ เจเฉฑเจ เจคเจฐเฉเจเจพ เจนเฉ เจชเฉเจฐเจญเจพเจต เจนเจพเจธเจเฉเจฒ เจตเจฟเฉฑเจ. เจเจน เจฆเฉฑเจธเจฃเจพ เจเจฟ เจเจน เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจจ เจเจธ เจชเฉเจธเจ เจฆเฉ เจฆเจพเจเจฐเฉ เจคเฉเจ เจฌเจพเจนเจฐ เจนเฉเฅค เจ
เฉฐเจเจฐเฉเจเจผเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉฐเจเจพ เจ
เจคเฉ เจธเจชเจธเจผเจ เจตเจฐเจฃเจจ เจชเฉเฉเจนเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ
เจเฉฑเจฅเฉ เจฎเฉเจ เจเจน เจฆเฉฑเจธเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ เจเจฟ เจเจฆเฉเจ เจเจฟ เจเฉเจ เจฎเฉเจจเจพเจก, เจเจฟเจตเฉเจ เจเจฟ IO, เจเฉฐเจชเจพเจเจฒเจฐ เจฎเฉเจเจฟเจ เจฆเฉเจเจฐเจพ เจฒเจพเจเฉ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ, เจฒเจเจญเจ เจธเจพเจฐเฉ เจฌเจพเจเฉ เจธเฉเจซเจเจตเฉเจ เจฐ เจตเจฟเฉฑเจ เจฒเจพเจเฉ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ เจ เจคเฉ เจเจนเจจเจพเจ เจตเจฟเฉฑเจ เจธเจพเจฐเฉเจเจ เจเจฃเจจเจพเจตเจพเจ เจธเจผเฉเฉฑเจง เจนเฉเฉฐเจฆเฉเจเจ เจนเจจเฅค
เจฌเจนเฉเจค เจธเจพเจฐเฉ เจชเฉเจฐเจญเจพเจต เจนเจจ เจ เจคเฉ เจนเจฐเฉเจ เจฆเจพ เจเจชเจฃเจพ เจฎเฉเจจเจพเจก เจนเฉเฅค เจเจน เจเฉฑเจ เจฌเจนเฉเจค เจฎเจเจผเจฌเฉเจค โโเจ เจคเฉ เจธเฉเฉฐเจฆเจฐ เจธเจฟเจงเจพเจเจค เจนเฉ: เจธเจพเจฐเฉ เจฎเฉเจจเจพเจก เจเฉฑเจเฉ เจเฉฐเจเจฐเจซเฉเจธ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเฉ เจนเจจเฅค เจ เจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจคเจฟเฉฐเจจ เจฎเฉเจจเจพเจกเจพเจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเฉ:
- เจเจพเจ เจคเจพเจ ea เจเฉฑเจ เจเจฃเจจเจพ เจนเฉ เจเฉ เจเจฟเจธเจฎ a เจฆเจพ เจฎเฉเฉฑเจฒ เจตเจพเจชเจธ เจเจฐเจฆเฉ เจนเฉ เจเจพเจ เจเจฟเจธเจฎ e เจฆเฉ เจ เจชเจตเจพเจฆ เจจเฉเฉฐ เจธเฉเฉฑเจเจฆเฉ เจนเฉเฅค เจเจธ เจฎเฉเจจเจพเจก เจฆเจพ เจตเจฟเจตเจนเจพเจฐ เจฒเจพเจเจผเจฎเฉ เจญเจพเจธเจผเจพเจตเจพเจ เจตเจฟเฉฑเจ เจ เจชเจตเจพเจฆ เจนเฉเจเจกเจฒเจฟเฉฐเจ เจตเจฐเจเจพ เจนเฉ: เจเจฒเจคเฉเจเจ เจซเฉเฉเจเจ เจเจพเจ เจฆเจฟเฉฑเจคเฉเจเจ เจเจพ เจธเจเจฆเฉเจเจ เจนเจจเฅค เจฎเฉเฉฑเจ เจ เฉฐเจคเจฐ เจเจน เจนเฉ เจเจฟ เจฎเฉเจจเจพเจก เจจเฉเฉฐ เจนเจพเจธเจเฉเจฒ เจตเจฟเฉฑเจ เจฎเจฟเจเจฐเฉ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจคเจฐเจ เจจเจพเจฒ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจเจฆเฉเจ เจเจฟ เจฒเจพเจเจผเจฎเฉ เจญเจพเจธเจผเจพเจตเจพเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจตเจฟเจงเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉเจเจ เจนเจจเฅค
- เจธเจเฉเจ sa เจเฉฑเจ เจเจฃเจจเจพ เจนเฉ เจเฉ เจเจฟเจธเจฎ a เจฆเจพ เจฎเฉเฉฑเจฒ เจตเจพเจชเจธ เจเจฐเจฆเฉ เจนเฉ เจ เจคเฉ เจเจฟเจธเจฎ s เจฆเฉ เจชเจฐเจฟเจตเจฐเจคเจจเจฏเฉเจ เจธเจฅเจฟเจคเฉ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
- เจธเจผเจพเจเจฆ เจ. เจนเฉ เจธเจเจฆเจพ เจนเฉ เจฎเฉเจจเจพเจก เจเฉฑเจ เจเจฃเจจเจพ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟเจธ เจจเฉเฉฐ เจเจฟเจธเฉ เจตเฉ เจธเจฎเฉเจ เจเฉเจ เจจเจนเฉเจ เจตเจพเจชเจธ เจเจฐเจเฉ เจฐเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจนเจพเจฒเจพเจเจเจฟ, เจ เจธเฉเจ เจธเจผเจพเจเจฆ เจเจฟเจธเจฎ เจฒเจ เจฎเฉเจจเจพเจกเจชเจฒเฉฑเจธ เจเจฒเจพเจธ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเฉ, เจเฉ เจเจฟ เจเจฒเจ เจชเฉเจฐเจญเจพเจต เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ: เจเจน เจเฉฑเจ เจเจฃเจจเจพ เจนเฉ เจเฉ เจเจฟเจธเฉ เจเจพเจธ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจตเจพเจชเจธ เจเจฐเจเฉ เจเจฟเจธเฉ เจตเฉ เจธเจฎเฉเจ เจฐเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ
เจธเจพเจกเฉ เจเฉเจฒ เจฆเฉ เจกเจพเจเจพ เจเจฟเจธเจฎเจพเจ เจนเจจ, เจเฉเจฐเจพเจซ a เจ เจคเฉ Bigraph ab, เจเจฟเจจเฉเจนเจพเจ เจตเจฟเฉฑเจเฉเจ เจชเจนเจฟเจฒเจพ เจเจฟเจธเจฎ a เจฆเฉ เจฎเฉเฉฑเจฒเจพเจ เจจเจพเจฒ เจฒเฉเจฌเจฒ เจเฉเจคเฉ เจธเจฟเจฐเจฒเฉเจเจพเจ เจตเจพเจฒเฉ เจเฉเจฐเจพเจซเจพเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจฆเฉเจเจพ เจเจฟเจธเจฎ a เจ เจคเฉ เจธเฉฑเจเฉ เจเจฟเจธเจฎ เจฆเฉ เจฎเฉเฉฑเจฒเจพเจ เจจเจพเจฒ เจฒเฉเจฌเจฒ เจเฉเจคเฉ เจเฉฑเจฌเฉ-เจชเจพเจธเฉ เจฆเฉ เจเฉเจฃเจพเจ เจตเจพเจฒเฉ เจฆเฉ-เจชเฉฑเจเฉ เจเฉเจฐเจพเจซเจพเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉเฅค -เจเจฟเจธเจฎ b เจฆเฉ เจฎเฉเฉฑเจฒเจพเจ เจจเจพเจฒ เจฒเฉเจฌเจฒ เจเฉเจคเฉ เจชเจพเจธเฉ เจฆเฉ เจธเจฟเจฐเจฒเฉเจเฅค
เจเจน เจเจฒเจเจพ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจฆเฉเจเจ เจเจฟเจธเจฎเจพเจ เจจเจนเฉเจ เจนเจจเฅค เจเจฒเจเจพ เจตเจฟเฉฑเจ เจจเจฟเจฐเจฆเฉเจธเจฟเจค เจฆเฉ-เจชเฉฑเจเฉ เจเฉเจฐเจพเจซเจผเจพเจ เจฒเจ เจเฉเจ เจชเฉเจฐเจคเฉเจจเจฟเจงเจคเจพ เจจเจนเฉเจ เจนเฉเฅค เจฎเฉเจ เจธเจชเจธเจผเจเจคเจพ เจฒเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉเจเจ เจเจฟเจธเจฎเจพเจ เจฌเจฃเจพเจเจเจเฅค
เจธเจพเจจเฉเฉฐ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจฆเจธเจคเจเจคเจพเจ เจฆเฉ เจจเจพเจฒ เจธเจนเจพเจเจ เจซเฉฐเจเจธเจผเจจเจพเจ เจฆเฉ เจตเฉ เจฒเฉเฉ เจชเจตเฉเจเฉ:
-- ะกะฟะธัะพะบ ัะพัะตะดะตะน ะดะฐะฝะฝะพะน ะฒะตััะธะฝั.
neighbours :: Ord a => a -> Graph a -> [a]
-- ะะพัััะพะธัั ะดะฒัะดะพะปัะฝัะน ะณัะฐั ะฟะพ ะณัะฐัั ะธ ััะฝะบัะธะธ, ะดะปั ะบะฐะถะดะพะน ะฒะตััะธะฝั
-- ะฒัะดะฐััะตะน ะตั ะดะพะปั ะธ ะฟะพะผะตัะบั ะฒ ะฝะพะฒะพะน ะดะพะปะต, ะธะณะฝะพัะธััั ะบะพะฝัะปะธะบัะฝัะต ััะฑัะฐ.
toBipartiteWith :: (Ord a, Ord b, Ord c) => (a -> Either b c)
-> Graph a
-> Bigraph b c
-- ะกะฟะธัะพะบ ะฒะตััะธะฝ ะฒ ะณัะฐัะต
vertexList :: Ord a => Graph a -> [a]
ะกะธะณะฝะฐัััะฐ ััะฝะบัะธะธ, ะบะพัะพััั ะผั ะฑัะดะตะผ ะฟะธัะฐัั, ะฒัะณะปัะดะธั ัะฐะบ:
type OddCycle a = [a]
detectParts :: Ord a => Graph a -> Either (OddCycle a) (Bigraph a a)
เจเจน เจตเฉเจเจฃเจพ เจเจธเจพเจจ เจนเฉ เจเจฟ เจเฉเจเจฐ เจกเฉเฉฐเจเจพเจ-เจชเจนเจฟเจฒเฉ เจเฉเจ เจฆเฉเจฐเจพเจจ เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจตเจฟเจฐเฉเจงเฉ เจเจฟเจจเจพเจฐเจพ เจฎเจฟเจฒเจฆเจพ เจนเฉ, เจคเจพเจ เจ เจเฉเจฌ เจเฉฑเจเจฐ เจเจตเจฐเจคเฉ เจธเจเฉเจ เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเจธ เจคเจฐเฉเจนเจพเจ, เจเจธเจจเฉเฉฐ เจฐเฉเจธเจเฉเจฐ เจเจฐเจจ เจฒเจ, เจธเจพเจจเฉเฉฐ เจฐเฉเจเจฐเจธเจผเจจ เจธเจเฉเจ เจคเฉเจ เจฒเฉ เจเฉ เจเจเจฐเฉ เจธเจฟเจฐเฉ เจฆเฉ เจชเจนเจฟเจฒเฉ เจฎเฉเจเฉเจฆเจเฉ เจคเฉฑเจ เจธเจญ เจเฉเจ เจเฉฑเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจ เจธเฉเจ เจนเจฐเฉเจ เจธเจฟเจฐเจฒเฉเจ เจฒเจ เจธเจผเฉเจ เจฐ เจจเฉฐเจฌเจฐเจพเจ เจฆเฉ เจเฉฑเจ เจธเจนเจฟเจฏเฉเจเฉ เจเจฐเฉ เจจเฉเฉฐ เจเจพเจเจฎ เจฐเฉฑเจ เจเฉ เจกเฉเฉฐเจเจพเจ-เจชเจนเจฟเจฒเฉ เจเฉเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเฉ เจนเจพเจเฅค เจเจตเจฐเจคเฉ เจธเจเฉเจ เจจเฉเฉฐ เจธเจพเจกเฉ เจฆเฉเจเจฐเจพ เจเฉเจฃเฉ เจเจ เจฎเฉเจจเจพเจก เจฆเฉ เจซเฉฐเจเจเจฐ เจเจฒเจพเจธ เจฆเฉ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉเจเจฐเจพ เจเจชเจฃเฉ เจเจช เจนเฉ เจฌเจฃเจพเจ เจฐเฉฑเจเจฟเจ เจเจพเจตเฉเจเจพ: เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซ เจฐเจฟเจเจฐเจธเจฟเจต เจซเฉฐเจเจธเจผเจจ เจคเฉเจ เจตเจพเจชเจธ เจเจ เจจเจคเฉเจเฉ เจตเจฟเฉฑเจ เจฎเจพเจฐเจ เจคเฉเจ เจธเจพเจฐเฉ เจธเจฟเจฐเจฒเฉเจเจพเจ เจจเฉเฉฐ เจชเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค
เจฎเฉเจฐเจพ เจชเจนเจฟเจฒเจพ เจตเจฟเจเจพเจฐ Either monad เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจธเฉ, เจเฉ เจฌเจฟเจฒเจเฉเจฒ เจเจนเจจเจพเจ เจชเฉเจฐเจญเจพเจตเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจเจพเจชเจฆเจพ เจนเฉ เจเจฟเจธเจฆเฉ เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉเฅค เจชเจนเจฟเจฒเจพ เจฒเจพเจเฉเจเจฐเจจ เจเฉ เจฎเฉเจ เจฒเจฟเจเจฟเจ เจธเฉ เจเจน เจเจธ เจตเจฟเจเจฒเจช เจฆเฉ เจฌเจนเฉเจค เจจเฉเฉเฉ เจธเฉเฅค เจตเจพเจธเจคเจต เจตเจฟเฉฑเจ, เจฎเฉเจฐเฉ เจเฉเจฒ เจเฉฑเจ เจฌเจฟเฉฐเจฆเฉ 'เจคเฉ เจชเฉฐเจ เจตเฉฑเจ-เจตเฉฑเจ เจฒเจพเจเฉเจเจฐเจจ เจธเจจ เจ เจคเฉ เจเจเจฐเจเจพเจฐ เจเฉฑเจ เจนเฉเจฐ 'เจคเฉ เจธเฉเจเจฒ เจนเฉ เจเจ.
เจชเจนเจฟเจฒเจพเจ, เจธเจพเจจเฉเฉฐ เจธเจผเฉเจ
เจฐ เจชเจเจพเจฃเจเจฐเจคเจพเจตเจพเจ เจฆเฉ เจเฉฑเจ เจธเจนเจฟเจฏเฉเจเฉ เจฒเฉเฉ เจจเฉเฉฐ เจเจพเจเจฎ เจฐเฉฑเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ - เจเจน เจฐเจพเจ เจฌเจพเจฐเฉ เจเฉเจ เจนเฉเฅค เจฆเฉเจเจพ, เจเจฆเฉเจ เจเจฟเจธเฉ เจเจเจฐเจพเจ
เจฆเจพ เจชเจคเจพ เจฒเฉฑเจ เจเจพเจเจฆเจพ เจนเฉ เจคเจพเจ เจธเจพเจจเฉเฉฐ เจฐเฉเจเจฃ เจฆเฉ เจฏเฉเจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเจน เจเจพเจ เจคเจพเจ เจฎเฉเจจเจพเจก เจฒเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ, เจเจพเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจฒเจ เจฎเฉเจจเจพเจกเจชเจฒเฉฑเจธเฅค เจฎเฉเฉฑเจ เจ
เฉฐเจคเจฐ เจเจน เจนเฉ เจเจฟ เจเจพเจ เจคเจพเจ เจเฉเจ เจฎเฉเฉฑเจฒ เจตเจพเจชเจธ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจเฉเจเจฐ เจเจฃเจจเจพ เจจเฉเฉฐ เจฐเฉเจเจฟเจ เจจเจนเฉเจ เจเจฟเจ เจนเฉ, เจ
เจคเฉ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจเจธ เจเฉเจธ เจตเจฟเฉฑเจ เจเจธ เจฌเจพเจฐเฉ เจธเจฟเจฐเจซ เจเจพเจฃเจเจพเจฐเฉ เจตเจพเจชเจธ เจเจฐเฉเฅค เจเจฟเจเจเจเจฟ เจธเจพเจจเฉเฉฐ เจธเจซเจฒเจคเจพ เจฒเจ เจตเฉฑเจเจฐเฉ เจฎเฉเฉฑเจฒ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ (เจเจน เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฐเจพเจ เจตเจฟเฉฑเจ เจธเจเฉเจฐ เจนเฉ), เจ
เจธเฉเจ เจธเจผเจพเจเจฆ เจเฉเจฃเจฆเฉ เจนเจพเจเฅค เจ
เจคเฉ เจเจธ เจธเจฎเฉเจ เจเจฆเฉเจ เจธเจพเจจเฉเฉฐ เจฆเฉ เจฎเฉเจจเจพเจกเจพเจ เจฆเฉ เจชเฉเจฐเจญเจพเจตเจพเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจน เจฌเจพเจนเจฐ เจเจเจเจฆเฉ เจนเจจ
เจฎเฉเจ เจ เจเจฟเจนเฉ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจเจฟเจธเจฎ เจฆเฉ เจเฉเจฃ เจเจฟเจเจ เจเฉเจคเฉ? เจฆเฉ เจเจพเจฐเจจ. เจธเจญ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจฒเจพเจเฉ เจเจฐเจจเจพ เจฒเจพเจเจผเจฎเฉ เจฆเฉ เจธเจฎเจพเจจ เจนเฉเฉฐเจฆเจพ เจนเฉ. เจฆเฉเจเจพ, เจ เจเฉเจฌ เจฒเฉเจช เจจเฉเฉฐ เจฌเจนเจพเจฒ เจเจฐเจจ เจฒเจ เจฆเฉเจนเจฐเจพเจ เจคเฉเจ เจตเจพเจชเจธ เจชเจฐเจคเจฃ เจตเฉเจฒเฉ เจธเจพเจจเฉเฉฐ เจตเจฟเจฐเฉเจง เจฆเฉ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจตเจพเจชเจธเฉ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจนเฉเจฐเจพเจซเฉเจฐเฉ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเฉ เจธเจผเจพเจเจฆ เจฎเฉเจจเจพเจก เจตเจฟเฉฑเจ เจเจฐเจจเจพ เจฌเจนเฉเจค เจธเฉเจเจพ เจนเฉเฅค
เจเจธ เจคเจฐเฉเจนเจพเจ เจธเจพเจจเฉเฉฐ เจเจน เจ เจฎเจฒ เจฎเจฟเจฒเจฆเจพ เจนเฉเฅค
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE ScopedTypeVariables #-}
data Part = LeftPart | RightPart
otherPart :: Part -> Part
otherPart LeftPart = RightPart
otherPart RightPart = LeftPart
type PartMap a = Map.Map a Part
type OddCycle a = [a]
toEither :: Ord a => PartMap a -> a -> Either a a
toEither m v = case fromJust (v `Map.lookup` m) of
LeftPart -> Left v
RightPart -> Right v
type PartMonad a = MaybeT (State (PartMap a)) [a]
detectParts :: forall a. Ord a => Graph a -> Either (OddCycle a) (Bigraph a a)
detectParts g = case runState (runMaybeT dfs) Map.empty of
(Just c, _) -> Left $ oddCycle c
(Nothing, m) -> Right $ toBipartiteWith (toEither m) g
where
inVertex :: Part -> a -> PartMonad a
inVertex p v = ((:) v) <$> do modify $ Map.insert v p
let q = otherPart p
msum [ onEdge q u | u <- neigbours v g ]
{-# INLINE onEdge #-}
onEdge :: Part -> a -> PartMonad a
onEdge p v = do m <- get
case v `Map.lookup` m of
Nothing -> inVertex p v
Just q -> do guard (q /= p)
return [v]
processVertex :: a -> PartMonad a
processVertex v = do m <- get
guard (v `Map.notMember` m)
inVertex LeftPart v
dfs :: PartMonad a
dfs = msum [ processVertex v | v <- vertexList g ]
oddCycle :: [a] -> [a]
oddCycle c = tail (dropWhile ((/=) last c) c)
เจเจฟเฉฑเจฅเฉ เจฌเจฒเจพเจ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจฆเจพ เจเฉเจฐ เจนเฉเฅค เจฎเฉเจ เจเจน เจฆเฉฑเจธเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจพเจเจเจพ เจเจฟ เจเจธ เจฆเฉ เจ เฉฐเจฆเจฐ เจเฉ เจนเฉ เจฐเจฟเจนเจพ เจนเฉเฅค
- inVertex เจกเฉเฉฐเจเจพเจ-เจชเจนเจฟเจฒเฉ เจเฉเจ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจนเฉ เจเจฟเฉฑเจฅเฉ เจ เจธเฉเจ เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจตเจฐเจเฉเจเจธ 'เจคเฉ เจเจพเจเจฆเฉ เจนเจพเจเฅค เจเฉฑเจฅเฉ เจ เจธเฉเจ เจธเจฟเจฐเจฒเฉเจ เจจเฉเฉฐ เจเฉฑเจ เจธเจผเฉเจ เจฐ เจจเฉฐเจฌเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจธเจพเจฐเฉ เจเฉเจเจเจขเฉเจเจ 'เจคเฉ onEdge เจเจฒเจพเจเจเจฆเฉ เจนเจพเจเฅค เจเจน เจเจน เจฅเจพเจ เจนเฉ เจเจฟเฉฑเจฅเฉ เจ เจธเฉเจ เจเจพเจฒ เจธเจเฉเจ เจจเฉเฉฐ เจฐเฉเจธเจเฉเจฐ เจเจฐเจฆเฉ เจนเจพเจ: เจเฉเจเจฐ msum เจเฉฑเจ เจฎเฉเฉฑเจฒ เจตเจพเจชเจธ เจเจฐเจฆเจพ เจนเฉ, เจคเจพเจ เจ เจธเฉเจ vertex v เจจเฉเฉฐ เจเฉฑเจฅเฉ เจงเฉฑเจเจฆเฉ เจนเจพเจเฅค
- onEdge เจเจน เจนเจฟเฉฑเจธเจพ เจนเฉ เจเจฟเฉฑเจฅเฉ เจ เจธเฉเจ เจเจฟเจจเจพเจฐเฉ 'เจคเฉ เจเจพเจเจฆเฉ เจนเจพเจเฅค เจเจธ เจจเฉเฉฐ เจนเจฐเฉเจ เจเจฟเจจเจพเจฐเฉ เจฒเจ เจฆเฉ เจตเจพเจฐ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉ. เจเฉฑเจฅเฉ เจ เจธเฉเจ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจเฉ เจฆเฉเจเฉ เจชเจพเจธเฉ เจฆเฉ เจธเจฟเจฐเฉ เจฆเจพ เจฆเฉเจฐเจพ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจ เจคเฉ เจเฉเจเจฐ เจจเจนเฉเจ เจคเจพเจ เจเจธ 'เจคเฉ เจเจพเจเฅค เจเฉเจเจฐ เจตเจฟเจเจผเจฟเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจ เจธเฉเจ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจเจฟเจจเจพเจฐเจพ เจตเจฟเจฐเฉเจงเฉ เจนเฉ เจเจพเจ เจจเจนเฉเจเฅค เจเฉเจเจฐ เจเจน เจนเฉ, เจคเจพเจ เจ เจธเฉเจ เจฎเฉเฉฑเจฒ เจตเจพเจชเจธ เจเจฐเจฆเฉ เจนเจพเจ - เจฐเฉเจเจฐเจธเจผเจจ เจธเจเฉเจ เจฆเจพ เจฌเจฟเจฒเจเฉเจฒ เจธเจฟเจเจฐ, เจเจฟเฉฑเจฅเฉ เจตเจพเจชเจธ เจเจเจฃ 'เจคเฉ เจฌเจพเจเฉ เจธเจพเจฐเฉ เจธเจฟเจฐเจฒเฉเจ เจฐเฉฑเจเฉ เจเจพเจฃเจเฉเฅค
- processVertex เจนเจฐเฉเจ เจธเจฟเจฐเจฒเฉเจ เจฒเจ เจเจพเจเจ เจเจฐเจฆเจพ เจนเฉ เจเจฟ เจเฉ เจเจน เจตเจฟเจเจผเจฟเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจ เจคเฉ เจเฉเจเจฐ เจจเจนเฉเจ เจคเจพเจ เจเจธ 'เจคเฉ เจเจจเจตเจฐเจเฉเจเจธ เจเจฒเจพเจเจเจฆเจพ เจนเฉเฅค
- dfs เจธเจพเจฐเฉ เจธเจฟเจฐเจฟเจเจ 'เจคเฉ processVertex เจเจฒเจพเจเจเจฆเจพ เจนเฉเฅค
เจเจน เจธเจญ เจนเฉ.
INLINE เจธเจผเจฌเจฆ เจฆเจพ เจเจคเจฟเจนเจพเจธ
INLINE เจธเจผเจฌเจฆ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจฆเฉ เจชเจนเจฟเจฒเฉ เจ เจฎเจฒ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจธเฉ; เจเจน เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจ เจนเฉเจเจเฅค เจเจฆเฉเจ เจฎเฉเจ เจเฉฑเจ เจฌเจฟเจนเจคเจฐ เจฒเจพเจเฉเจเจฐเจจ เจฒเฉฑเจญเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ, เจคเจพเจ เจฎเฉเจ เจชเจพเจเจ เจเจฟ เจเฉเจฐ-เจเจจเจฒเจพเจเจจ เจธเฉฐเจธเจเจฐเจฃ เจเฉเจ เจเฉเจฐเจพเจซเจพเจ 'เจคเฉ เจงเจฟเจเจจ เจจเจพเจฒ เจนเฉเจฒเฉ เจธเฉเฅค เจเจธ เจเฉฑเจฒ เจจเฉเฉฐ เจงเจฟเจเจจ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฆเฉ เจนเฉเจ เจเจฟ เจ เจฐเจฅ เจชเฉฑเจเฉเจ เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจเฉฑเจเฉ เจเจฟเจนเจพ เจเฉฐเจฎ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ, เจเจธเจจเฉ เจฎเฉเจจเฉเฉฐ เจฌเจนเฉเจค เจนเฉเจฐเจพเจจ เจเฉเจคเจพเฅค เจเฉฑเจฅเฉเจ เจคเฉฑเจ เจเจฟ เจ เจเจจเจฌเฉ, GHC เจฆเฉ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจพเจฒเฉ เจเฉฑเจ เจนเฉเจฐ เจฎเจธเจผเฉเจจ 'เจคเฉ เจเฉเจ เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจ เฉฐเจคเจฐ เจจเจนเฉเจ เจธเฉเฅค
GHC เจเฉเจฐ เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจชเฉเฉเจนเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจนเจซเจผเจคเจพ เจฌเจฟเจคเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจฎเฉเจ เจธเจชเจธเจผเจ เจเจจเจฒเจพเจเจจ เจฆเฉ เจเฉฑเจ เจฒเจพเจเจจ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉ เจเจฟเจเฅค GHC 8.4.4 เจ เจคเฉ GHC 8.6.5 เจฆเฉ เจตเจฟเจเจเจพเจฐ เจเจฟเจธเฉ เจธเจฎเฉเจ เจเจชเจเฉเจฎเจพเจเจเจผเจฐ เจจเฉ เจเจน เจเจชเจฃเฉ เจเจช เจเจฐเจจเจพ เจฌเฉฐเจฆ เจเจฐ เจฆเจฟเฉฑเจคเจพเฅค
เจฎเฉเจจเฉเฉฐ เจนเจพเจธเจเฉเจฒ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจ เจเจฟเจนเฉ เจเฉฐเจฆเจเฉ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจเจฐเจจ เจฆเฉ เจเจฎเฉเจฆ เจจเจนเฉเจ เจธเฉ. เจนเจพเจฒเจพเจเจเจฟ, เจ เฉฑเจ เจตเฉ, เจเจชเจเฉเจฎเจพเจเจเจผเจฐ เจเจ เจตเจพเจฐ เจเจฒเจคเฉเจเจ เจเจฐเจฆเฉ เจนเจจ, เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเฉฐเจเฉเจค เจฆเฉเจฃเจพ เจธเจพเจกเจพ เจเฉฐเจฎ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉฑเจฅเฉ เจ เจธเฉเจ เจเจพเจฃเจฆเฉ เจนเจพเจ เจเจฟ เจซเฉฐเจเจธเจผเจจ เจเจจเจฒเจพเจเจจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟเจเจเจเจฟ เจเจน เจฒเจพเจเจผเจฎเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจเจจเจฒเจพเจเจจ เจนเฉ, เจ เจคเฉ เจเจน เจเฉฐเจชเจพเจเจฒเจฐ เจจเฉเฉฐ เจเฉฑเจ เจธเฉฐเจเฉเจค เจฆเฉเจฃ เจฆเจพ เจเฉฑเจ เจเจพเจฐเจจ เจนเฉเฅค
เจ เฉฑเจเฉ เจเฉ เจนเฉเจเจ?
เจซเจฟเจฐ เจฎเฉเจ เจนเฉเจชเจเฉเจฐเจพเจซเจ-เจเจพเจฐเจช เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจจเฉเฉฐ เจนเฉเจฐ เจฎเฉเจจเจพเจกเจพเจ เจจเจพเจฒ เจฒเจพเจเฉ เจเฉเจคเจพ, เจ เจคเฉ เจเจน เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเจพ เจ เฉฐเจค เจธเฉเฅค
เจเฉเจเจฒ เจธเจฎเจฐ เจเจซ เจเฉเจก เจฒเจ เจงเฉฐเจจเจตเจพเจฆ, เจฎเฉเจ เจซเฉฐเจเจธเจผเจจเจฒ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจตเจฟเจนเจพเจฐเจ เจ
เจจเฉเจญเจต เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ, เจเจฟเจธ เจจเฉ เจจเจพ เจธเจฟเจฐเจซ เจ
เจเจฒเฉเจเจ เจเจฐเจฎเฉเจเจ เจตเจฟเฉฑเจ เจเฉเจจ เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉฐเจเจฐเจจเจธเจผเจฟเจช เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจตเจฟเฉฑเจ เจฎเฉเจฐเฉ เจฎเจฆเจฆ เจเฉเจคเฉ (เจฎเฉเจจเฉเฉฐ เจฏเจเฉเจจ เจจเจนเฉเจ เจนเฉ เจเจฟ เจเจน เจธเจฅเจพเจจ เจนเฉเจฌเจฐ เจฆเฉ เจเจพเจฃเจเจพเจฐ เจฆเจฐเจธเจผเจเจพเจ เจตเจฟเฉฑเจ เจตเฉ เจเจฟเฉฐเจจเจพ เจฎเจธเจผเจนเฉเจฐ เจนเฉ, เจชเจฐ เจเจน เจเฉฑเจ เจนเฉเฅค เจเจนเจจเจพเจ เจเฉเจ เจตเจฟเฉฑเจเฉเจ เจเจฟเฉฑเจฅเฉ เจคเฉเจธเฉเจ เจซเฉฐเจเจธเจผเจจเจฒ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจนเฉเจฃ เจฒเจ เจเจฐเจฎเฉเจเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ), เจชเจฐ เจเจธ เจจเฉ เจฎเฉเจจเฉเฉฐ เจ
เจญเจฟเจเจธ เจตเจฟเฉฑเจ เจเจธ เจชเฉเจฐเจพเจกเจพเจเจฎ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจธเจผเจพเจจเจฆเจพเจฐ เจฆเฉเจจเฉเจ เจจเจพเจฒ เจเจพเจฃเฉ เจเจฐเจตเจพเจเจ, เจเฉ เจเจฟ เจฐเจตเจพเจเจคเฉ เจญเจพเจธเจผเจพเจตเจพเจ เจตเจฟเฉฑเจ เจฎเฉเจฐเฉ เจคเจเจผเจฐเจฌเฉ เจคเฉเจ เจเจพเจซเจผเฉ เจตเฉฑเจเจฐเจพ เจนเฉเฅค
เจธเจฐเฉเจค: www.habr.com