Login
    
Login

20 February 2009 ~ 126 Comments

ตอนที่3: การติดตั้ง Squid Proxy + Lightsquid

pfSense Package Installation วันนี้จะพูดถึงวิธีการติดตั้งและใช้งาน Squid Proxy + Lightsquid ซึ่งทำหน้าที่เป็น Proxy Server และ Proxy Reports ตามลำดับ ไฟล์วีดีโอความยาว 18 นาที ตอนแรกตั้งใจจะไม่ให้ยาวขนาดนี้เพราะกลัวจะโหลดช้า พอดีจบไม่ลงจริง ๆ where ๆ is where ๆ (ฝรั่งงง)

หัวข้อการบรรยาย

การติดตั้ง Squid – Proxy Server
การติดตั้ง Lightsquid – Proxy Report
การยกเลิก Package

โหลดไฟล์คุณภาพสูง วีดีโอสอนการติดตั้ง Squid Proxy + Lightsquid Link-1

เพิ่มเติมเกี่ยวกับวิธีการเก็บ Syslog ตาม พรบ. คอมพิวเตอร์

1. ทำการติดตั้งโปรแกรม Syslog Server เช่น Kiwi Syslog Server หรือ Syslog Watcher เลือกที่เป็น Freeware
2. ทำการ Enable syslog’ing to remote syslog server โดยไปที่ Status > System logs > Settings ใส่หมายเลข IP Address ของเครื่อง Syslog Server ตามตัวอย่าง

Enable remote syslog server

Kiwi syslog
รูปภาพแสดง: Kiwi Syslog Server

Did you like this? Share it:
 

126 Responses to “ตอนที่3: การติดตั้ง Squid Proxy + Lightsquid”

  1. tatummm 25 February 2009 at 12:19 pm Permalink

    โหลดช้า ไฟล์ใหญ่ไม่กลัว ยังไงก็รอได้ แต่กลัวไม่มีอาจารย์ให้ความรู้ ขอบคุณครับ บรรยายดีเยี่ยมเลยครับ เสียแต่เสียงเบาอ่ะต้องเอาหูแนบกับลำโพง

  2. tatummm 25 February 2009 at 1:57 pm Permalink

    สงสัยนะครับว่า เห็นลงSquid แล้วก็ต้องปิด ยกเลิก openDNS ด้วย มันไม่สามารถใช้ร่วมกันได้หรือครับ แล้วจะบล็อกพวกเว๊ปบิทได้ยังไงครับ

  3. tatummm 25 February 2009 at 3:02 pm Permalink

    เห็นในการบล็อก backlist ก็เป็นเพียงชื่อเว๊ป ถ้าจะเป็นจำพวกไฟล์ อย่างเช่น พวก bit torrent จะทำยังไงครับ แบบว่าในpfsense มีบล็อกบิทไหมครับ ที่ทำopendns ก็ไม่ได้หมด ยังมีเว๊ปบางเว๊ปเข้าได้ ขาดความรู้อย่างมากมาย

  4. laontalk 26 February 2009 at 10:42 am Permalink

    เมื่อยกเลิก OpenDNS แล้วให้ติดตั้ง Squid Guard แทนครับ
    http://files.pfsense.org/tutorials/squidguard/squidGuardQuick.htm

    เคยทดสอบ squid + OpenDNS แล้วมันไม่ block เลย.. ทาง OpenDNS เองก็ run proxy อยู่แล้ว เข้าใจว่าน่าจะต้อง config ส่วนอื่นเพิ่มเติมหรือไม่รองรับ proxy ตรงนี้ยังไม่มีข้อมูล

  5. laontalk 26 February 2009 at 10:53 am Permalink

    การ block P2P ต่อให้ป้องกันการโหลดไฟล์ .torrent, ป้องกันการเข้าเว็บ หรือ block port ถ้า user หัวหมอไปโหลดไฟล์ .torrent มาจากที่อื่นแล้วใช้โปรแกรมโหลดบิตจากเครือข่ายเราก็สามารถโหลดได้เหมือนเดิม

    วิธีการแก้ไขคือใช้ Traffic Shaper เพื่อจำกัด bandwidth ในการ Download & Upload โปรแกรมประเภท P2P จะดีกว่า โดยตั้งไว้ต่ำๆ เช่น 3 kb/sec เป็นต้น

    ลองเล่นดูก่อน โดยไปที่ Firewall > Traffic Shaper เดี๋ยวว่างๆ จะทำวีดีโอมา post ให้อีกทีครับ..

  6. laontalk 26 February 2009 at 11:51 am Permalink

    ปกติเวลาทดสอบวีดีโอ ผมจะใช้หูฟัง และลำโพงภายนอกแบบมี volume เสียงดังฟังชัดดีครับ ถ้าฟังเพลงด้วย Media player หรือ Winamp แล้วเสียงปกติดี แต่ดูวีดีโอผ่านเว็บกลับเสียงไม่ดัง ลอง Update Flash Player เป็นเวอร์ชั่นล่าสุดดูครับ อาจช่วยได้
    ทางเลือกอื่นๆ แนะนำ Firefox, Google Chrome

  7. Cyber7 1 March 2009 at 3:22 pm Permalink

    แล้วจะทำให้เก็บLogFile ตาม พรบ. ได้ย่างไรครับขอแนวทางหน่อยครับ

  8. laontalk 2 March 2009 at 2:24 am Permalink

    Post วิธีการเก็บ Log files ตาม พรบ. คอมพิวเตอร์ให้แล้วนะครับ ถ้าทดสอบแล้วว่าอันไหนเจ๋งกว่ากัน อย่าลืมมา Comment ให้เพื่อนสมาชิกท่านอืนๆ ได้รับทราบด้วยนะครับ

  9. tatummm 3 March 2009 at 9:30 pm Permalink

    ขอบคุณครับสำหรับการแนะนำดีๆ เล่นในโน๊ตบุ๊คเสียงเบามากแต่พอมาเปิดในPC กับได้เสียงดังขึ้นครับ สงสัยโน๊ตบุ๊คผมเองจะมีปัญหาซะแล้ว

  10. tatummm 3 March 2009 at 9:52 pm Permalink

    จะรอสอนTraffic Shaper ครับ อ๋อแล้วก็ ที่สอน ตรง Per-host throtting ถ้าเรากำหนดค่าตรงนี้ แล้ว มันจะจำกัดเฉพาะตรง binary file,CD image,multimedia files ตรงที่เราคลิกเครื่องหมายเท่านั้นถูกไหมครับ แล้วตรง throtte others extensions เราจะใส่ไฟล์ทัย ยังไงอ่ะครับ แบบว่าพิมพ์เข้ายังไงครับ งงครับผม ขอบคุณครับ

  11. Cyber7 3 March 2009 at 9:53 pm Permalink

    เด๋วจะลองดูครับ ขอบคุณครับ

  12. laontalk 8 March 2009 at 6:57 am Permalink

    Per-host throtting ของ pfSense เท่าที่ทดสอบดูผลลัพธ์ไม่ค่อยชัดเจนเท่าไหร่ เทียบกับ IPCop & Smootwall แล้วเข้าใจง่ายกว่าเยอะเลย
    ฉะนั้น Traffic Shaper น่าจะเป็นทางออกที่ดีที่สุดสำหรับ pfSense

  13. fufu 24 April 2009 at 2:43 pm Permalink

    อาจารย์คับ ผมลอง ทำload balance พร้อมกับติดตั้ง ตัว proxy squid แล้ว แต่มันใช้งานไม่ได้คับ คือถ้ามีเน็ตเส้นนึงหลุด มันจะไม่ต่อให้ เฉพาะ port80 คับ ส่วน msnหรือcamfrog สามารถใช้งานได้ ผมต้องเข้าไปกำหนดตัวไหนเพิ่มป่าวคับ

  14. laontalk 24 April 2009 at 3:29 pm Permalink

    ผมเองก็อยากทดสอบ load balance เหมือนกัน แต่ตอนนี้มีเน็ทแค่เส้นเดียวครับ
    ประเด็นสำคัญคือ
    - NAT (Manual Outbound NAT)
    - Load Balance Pool จะต้องสร้าง gateway ขึ้นมาเพื่อรวมระหว่าง WAN1 & WAN2 เข้าด้วยกัน
    - การกำหนด Rule ของ LAN, WAN1, WAN2

    เมื่อ config เสร็จแล้วควรทดสอบใช้งาน ลองปิด Rounter ตัวใดๆ ดูก่อนโดยไม่ต้องลงโปรแกรมเสริม

    ข้อดีึของ pfSense ก็คือการรวมลิงค์ครับ เช่น เรามี WAN1=2M, WAN2=2.5M
    รวมกันเป็น 4.5M เมื่อ speed test แล้วจะต้องได้ 4.5M ครับ

    ส่วนการจะแยกลิงค์เน็ทและเกมส์ ให้ใช้ Rule > LAN เป็นตัวกำหนดครับ
    และชี้ไปที่ gateway ของ WAN1 หรือ WAN2

  15. fufu 24 April 2009 at 5:08 pm Permalink

    เรื่องรวมลิ้งนี่ผมไม่ทราบจริงๆ คับ ผมแค่ทำ load balance ไว้กันอีกสายเดี้ยงเท่านั้นเองคับ ไม่ทราบว่าต้องset pool กับ nat ยังไงให้มันสามารรวมลิ้งได้คับ อยากให้อาจารย์ออก วิดีโอสอนเร็วๆจังคับ

  16. rgung 27 April 2009 at 7:39 am Permalink

    ขอบคุณมากครับ สำหรับการแบบ วีดีโอ และข้อมูลอื่นๆ ผมค้นหาวิธีทำมานานแล้ว ตั้งแต่ Monowall แต่ไม่มีการสอนที่ละเอียดแบบนี้ คราวนี้ต้องสำเร็จแน่นอน

  17. rookie 5 May 2009 at 10:00 am Permalink

    squid ใน pfsense สามารถเซ็ตให้กลุ่มไอพีที่ไม่ต้องการออกเน็ทได้ไหม อย่างเช่น

    192.168.100.100 – 192.168.100.150 can not use Internet but can use POP3 and SMTP

    192.168.100.151 – 192.168.100.200 use Internet and Mail

    ตอบคุณ rookie
    ลองใ้ช้ Aliases ตามคอมเมนท์นี้ดูครับ อาจช่วยได้
    http://www.laontalk.com/2009/01/26/532#comment-118

    laontalk 11/05/2552

    • laontalk 7 May 2009 at 12:11 pm Permalink

      ผมไม่แน่ใจเหมือนกันว่า pfSense ทำได้ไหมยังไม่ได้ลอง แต่กรณีคล้ายกันนี้ผมเคยทำโดยใช้ IPCOP ซึ่งจะต้องติดตั้ง Advance Proxy และเข้าไปปรับปรุงไฟล์ include.acl โดยกำหนดให้

      Block Mac Address –> เล่นได้บางเว็บ และรับส่งเมล์ได้
      Allow Mac Address –> สามารถเข้าเว็บได้ทั้งหมด และรับส่งเมล์ได้

      ในรายละเอียดค่อนข้างซับซ้อนนิดหน่อยครับ

      ส่วนเรื่อง pfSense 1.2.2 ยังไม่รองรับ Proxy with Load balance ครับ
      ลอง 1.2.3 แล้วหรือยัง

  18. rookie 6 May 2009 at 12:14 pm Permalink

    squid ใช้ loadbalance ไม่ได้หรือครับ

  19. kajoo 7 May 2009 at 12:23 pm Permalink

    มีวิธีเก็บ log file โดยไม่ต้องลง squid ไหมครับ

    ช่วยสอนหน่อยครับ ผมกำลังขึ้นใช้งานใน วันสองวันนี้ แล้วครับ

    ผมอยากจะเทสก่อนครับ

    ขอบคุณล่วงหน้าครับ

  20. laontalk 7 May 2009 at 12:37 pm Permalink

    ถ้าต้องการดู system logs อย่างเดียว ก็คงต้องใช้ Kiwi Syslog Server หรือ Syslog Watcher

    ส่วนรายละเอียด, ปริมาณการเข้าเว็บไซต์ และการโหลดข้อมูลต่าง ๆ ก็ยังต้องพึ่ง proxy อยู่
    แต่ข้อดีของ proxy ไม่ได้อยู่ที่ log ไฟล์แต่เป็นความเร็วในการใช้งาน Internet ของวง LAN ครับ

    สังเกตจาก ISP จะใช้บริการ Proxy Server ทั้งหมดเลย

  21. kajoo 8 May 2009 at 9:44 am Permalink

    squid in pfsense
    ทำ load balance ไงครับ

  22. noktualek 2 June 2009 at 9:47 pm Permalink

    Pfsense ไม่สามารถดู log การเข้าใช้ internet แบบ smoothwall หรือ endian เหรอครับ

    คือบอกเวลา ชื่อผู้ใช้ ip และเวปได้เลย รวมถึง search หาดูเป็นรายวันหรือเดือนได้ เหมือนรูปนะครับ

    IT2771897-1.jpg

  23. laontalk 3 June 2009 at 2:19 am Permalink

    บน pfSense ถ้าต้องการดู proxy report ก็ต้องติดตั้ง Light Squid ครับ รูปแบบรายงานอาจจะแตกต่างกันออกไป แต่ก็ครบถ้วนนะ สำหรับ proxy report

    ส่วน Instant Massenages, email, sarg บน pfSense ไม่มีรายงานครับ

  24. noktualek 3 June 2009 at 10:25 am Permalink

    ขอบคุณสำหรับเวปดีๆ และำำคำแนะนำครับ

    ไม่ทราบว่า Squid light สามารถสืบค้นว่า user คนนั้น หรือ ip ภายในเราเข้าเวปอะไร ระบุเป็นเป็นเวลา ได้หรือเปล่าครับ เพราะเคยลอง SARG ตัวรายงานทำได้แค่ สถิติการเข้าชมเวปไซต์เป็นวันนั้นๆ ไม่ได้บอกเวลากำกับด้วย กลัวว่าจะมีปัญหาหากใครคนหนึ่งทำผิดแล้ว เกิดมีคน 100 คน เข้าเวปไซต์เหล่านั้นพร้อมกันในวันนั้น

    การกลั่นกรองคนร้อยคนก็ถือว่าน้อยจากคนเป็นพัน แต่หากมีเวลากำกับไว้ด้วยก็คงลดเหลือแค่ไม่ถึงสิบคน เลยอยากขอคำแนะนำด้วยครับ

    อยากใช้ pfsense ในองค์กรนะครับ เพราะดู function ต่างๆ แล้วมีครบน่าใช้งานดี ตอนนีใช้ smoothwall อยู่ครับ

    ขอขอบคุณครับ

  25. laontalk 3 June 2009 at 12:09 pm Permalink

    .
    Light Squid Snapshot

    Monthly Report
    lightsquid-1.jpg

    Daily Report
    lightsquid-2.jpg

    Per-IP Address Report
    lightsquid-3.jpg

    Smoothwall เป็นไงบ้างครับ เสถียรดีไหม ทำไมถึงอยากเปลี่ยนมาใช้ pfSense ครับ ผมเคยใช้อยู่พักหนึ่ง ดูแล้วก็มีของเล่นครบนะ แต่ทำ IPSEC VPN แบบ Dynamic กับ PPTP VPN ไม่ได้ (เท่าที่จำได้นะ)

  26. noktualek 3 June 2009 at 1:08 pm Permalink

    ขอบคุณนะครับที่เอาระบบการรายงาน log มาให้ดู ถ้าเกิดเปรียบเทียบแล้ว การ generate ของlight squid คงจะเจอจุดดีที่สามารถเก็บรวมรวมข้อมูลได้หลายปี เพราะมีการระบุ ปี คศ ด้วย ซึ่งตัว Smoothwall คงต้องอาศัยของ Sarg มาจัดการ

    ถ้าให้เทียบแล้ว Smoothwall มี option ต่างๆ ที่ดูน้อยกว่านะครับในเรื่องของ VPN QOS และแต่ละ Add on ผู้ใช้ต้องติดตั้งผ่าน command เอง แต่ไม่ยาก และยังไม่มี Load balance ครับ

    แต่จุดดีที่ Smoothwall ทำได้ดีกว่าในเรื่องของการเก็บ Log นะครับ เพราะสามารถ ระบุ วันได้ว่า user เข้าไปใช้งานที่เวปใดได้บ้าง จะได้สืบค้นหาคนกระทำผิดได้ง่าย แต่ก็ยังพบจุดด้อยคือต้อง พิิสูจน์ตัวตนผ่าน Proxy ดังนั้นเครื่องลูกทุกเครื่องต้องไปเซทค่า proxy หากมีพวก Protal ด้วยคงดี เคยเห็นในเวปมี Portal ใช้กับ vession 2 ปัจจุบันเป็น Version 3 อาจจะใช้งานไม่ได้

    โดยรวมแล้ว Pfsense มีการปรับแต่งค่าได้มากกว่าครับ มีขาดอยู่จุดเดียวคือการจัดเก็บ Log ตัวโปรแกรม lightsquid ไม่ได้รายงานเป็นชื่อผู้ใช้ รายงานเป็น IP ซึ่งหากผู้ใช้อื่น Fix ip หรือได้ IP ไม่ตรงกันในแต่ละวัน คงต้องเป็นเรื่องตกเถียงกันอีกว่า ใครกันแน่เป็นคนใช้งาน

    แต่อย่างไรก็ตามสามารถเก็บข้อมูลการใช้ได้ก็ถือว่าจำกัดวงการสืบค้นผู้กระทำผิดได้มากขึ้นครับ

    ขอขอบคุณสำหรับคำแนะนำนะครับ ใจจริงอยากพัฒนาใส่ mysql จะได้ทำให้สามารถสืบค้นหาข้อมูลได้มากกว่านี้ครับ

  27. dangerman 9 June 2009 at 11:53 am Permalink

    ผมลง Squid แล้วครับ แต่พอเลือกให้ใช้ proxy server เนตเข้าไม่ได้เลยครับ ไม่รู้ว่าทำอะไรผิด ทั้ง ๆ ที่ทำตาม video clip ทุกอย่างเลย

  28. laontalk 10 June 2009 at 11:55 pm Permalink

    ถ้าทำตาม VDO ทุกอย่างก็ไม่น่าผิดอะไร งั้นลองตรวจสอบตามนี้ดูครับ

    1. ลองตรวจสอบเครื่อง Client ว่าได้รับแจก IP Address, DNS ,Gateway ถูกต้องหรือไม่
    2. ทดสอบ pinging เว็บไซต์ หรือ DNS ของ ISP เช่น ping 203.144.207.49
    3. Service > DNS forwarder เลือก Enable DNS Forwarder
    4. System > General Setup เลือก Allow DNS server list to be overridden by DHCP/PPP on WAN

  29. laontalk 11 June 2009 at 12:02 am Permalink

    ขอบคุณ K.noktualek อธิบายได้เห็นภาพดีมาก ถ้าสามารถพัฒนาให้เก็บ Log via MySQL ได้อย่าลืมแบ่งปันชาว laontalk ด้วยนะครับ

  30. ksnick 23 June 2009 at 11:23 pm Permalink

    ทำไม มาถึงขั่นตอนนี้ pfsense ของผม มันไม่มี packet เหมือนในวีดีโอเลยครับ หรือว่า ต้องติดตั้งเพิ่มยังไงครับ หรือว่า คนละเวอร์ชั่นกัน

  31. laontalk 25 June 2009 at 11:41 am Permalink

    ตามวีดีโอใช้ pfSense 1.2.3 RC1 ครับ และติดตั้งลง HDD, ส่วน packages อาจจะไม่เหมือนกัน ขึ้นอยู่กับเวอร์ชั่นที่ติดตั้งครับ

  32. noktualek 25 June 2009 at 8:25 pm Permalink

    นำมาบอกันครับ

    ไปอ่านเจอการเก็บ Proxy log ที่สามารถระบุ วัน เวลา user และ url ที่ user ได้
    โดยจะจัดเก็บไว้ที่ access.log ครับ ถือว่าดีทีเดียว

    http://www.hadyaiinternet.com/index.php?topic=254.0

    แต่พบปัญหาว่า
    1. จะต้องกำหนด rotate log เอง หาก rotate แล้ว Zip พร้อมใส่ รหัส ไปด้วยเข้าตาม พรบ เป๊ะเชะ เลยครับ
    2. เมื่อรูปแบบ access.log เปลี่ยนจาก format เดิมเป็นวันที่ และเวลาทำให้เราเ้ข้าใจง่ายขึ้น แต่โปรแกรม เดิมๆ ที่มีอยู่จะไม่สามารถเข้าไปอ่านค่าจาก access.log ได้ครับ คือมีข้อดีและมีข้อเสีย

    กำลังหาวิธีแก้คือ
    - access.log ที่อยู่ที่ /var/log/squid/access.log ให้คง format เดิมไว้
    แต่
    -ไปสร้าง access.log ตัวใหม่ที่ directory อื่น (ยังไม่ได้ทดลองนะครับ พอดีตอนนี้ใช้ smoothwall อยู่อยากเปลี่ยนไปใช้ pfsense บ้างแหระ ติดแค่เรื่อง log ตามพรบ)

    คำถามนิดหน่อยนะครับ
    -Pfsense มี พวก Samba ป่าวครับจะได้วาง access.log ใน zamba หากเรียนรู้ function ในการ zip แล้วเข้ารหัสได้อีก คงดีไม่น้อย
    - มีใครรพอมีเวปสอน การทำ Rotagelog ไฟล์ให้ครบ 90 วันบ้างครับ ครบแล้วให้ zip ไว้พร้อมใส่รหัส หากมีความรู้ดีๆ แชร์กันหน่อยนะครับ

    ปล.
    เวปที่ให้ไปคิดว่าคงตอบคำถาม พรบ ได้มากเลยทีเดียวครับ ติดแค่ จะ rotate แล้ว zip พร้อมใส่รหัสอย่างไร

  33. McMoore4110 2 July 2009 at 1:59 pm Permalink

    ลง squid แล้วตั้งค่าเรียบร้อย พอ Reboot ใหม่กลับมา squid ไม่ทำงานครับ กดให้ทำงานก้ไม้ทำงานครับ ช่วยทีครับ

  34. laontalk 2 July 2009 at 4:08 pm Permalink

    การติดตั้งนี้เริ่มใหม่เลยหรือป่าวครับ,ลอง remove squid แบบลบไดเร็กทอรี่ แล้วติดตั้งใหม่ดูครับ, ถ้ามี light squid อยู่แล้วก็ให้ remove ออกด้วย

    เริ่มต้น config squid ให้เซ็ตที่ general setting ก่อน ส่วนอื่นยังไม่ต้องยุ่ง ทดสอบรันระบบดูก่อน ถ้าผ่านแล้วค่อย config เพิ่มเติม cache management, ALC etc..

  35. McMoore4110 2 July 2009 at 6:48 pm Permalink

    ขอบคุณครับ ตอนนี้กำลังคิดดูว่าลงใหม่ หรือจะไม่ใช้ดีครับ เพราะที่อยากลงใหม่เพราะชอบ lightsquid แต่ที่ไม่อยากจะใจ้เพราะ squid มันชอบหน่วงๆ ที่บริษัทใช้งานอินเตอร์เนตหลายร

    ปแบบ ดาวโหลดไดร์เวอร์ ดูกล้องจากหลายๆที่ แต่ตอนนี้ผมติดที่ Remove เจ้า lightsquid ไม่ได้ ไปเช็คที่ shell (pkg_info) ก็ไม่เจอแต่โชว์ที่หน้า Install ขอแนวทางการถอนการติดตั้งด้วยนะครับ (ไม่แน่ใจเป็นเพราะผมใช้ Remove จาก Web page หรือเปล่า)

  36. McMoore4110 2 July 2009 at 6:50 pm Permalink

    อีกอย่างครับรบกวนขอขั้นตอนลบห้อง squid ด้วยนะครับ ตรงๆเลยนะครับ ไม่เป็น linux เลยครับ อาจารย์บอกพิมพ์อยากไรแค่ไหนผมก็ได้แค่ที่บอกเลยครับ linux ระดับเตรียมอนุบาล 1

  37. laontalk 3 July 2009 at 12:34 pm Permalink

    ขั้นตอนยกเลิกการติดตั้ง ก็ทำตามที่สอนไว้ใน VDO นั่นแหละครับ ซึ่งขั้นตอนสรุปสั่นๆ ก็คือ

    1. ยกเลิกจาก package ผ่านเว็บ GUI

    2. ตรวจสอบด้วยคำสั่ง pkg_info

    3. ลบ package ด้วยคำสั่ง pkg_delete

    ถ้ายังเพี้ยนๆ อยู่แนะนำว่าลงใหม่ดีกว่าครับ ใช้เวลาแปล็บเดียวเอง

  38. hikkipop 24 July 2009 at 10:03 am Permalink

    รบกวนถามคำถามนิดนึงครับ คือพอดีผมมือใหม่ครับลองใช้pfsense คือ วงไอพีบริษัทผม 192.168.2.0
    ืทีนี้ผมก็จะเอาตัวpfsenseไปใช้โดยที่ จะให้แจกไอพี 192.168.1.0 ของอีกวงนึง คือผมอยากจะทราบการตั้งrulesอะครับ คือ ณ ตอนนี้ ถ้าผมยังไม่ล็อคอินเนี่ย จะไม่สามารถpingเจอ192.168.2.0ได้ แต่พอล็อคอิน authenปุ๊บ มันสามารถpingเจอกันได้ ไม่ทราบว่าผมต้องตั้งยังไงครับ ไม่ให้ วงที่2 เข้าไปยุ่งเกี่ยวกับ วงที่1 โดยสิ้นเชิงครับ ขอบคุณมากครับสำหรับคำตอบครับ คือจะให้ใช้เล่นเนตอย่างเดียวครับผมสำหรับวงที่ 2

  39. laontalk 24 July 2009 at 8:06 pm Permalink

    ลองศึกษา VDO Tutorial นี่ดูครับ แยก Subnet ได้แน่นอน จะใช้เฉพาะ wireless หรือใช้ร่วมกับแบบมีสายก็ย่อมได้

    http://www.laontalk.com/2009/06/25/1226

  40. noktualek 11 August 2009 at 1:40 am Permalink

    ทำไมใช้ Proxy แล้ว ได้ความเร็วในการ เช็ค speed ลดลงนะครับ สงสัยมากๆเลย

    เพื่อนๆ เป็นกันหรือเปล่าครับ
    http://www.thaiadmin.org/board/index.php?topic=108829.msg457993

  41. laontalk 11 August 2009 at 5:26 pm Permalink

    เป็นเหมือนกัน! ผมพยายามปรับแต่งอยู่แต่ก็ไม่สำเร็จ เมื่อทดสอบเข้าเว็บผ่าน Proxy กับไม่ผ่าน proxy ความเร็วแตกต่างกันนิดหน่อย เหมือนที่คุณ noktualek ทดสอบนั่นแหละครับ

    ผมได้ทดสอบอีกวิธีหนึ่ง โดยใช้ Plawan CentralLog ทำหน้าที่เป็น proxy ส่วน pfsense ทำหน้าที่ firewall & gateway

    ผลที่ได้รับน่าพอใจมาก เมื่อ speedtest แล้ว แทบไม่แตกต่างจากการไม่ได้ใช้ proxy เลยทีเดียว

    แสดงว่า pfSense + Squid Proxy ประสิทธิภาพด้อยกว่าใช้เครื่องอื่นทำหน้าที่ proxy แทน

  42. noktualek 21 August 2009 at 1:49 am Permalink

    ขอบคุณ laontalk สำหรับผลการทดสอบนะครับ ตอนแรกนึกว่าเป็นที่เครื่องผมเครืองเดียวเสียอีก

    ตอนนี้กำลังสนใจเรื่อง multiwan ครับ จริงหรือเปล่าที่มีข้อจำกัดอยู่เยอะสำหรับ version 1.2.2 เช่น

    - ใช้ proxy ไม่ได้
    - ความเร็วรวม 2 link ไม่ได้
    - แต่แยกได้ว่าจะให้อะไรออกเส้นไหน

    ขอคำแนะนำด้วยนะครับ

  43. dr.noi 21 August 2009 at 9:52 am Permalink

    PFsense 2.0 แนะนำด้วยครับ โหลดตัวไหนดี เยอะ จัด
    http://snapshots.pfsense.org/FreeBSD_RELENG_7_2/pfSense_HEAD/livecd_installer/

    bcoms20098219519.png

  44. laontalk 21 August 2009 at 11:30 am Permalink

    คุณ dr.noi โหลดได้ตามนี้ครับ

    http://www.laontalk.com/2009/08/18/1326/comment-page-1#comment-365

  45. laontalk 21 August 2009 at 11:56 am Permalink

    เรื่อง pfSense 1.2.2 + Multi-WAN + Proxy

    - ถ้าติดตั้ง Proxy คุณสมบัติ Fail Over จะไม่ทำงาน, Loadbance ยังคงทำงานปกติ แต่ทั้ง 2 Link ต้อง online นะครับ, ถ้า Link ใดๆ หลุด คุณสมบัติ loadbanance จะไม่ทำงานและจะใช้ Internet ไม่ได้เลยเนื่องจาก pfsense ใช้ Round Robin Algorithm

    - เมื่อ speed test ความเร็วเท่ากับ 1 link ที่เชื่อมต่อในขณะนั้น

    - สามารถใช้ Rules กำหนดได้ว่าจะให้ port ไหนออก WAN1, WAN2

    ถ้าจะใช้ pfSense + MultiWAN + Proxy ไม่ต้องติดตั้ง loadbalance pool ให้ยุ่งยากครับ, ใช้ Rules กำหนดได้เลยว่า ต้องการให้ port ไหนออก WAN1 or WAN2

  46. noktualek 21 August 2009 at 9:24 pm Permalink

    ต้องไปศึกษา Round Robin ซะหน่อยแล้ว

    เคยเล่น endian มันเอา 2 link มารวมกันเลยนะครับเลยแปลกใจว่าคุณ สมบัติ load balance ความหมายที่แท้จริงเขาคืออะไร

    แล้วอย่างกรณีแบบนี้ เขาทำได้อย่างไรครับ

    ผม set Load Balance ตาม Link ข้างใน ปรากฏว่า UpLoad เพิ่มขึ้นเป็นสองเท่า
    http://www.linuxthai.org/forum/index.php?topic=7100.0

    หากทำได้ก็จะเหมือน Endian เลย ( ยังคงกับ PFsense เพราะมี captiv portal ครับ)

    หมายเหตุ เดียวนี้ Firewall แข่งขันกันสูง Endian เองก็จะออก Version ใหม่ คุณสมบัติก็พราววแพรว น่าทดลองเป็นอย่างยิ่งเลย

  47. ratz 16 September 2009 at 9:59 am Permalink

    - ทำอย่างไรครับ ให้ Lightsquid ขึ้นชื่อ User ที่ Login อ่ะครับ
    - และทำอย่างไรครับให้ Lightsquid มันแสดงรายละเอียดของ LogFile ให้ละเอียดกว่านี้
    ผมว่ามันบอกว่าเข้าเว็บไหนแค่นั้นเอง แต่ไม่ได้บอกว่าเข้าไปทำอะไรอ่ะครับ

    กรุณาผู้รู้ช่วยทีครับ ขอบคุณนะครับ

  48. ratz 22 September 2009 at 3:56 pm Permalink

    ** และถ้าในกรณีมีคนทำผิดจริงละครับ เช่น มี User คนหนึงไป Upload ไฟล์ชื่อ A ไปยังเว็บ B ในเวลาๆนึงของวันนั้น แต่ก็ดันมี User อีกคนนึงไปเข้าเว็บ B นั้นพอดี และเราจะรู้ได้ยังครับว่าใครทำผิด…

  49. laontalk 23 September 2009 at 12:51 am Permalink

    ถ้าต้องการให้ light squid แสดงรายชื่อ Login ด้วย, จะต้องเปลี่ยนไประบบ Proxy Authentication แทนครับ..

    การตรวจสอบคงต้องหลายๆ อย่างรวมกัน เช่น IP Address, MAC Address, syslog เป็นต้น ถึงจะติดตามผู้กระทำผิดได้

    หรืออาจจะต้องใช้โปรแกรมประเภท Proxy Analyzer ตัวอื่นๆ เข้ามาช่วยดึงรายละเอียดจาก proxy logs อีกที ซึ่งเก็บอยู่ที่ /var/squid/log กำลังหาวิธีอยู่ ช่วยกันครับ..

  50. areaspk 26 September 2009 at 1:05 am Permalink

    เรียนสอบถามอาจารย์และผู้ที่ใช้งาน pfsense ครับมีอยู่สองเรื่องที่เป็นปัญหาตอนนี้
    1 เมื่อผมลง Lightsquid และ squidแล้วทำตาม VDO สอนทุกขั้นตอน แต่เมื่อ access web page จะไม่ได้ ระบบมันจะโชว์ HTTP 404 Not Found คือเล่นอินเตอร์เน็ตไม่ได้ครับ แต่เมื่อผมไป คลิ๊กเครื่องหมายถูกออกจาก Transparent proxy และก็ Bypass proxy for Private Address Space (RFC 1918) destination สองโหมด นี้จะอยู่ในหน้า General Setting ครับ จะสามารถเล่นอินเตอร์เน็ตได้ตามปกติครับ ผมเข้าใจว่าทำลักษณะนี้ User ที่เข้ามาเล่น จะไม่ได้ผ่าน proxy ครับ แก้ยังไงครับ

    2. ในส่วนของProxy server Report ในหน้า Squid user access report ผมเห็นว่า วันที่
    User เข้าใช้งาน ไม่ update ครับ เช่น วันนี้วันที่ 25/09/2009 แต่ระบบ ยัง โชว์ ของวันที่ 23/09/2009 อยู่ครับ ผมจะแก้อย่างไรครับ ปกติแล้วจะต้อง Update วันต่อวันใช่หรือเปล่าครับ


Leave a Reply

You must be logged in to post a comment.

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIOC5geC4peC5ieC4h+C4meC4teC5ieC5hOC4oeC5iOC5geC4peC5ieC4h+C4meC5ieC4s+C5g+C4iCDguJTguYnguKfguKLguIHguLLguKPguYPguKvguYnguYLguKXguKvguLTguJUg4Lij4LiT4Lij4LiH4LiE4LmM4Lib4Lij4Liw4LiK4Liy4LiK4LiZ4Lia4Lij4Li04LiI4Liy4LiE4LmC4Lil4Lir4Li04LiVIOC4q+C4p+C4seC5iOC4meC4guC4suC4lOC5geC4hOC4peC4meC4iuC5iOC4p+C4h+C4q+C4ouC4uOC4lOC5gOC4l+C4qOC4geC4suC4peC4quC4h+C4geC4o+C4suC4meC4leC5jCDguKjguLnguJnguKLguYzguJrguKPguLTguIHguLLguKPguYLguKXguKvguLTguJXguYHguKvguYjguIfguIrguLLguJXguLQg4LmC4LiX4LijLiAwIDIyNTYgNDMwMCwgICAwIDIyNjMgOTYwMC05OSDguJXguYjguK0gMTEwMTwvbGk+PGxpPjxzdHJvbmc+d29vX2Fib3V0X21vcmVfdGV4dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fib3V0X21vcmVfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWJvdXRfdGV4dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19yb3RhdGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfMjUwX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj48IS0tDQpnb29nbGVfYWRfY2xpZW50ID0gXCJwdWItMjY4Mjk4NDcyNjEzMzAzMFwiOw0KLyogMjUweDI1MCwg4LiW4Li54LiB4Liq4Lij4LmJ4Liy4LiH4LiC4Li24LmJ4LiZ4LmB4Lil4LmJ4LinIDEyLzI5LzA4ICovDQpnb29nbGVfYWRfc2xvdCA9IFwiMjkwMTY2MjgxOFwiOw0KZ29vZ2xlX2FkX3dpZHRoID0gMjUwOw0KZ29vZ2xlX2FkX2hlaWdodCA9IDI1MDsNCi8vLS0+DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiDQpzcmM9XCJodHRwOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL3Nob3dfYWRzLmpzXCI+DQo8L3NjcmlwdD48L2xpPjxsaT48c3Ryb25nPndvb19hZF8yNTBfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0yNTB4MjUwLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzI1MF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X2Fkc2Vuc2U8L3N0cm9uZz4gLSA8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj48IS0tDQpnb29nbGVfYWRfY2xpZW50ID0gXCJwdWItMjY4Mjk4NDcyNjEzMzAzMFwiOw0KLyogNDY4eDYwLCDguJbguLnguIHguKrguKPguYnguLLguIfguILguLbguYnguJnguYHguKXguYnguKcgMTIvMjkvMDggKi8NCmdvb2dsZV9hZF9zbG90ID0gXCIzMDk5NjgzMzkyXCI7DQpnb29nbGVfYWRfd2lkdGggPSA0Njg7DQpnb29nbGVfYWRfaGVpZ2h0ID0gNjA7DQovLy0tPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIg0Kc3JjPVwiaHR0cDovL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9zaG93X2Fkcy5qc1wiPg0KPC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29fYWRfY29udGVudF9pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTQ2OHg2MC0yLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2NvbnRlbnRfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMTwvc3Ryb25nPiAtIGh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9wcm9kdWN0X2Jhbm5lcnMvZVN0b3JlX2Jhbm5lcl8xMjVfMTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vYmV0YWdsdWNhbjEuY29tL2ltYWdlcy9idXNpbmVzczEyNXgxMjUuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubHVuYXJwYWdlcy5jb20vYmFubmVycy9pbWFnZXMvYmFubmVyX2Fkc18xMjV4MTI1XzAyLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vYmV0YWdsdWNhbjEuY29tL2ltYWdlcy9iYW5uZXIxMjV4MTI1LTIucG5nPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV82PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3BhZ2U8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy00Njh4NjAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3LnRpcHNhbmR0cmlja3MtaHEuY29tL3dvcmRwcmVzcy1lc3RvcmUtcGx1Z2luLWNvbXBsZXRlLXNvbHV0aW9uLXRvLXNlbGwtZGlnaXRhbC1wcm9kdWN0cy1mcm9tLXlvdXItd29yZHByZXNzLWJsb2ctc2VjdXJlbHktMTA1OT9hcF9pZD1zeXNuYXA8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMjwvc3Ryb25nPiAtIGh0dHA6Ly9iZXRhZ2x1Y2FuMS5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubHVuYXJwYWdlcy5jb20vaWQvc2VhdGVjaDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF80PC9zdHJvbmc+IC0gaHR0cDovL2JldGFnbHVjYW4xLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIGRlZmF1bHQuY3NzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZXNfcGFnZTwvc3Ryb25nPiAtIEFyY2hpdmVzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZV9jb250ZW50PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19hcnRpY2xlc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX2FydGljbGVzX3Rlcm1faWQ8L3N0cm9uZz4gLSA5OTwvbGk+PGxpPjxzdHJvbmc+d29vX2FzaWRlc19jYXRlZ29yeTwvc3Ryb25nPiAtIEZlYXR1cmVkPC9saT48bGk+PHN0cm9uZz53b29fYXNpZGVzX2VudHJpZXM8L3N0cm9uZz4gLSAxPC9saT48bGk+PHN0cm9uZz53b29fYXVkaW9fY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19hdWRpb190ZXJtX2lkPC9zdHJvbmc+IC0gMTAxPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jncjwvc3Ryb25nPiAtIGRlZmF1bHQuY3NzPC9saT48bGk+PHN0cm9uZz53b29fYml0bHlfYXBpX2tleTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2JpdGx5X2FwaV9sb2dpbjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2JvZHlfY29sb3I8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ib2R5X2ltZzwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2JvZHlfcG9zPC9zdHJvbmc+IC0gdG9wPC9saT48bGk+PHN0cm9uZz53b29fYm9keV9yZXBlYXQ8L3N0cm9uZz4gLSByZXBlYXQ8L2xpPjxsaT48c3Ryb25nPndvb19idXR0b25fY29sb3I8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jYXRfZXg8L3N0cm9uZz4gLSAxNTwvbGk+PGxpPjxzdHJvbmc+d29vX2NhdF9tZW51PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbW1lbnRzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29udGFjdGZvcm1fZW1haWw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50X2FyY2hpdmVzPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50X2hvbWU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9jc3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fZmF2aWNvbjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9yc3M8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX3Nlb190ZW1wbGF0ZTwvc3Ryb25nPiAtIGE6Mjp7aTowO2E6NTp7czo0OiJuYW1lIjtzOjEwOiJzZW9faW5mb18xIjtzOjM6InN0ZCI7czowOiIiO3M6NToibGFiZWwiO3M6NDoiU0VPICI7czo0OiJ0eXBlIjtzOjQ6ImluZm8iO3M6NDoiZGVzYyI7czoxODk6IkFkZGl0aW9uYWwgU0VPIGN1c3RvbSBmaWVsZHMgYXZhaWxhYmxlOiA8c3Ryb25nPkN1c3RvbSBQYWdlIFRpdGxlczwvc3Ryb25nPi4gR28gdG8gPGEgaHJlZj0iaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtYWRtaW4vYWRtaW4ucGhwP3BhZ2U9d29vdGhlbWVzX3NlbyI+U0VPIFNldHRpbmdzPC9hPiBwYWdlIHRvIGFjdGl2YXRlLiI7fWk6MTthOjU6e3M6NDoibmFtZSI7czoxMDoic2VvX2ZvbGxvdyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NToibGFiZWwiO3M6MjE6IlNFTyAtIFJlbW92ZSBOb2ZvbGxvdyI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94IjtzOjQ6ImRlc2MiO3M6NTk6Ik1ha2UgbGluayBmcm9tIHRoaXMgcG9zdC9wYWdlIGZvbGxvd2FibGUgYnkgc2VhcmNoIGVuZ2luZXMuIjt9fTwvbGk+PGxpPjxzdHJvbmc+d29vX2R5bmFtaWNfaW1nX2hlaWdodDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19mYWNlYm9vazwvc3Ryb25nPiAtIG1hc2UudGI8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9jYXRlZ29yeTwvc3Ryb25nPiAtIEZlYXR1cmVkPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfZW50cmllczwvc3Ryb25nPiAtIDM8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9wb3N0czwvc3Ryb25nPiAtIDE8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gMjc5NTM0MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sYW9udGFsay5jb20vZm9ydW0vPC9saT48bGk+PHN0cm9uZz53b29fZmVlZF91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mbGlja3JfZW50cmllczwvc3Ryb25nPiAtIDY8L2xpPjxsaT48c3Ryb25nPndvb19mbGlja3JfaWQ8L3N0cm9uZz4gLSAzNTM2ODEzNEBOMDY8L2xpPjxsaT48c3Ryb25nPndvb19mb250X3NpdGVfdGl0bGU8L3N0cm9uZz4gLSBhOjU6e3M6NDoic2l6ZSI7czoyOiI0MCI7czo0OiJ1bml0IjtzOjI6InB4IjtzOjQ6ImZhY2UiO3M6NzoiR2VvcmdpYSI7czo1OiJzdHlsZSI7czowOiIiO3M6NToiY29sb3IiO3M6NzoiIzAwMDAwMCI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX2ZvbnRfdGFnbGluZTwvc3Ryb25nPiAtIGE6NTp7czo0OiJzaXplIjtzOjI6IjE0IjtzOjQ6InVuaXQiO3M6MjoicHgiO3M6NDoiZmFjZSI7czo3OiJHZW9yZ2lhIjtzOjU6InN0eWxlIjtzOjY6Iml0YWxpYyI7czo1OiJjb2xvciI7czo3OiIjOTk5OTk5Ijt9PC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2FmZl9saW5rPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2N1c3RvbTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2N1c3RvbV90ZXh0PC9zdHJvbmc+IC0gPHA+PC9wPjwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3RfY2F0X21lbnU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3RfbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mcmFtZXdvcmtfdmVyc2lvbjwvc3Ryb25nPiAtIDIuOS4xNDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2NvbnRlbnQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfbGlua19kZXNjPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9saW5rX3RleHQ8L3N0cm9uZz4gLSBIb21lPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX3RodW1iX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faW1hZ2VzX2NhdGVnb3J5PC9zdHJvbmc+IC0gU2VsZWN0IGEgY2F0ZWdvcnk6PC9saT48bGk+PHN0cm9uZz53b29faW1hZ2VzX3Rlcm1faWQ8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9saW5rX3RvPC9zdHJvbmc+IC0gcG9zdDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fbGF5b3V0PC9zdHJvbmc+IC0gZGVmYXVsdC5waHA8L2xpPjxsaT48c3Ryb25nPndvb19saW5rc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX2xpbmtzX3Rlcm1faWQ8L3N0cm9uZz4gLSAxMDQ8L2xpPjxsaT48c3Ryb25nPndvb19saW5rX2NvbG9yPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fbGlua19ob3Zlcl9jb2xvcjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vd3d3Lmxhb250YWxrLmNvbS9pbWFnZXMvbGFvbnRhbGstbG9nby1uZXcucG5nPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL3N1cHBvcnQvdGhlbWUtZG9jdW1lbnRhdGlvbi9tYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19uZWVkc190dW1ibG9nX3VwZ3JhZGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX29wdGlvbnM8L3N0cm9uZz4gLSBhOjUyOntzOjE4OiJ3b29fYWx0X3N0eWxlc2hlZXQiO3M6MTE6ImRlZmF1bHQuY3NzIjtzOjg6Indvb19sb2dvIjtzOjQ4OiJodHRwOi8vd3d3Lmxhb250YWxrLmNvbS9pbWFnZXMvbGFvbnRhbGtfbG9nby5wbmciO3M6MTM6Indvb190ZXh0dGl0bGUiO3M6NToiZmFsc2UiO3M6MTk6Indvb19mb250X3NpdGVfdGl0bGUiO2E6NTp7czo0OiJzaXplIjtzOjI6IjQwIjtzOjQ6InVuaXQiO3M6MjoicHgiO3M6NDoiZmFjZSI7czo3OiJHZW9yZ2lhIjtzOjU6InN0eWxlIjtzOjA6IiI7czo1OiJjb2xvciI7czo3OiIjMDAwMDAwIjt9czoxNjoid29vX2ZvbnRfdGFnbGluZSI7YTo1OntzOjQ6InNpemUiO3M6MjoiMTQiO3M6NDoidW5pdCI7czoyOiJweCI7czo0OiJmYWNlIjtzOjc6Ikdlb3JnaWEiO3M6NToic3R5bGUiO3M6NjoiaXRhbGljIjtzOjU6ImNvbG9yIjtzOjc6IiM5OTk5OTkiO31zOjE4OiJ3b29fY3VzdG9tX2Zhdmljb24iO3M6MDoiIjtzOjIwOiJ3b29fZ29vZ2xlX2FuYWx5dGljcyI7czowOiIiO3M6MTI6Indvb19mZWVkX3VybCI7czowOiIiO3M6MTk6Indvb19zdWJzY3JpYmVfZW1haWwiO3M6MDoiIjtzOjIxOiJ3b29fY29udGFjdGZvcm1fZW1haWwiO3M6MDoiIjtzOjE0OiJ3b29fY3VzdG9tX2NzcyI7czowOiIiO3M6MTI6Indvb19jb21tZW50cyI7TjtzOjE0OiJ3b29fY3VzdG9tX3JzcyI7czo0OiJ0cnVlIjtzOjE2OiJ3b29faG9tZV9jb250ZW50IjtzOjU6ImZhbHNlIjtzOjE5OiJ3b29fYXJjaGl2ZV9jb250ZW50IjtzOjU6ImZhbHNlIjtzOjIxOiJ3b29fYXJ0aWNsZXNfY2F0ZWdvcnkiO3M6MTg6IlNlbGVjdCBhIGNhdGVnb3J5OiI7czoxOToid29vX2ltYWdlc19jYXRlZ29yeSI7czoxODoiU2VsZWN0IGEgY2F0ZWdvcnk6IjtzOjE3OiJ3b29faW1hZ2VfbGlua190byI7czo0OiJwb3N0IjtzOjE5OiJ3b29fdmlkZW9zX2NhdGVnb3J5IjtzOjE4OiJTZWxlY3QgYSBjYXRlZ29yeToiO3M6MTk6Indvb19xdW90ZXNfY2F0ZWdvcnkiO3M6MTg6IlNlbGVjdCBhIGNhdGVnb3J5OiI7czoxODoid29vX2xpbmtzX2NhdGVnb3J5IjtzOjE4OiJTZWxlY3QgYSBjYXRlZ29yeToiO3M6MTg6Indvb19hdWRpb19jYXRlZ29yeSI7czoxODoiU2VsZWN0IGEgY2F0ZWdvcnk6IjtzOjE0OiJ3b29fYWJvdXRfdGV4dCI7czowOiIiO3M6MTk6Indvb19hYm91dF9tb3JlX3RleHQiO3M6MDoiIjtzOjE4OiJ3b29fYWJvdXRfbW9yZV91cmwiO3M6MDoiIjtzOjE1OiJ3b29fdXJsX3Nob3J0ZW4iO3M6MTc6IlNlbGVjdCBhIFNlcnZpY2U6IjtzOjE5OiJ3b29fYml0bHlfYXBpX2xvZ2luIjtzOjA6IiI7czoxNzoid29vX2JpdGx5X2FwaV9rZXkiO3M6MDoiIjtzOjE0OiJ3b29fYm9keV9jb2xvciI7czowOiIiO3M6MTI6Indvb19ib2R5X2ltZyI7czowOiIiO3M6MTU6Indvb19ib2R5X3JlcGVhdCI7czo2OiJyZXBlYXQiO3M6MTI6Indvb19ib2R5X3BvcyI7czozOiJ0b3AiO3M6MTQ6Indvb19saW5rX2NvbG9yIjtzOjA6IiI7czoyMDoid29vX2xpbmtfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjE2OiJ3b29fYnV0dG9uX2NvbG9yIjtzOjA6IiI7czoxMjoid29vX2NhdF9tZW51IjtzOjQ6InRydWUiO3M6MTU6Indvb19uYXZfZXhjbHVkZSI7czowOiIiO3M6MjI6Indvb19wb3N0X2ltYWdlX3N1cHBvcnQiO3M6NToiZmFsc2UiO3M6MTc6Indvb19waXNfaGFyZF9jcm9wIjtzOjU6ImZhbHNlIjtzOjEwOiJ3b29fcmVzaXplIjtzOjQ6InRydWUiO3M6MTI6Indvb19hdXRvX2ltZyI7czo1OiJmYWxzZSI7czoyMjoid29vX2R5bmFtaWNfaW1nX2hlaWdodCI7czo0OiJ0cnVlIjtzOjExOiJ3b29fdGh1bWJfdyI7aTo0NDA7czoxMToid29vX3RodW1iX2giO2k6MjAwO3M6MTU6Indvb190aHVtYl9hbGlnbiI7czo5OiJhbGlnbmxlZnQiO3M6MTY6Indvb190aHVtYl9zaW5nbGUiO3M6NToiZmFsc2UiO3M6MTI6Indvb19zaW5nbGVfdyI7aTo0NDA7czoxMjoid29vX3NpbmdsZV9oIjtpOjIwMDtzOjEzOiJ3b29fcnNzX3RodW1iIjtzOjU6ImZhbHNlIjtzOjE5OiJ3b29fZm9vdGVyX2FmZl9saW5rIjtzOjA6IiI7czoxNzoid29vX2Zvb3Rlcl9jdXN0b20iO3M6NToiZmFsc2UiO3M6MjI6Indvb19mb290ZXJfY3VzdG9tX3RleHQiO3M6NzoiPHA+PC9wPiI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX290aGVyX2VudHJpZXM8L3N0cm9uZz4gLSA0PC9saT48bGk+PHN0cm9uZz53b29fb3RoZXJfaGVhZGxpbmVzPC9zdHJvbmc+IC0gNDwvbGk+PGxpPjxzdHJvbmc+d29vX3Bpc19oYXJkX2Nyb3A8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Bvc3RfaW1hZ2Vfc3VwcG9ydDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fcHJvZmlsZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubGFvbnRhbGsuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvOC10aGFpMDFfcmVzaXplLmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX3F1b3Rlc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX3F1b3Rlc190ZXJtX2lkPC9zdHJvbmc+IC0gMTAzPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Jzc190aHVtYjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2VvX3RlbXBsYXRlPC9zdHJvbmc+IC0gYTozMTp7aTowO2E6Mjp7czo0OiJuYW1lIjtzOjY6IkJhc2ljcyI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjE7YTozOntzOjQ6Im5hbWUiO3M6MTE6IlBsZWFzZSBSZWFkIjtzOjQ6InR5cGUiO3M6NDoiaW5mbyI7czozOiJzdGQiO3M6MzUyOiJXZWxjb21lIHRvIHRoZSBXb29TRU8gZmVhdHVyZS4gPGJyIC8+PHNtYWxsPkhlcmUgd2UgaGVscCB5b3UgdGFrZSBjb250cm9sIG9mIHlvdXIgc2VhcmNoIGVuZ2luZSByZWFkaW5lc3Mgd2l0aCBzb21lIGluLWJ1aWx0IHRoZW1lIG9wdGlvbnMuIE91ciB0aGVtZXMgZG8gaG93ZXZlciBzdXBwb3J0IHR3byBvZiBXb3JkUHJlc3Mub3JnJ3MgbW9zdCBjb21tb25seSB1c2VkIFNFTyBwbHVnaW5zIC0gPHN0cm9uZz5BbGwtaW4tT25lIFNFTzwvc3Ryb25nPiBhbmQgPHN0cm9uZz5IZWFkc3BhY2UgMjwvc3Ryb25nPi4gVXNlIHRoZSBjaGVja2JveCBiZWxvdyB0byB1c2UgM3JkIHBhcnR5IHBsdWdpbiBkYXRhLjwvc21hbGw+Ijt9aToyO2E6NTp7czo0OiJuYW1lIjtzOjI1OiJVc2UgM3JkIFBhcnR5IFBsdWdpbiBEYXRhIjtzOjQ6ImRlc2MiO3M6MTk4OiJNZXRhIGRhdGEgYWRkZWQgdG8gPHN0cm9uZz5jdXN0b20gZmllbGRzIGluIHBvc3RzIGFuZCBwYWdlczwvc3Ryb25nPiB3aWxsIGJlIGV4dHJhY3RlZCBhbmQgdXNlZCB3aGVyZSBhcHBsaWNhYmxlLiBUaGlzIHR5cGljYWxseSBkb2VzIG5vdCBpbmNsdWRlIEhvbWVwYWdlcyBhbmQgQXJjaGl2ZXMsIGFuZCBvbmx5IFNpbmd1bGFyIHRlbXBsYXRlcy4iO3M6MjoiaWQiO3M6Mjg6InNlb193b29fdXNlX3RoaXJkX3BhcnR5X2RhdGEiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjM7YTo1OntzOjQ6Im5hbWUiO3M6MjI6IkhpZGUgU0VPIGN1c3RvbSBmaWVsZHMiO3M6NDoiZGVzYyI7czo4MjoiQ2hlY2sgdGhpcyBib3ggdG8gaGlkZSB0aGUgaW5wdXQgZmllbGRzIGNyZWF0ZWQgaW4gdGhlIHBvc3QgYW5kIHBhZ2UgZWRpdCBzY3JlZW5zLiI7czoyOiJpZCI7czoxOToic2VvX3dvb19oaWRlX2ZpZWxkcyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6NDthOjI6e3M6NDoibmFtZSI7czoxMDoiUGFnZSBUaXRsZSI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjU7YTo1OntzOjQ6Im5hbWUiO3M6OToiU2VwYXJhdG9yIjtzOjQ6ImRlc2MiO3M6NTQ6IkRlZmluZSBhIG5ldyBzZXBhcmF0b3IgY2hhcmFjdGVyIGZvciB5b3VyIHBhZ2UgdGl0bGVzLiI7czoyOiJpZCI7czoxNzoic2VvX3dvb19zZXBlcmF0b3IiO3M6Mzoic3RkIjtzOjE6InwiO3M6NDoidHlwZSI7czo0OiJ0ZXh0Ijt9aTo2O2E6NTp7czo0OiJuYW1lIjtzOjEwOiJCbG9nIFRpdGxlIjtzOjQ6ImRlc2MiO3M6OTA6Ik5PVEU6IFRoaXMgaXMgdGhlIHNhbWUgc2V0dGluZyBhcyBwZXIgdGhlIFNFVFRJTkdTID4gR0VORVJBTCB0YWIgaW4gdGhlIFdvcmRQcmVzcyBiYWNrZW5kLiI7czoyOiJpZCI7czo4OiJibG9nbmFtZSI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NDoidGV4dCI7fWk6NzthOjU6e3M6NDoibmFtZSI7czoxNjoiQmxvZyBEZXNjcmlwdGlvbiI7czo0OiJkZXNjIjtzOjkwOiJOT1RFOiBUaGlzIGlzIHRoZSBzYW1lIHNldHRpbmcgYXMgcGVyIHRoZSBTRVRUSU5HUyA+IEdFTkVSQUwgdGFiIGluIHRoZSBXb3JkUHJlc3MgYmFja2VuZC4iO3M6MjoiaWQiO3M6MTU6ImJsb2dkZXNjcmlwdGlvbiI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NDoidGV4dCI7fWk6ODthOjY6e3M6NDoibmFtZSI7czoxODoiRW5hYmxlIHdvb190aXRsZSgpIjtzOjQ6ImRlc2MiO3M6MTUzOiJ3b29fdGl0bGUoKSBtYWtlcyB1c2Ugb2YgV29yZFByZXNzJ3MgYnVpbHQgaW4gd3BfdGl0bGUoKSBmdW5jdGlvbiB0byBjb250cm9sIHRoZSBvdXRwdXQgZm9yIHlvdXIgcGFnZSB0aXRsZXMuIEl0J3MgYWxzbyByZWNvbW1lbmRlZCBmb3IgdXNlIHdpdGggcGx1Z2lucy4iO3M6MjoiaWQiO3M6MTY6InNlb193b29fd3BfdGl0bGUiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjU6ImNsYXNzIjtzOjk6ImNvbGxhcHNlZCI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTo5O2E6Njp7czo0OiJuYW1lIjtzOjIxOiJEaXNhYmxlIEN1c3RvbSBUaXRsZXMiO3M6NDoiZGVzYyI7czoxMzA6IklmIHlvdSBwcmVmZXIgdG8gaGF2ZSB1bmlmb3JtIHRpdGxlcyBhY3Jvc3MgeW91IHRoZW1lLiBBbHRlcm5hdGl2ZWx5IHRoZXkgd2lsbCBiZSBnZW5lcmF0ZWQgZnJvbSBjdXN0b20gZmllbGRzIGFuZC9vciBwbHVnaW4gZGF0YS4iO3M6MjoiaWQiO3M6Mjk6InNlb193b29fd3BfY3VzdG9tX2ZpZWxkX3RpdGxlIjtzOjM6InN0ZCI7czo1OiJmYWxzZSI7czo1OiJjbGFzcyI7czo2OiJoaWRkZW4iO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6MTA7YTo2OntzOjQ6Im5hbWUiO3M6MTQ6IlBhZ2VkIFZhcmlhYmxlIjtzOjQ6ImRlc2MiO3M6NjQ6IlRoZSBuYW1lIHZhcmlhYmxlIHRoYXQgd2lsbCBhcHBlYXIgdGhlbiBwYWdpbmcgdGhyb3VnaCBhcmNoaXZlcy4iO3M6MjoiaWQiO3M6MTc6InNlb193b29fcGFnZWRfdmFyIjtzOjM6InN0ZCI7czo0OiJQYWdlIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo0OiJ0eXBlIjtzOjQ6InRleHQiO31pOjExO2E6Nzp7czo0OiJuYW1lIjtzOjIzOiJQYWdlZCBWYXJpYWJsZSBQb3NpdGlvbiI7czo0OiJkZXNjIjtzOjU3OiJDaGFuZ2UgdGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBwYWdlZCB2YXJpYWJsZSB3aWxsIGFwcGVhci4iO3M6MjoiaWQiO3M6MjE6InNlb193b29fcGFnZWRfdmFyX3BvcyI7czozOiJzdGQiO3M6NjoiYmVmb3JlIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo3OiJvcHRpb25zIjthOjI6e3M6NjoiYmVmb3JlIjtzOjY6IkJlZm9yZSI7czo1OiJhZnRlciI7czo1OiJBZnRlciI7fXM6NDoidHlwZSI7czo3OiJzZWxlY3QyIjt9aToxMjthOjc6e3M6NDoibmFtZSI7czoyMToiSG9tZXBhZ2UgVGl0bGUgTGF5b3V0IjtzOjQ6ImRlc2MiO3M6NjU6IkRlZmluZSB0aGUgb3JkZXIgdGhlIHRpdGxlLCBkZXNjcmlwdGlvbiBhbmQgbWV0YSBkYXRhIGFwcGVhcnMgaW4uIjtzOjI6ImlkIjtzOjE5OiJzZW9fd29vX2hvbWVfbGF5b3V0IjtzOjM6InN0ZCI7czowOiIiO3M6NToiY2xhc3MiO3M6NjoiaGlkZGVuIjtzOjc6Im9wdGlvbnMiO2E6Mzp7czoxOiJhIjtzOjI4OiJCbG9nIHRpdGxlOyBibG9nIGRlc2NyaXB0aW9uIjtzOjE6ImIiO3M6MTA6IkJsb2cgdGl0bGUiO3M6MToiYyI7czoxNjoiQmxvZyBkZXNjcmlwdGlvbiI7fXM6NDoidHlwZSI7czo3OiJzZWxlY3QyIjt9aToxMzthOjc6e3M6NDoibmFtZSI7czoxOToiU2luZ2xlIFRpdGxlIExheW91dCI7czo0OiJkZXNjIjtzOjY1OiJEZWZpbmUgdGhlIG9yZGVyIHRoZSB0aXRsZSwgZGVzY3JpcHRpb24gYW5kIG1ldGEgZGF0YSBhcHBlYXJzIGluLiI7czoyOiJpZCI7czoyMToic2VvX3dvb19zaW5nbGVfbGF5b3V0IjtzOjM6InN0ZCI7czowOiIiO3M6NToiY2xhc3MiO3M6NjoiaGlkZGVuIjtzOjc6Im9wdGlvbnMiO2E6NTp7czoxOiJhIjtzOjIyOiJQYWdlIHRpdGxlOyBCbG9nIHRpdGxlIjtzOjE6ImIiO3M6MTE6IlBhZ2UgdGl0bGU7IjtzOjE6ImMiO3M6MjM6IkJsb2cgdGl0bGU7IFBhZ2UgdGl0bGU7IjtzOjE6ImQiO3M6Mjg6IlBhZ2UgdGl0bGU7IEJsb2cgZGVzY3JpcHRpb24iO3M6MToiZSI7czo0MDoiQmxvZyB0aXRsZTsgUGFnZSB0aXRsZTsgQmxvZyBkZXNjcmlwdGlvbiI7fXM6NDoidHlwZSI7czo3OiJzZWxlY3QyIjt9aToxNDthOjc6e3M6NDoibmFtZSI7czoxNzoiUGFnZSBUaXRsZSBMYXlvdXQiO3M6NDoiZGVzYyI7czo2NToiRGVmaW5lIHRoZSBvcmRlciB0aGUgdGl0bGUsIGRlc2NyaXB0aW9uIGFuZCBtZXRhIGRhdGEgYXBwZWFycyBpbi4iO3M6MjoiaWQiO3M6MTk6InNlb193b29fcGFnZV9sYXlvdXQiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJjbGFzcyI7czo2OiJoaWRkZW4iO3M6Nzoib3B0aW9ucyI7YTo1OntzOjE6ImEiO3M6MjI6IlBhZ2UgdGl0bGU7IEJsb2cgdGl0bGUiO3M6MToiYiI7czoxMToiUGFnZSB0aXRsZTsiO3M6MToiYyI7czoyMzoiQmxvZyB0aXRsZTsgUGFnZSB0aXRsZTsiO3M6MToiZCI7czoyODoiUGFnZSB0aXRsZTsgQmxvZyBkZXNjcmlwdGlvbiI7czoxOiJlIjtzOjQwOiJCbG9nIHRpdGxlOyBQYWdlIHRpdGxlOyBCbG9nIGRlc2NyaXB0aW9uIjt9czo0OiJ0eXBlIjtzOjc6InNlbGVjdDIiO31pOjE1O2E6Nzp7czo0OiJuYW1lIjtzOjIwOiJBcmNoaXZlIFRpdGxlIExheW91dCI7czo0OiJkZXNjIjtzOjY1OiJEZWZpbmUgdGhlIG9yZGVyIHRoZSB0aXRsZSwgZGVzY3JpcHRpb24gYW5kIG1ldGEgZGF0YSBhcHBlYXJzIGluLiI7czoyOiJpZCI7czoyMjoic2VvX3dvb19hcmNoaXZlX2xheW91dCI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo3OiJvcHRpb25zIjthOjU6e3M6MToiYSI7czoyMjoiUGFnZSB0aXRsZTsgQmxvZyB0aXRsZSI7czoxOiJiIjtzOjExOiJQYWdlIHRpdGxlOyI7czoxOiJjIjtzOjIzOiJCbG9nIHRpdGxlOyBQYWdlIHRpdGxlOyI7czoxOiJkIjtzOjI4OiJQYWdlIHRpdGxlOyBCbG9nIGRlc2NyaXB0aW9uIjtzOjE6ImUiO3M6NDA6IkJsb2cgdGl0bGU7IFBhZ2UgdGl0bGU7IEJsb2cgZGVzY3JpcHRpb24iO31zOjQ6InR5cGUiO3M6Nzoic2VsZWN0MiI7fWk6MTY7YToyOntzOjQ6Im5hbWUiO3M6MTM6IkluZGV4aW5nIE1ldGEiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxNzthOjY6e3M6NDoibmFtZSI7czoxNjoiQXJjaGl2ZSBJbmRleGluZyI7czo0OiJkZXNjIjtzOjEyODoiU2VsZWN0IHdoaWNoIGFyY2hpdmVzIHRvIGluZGV4IG9uIHlvdXIgc2l0ZS4gQWlkcyBpbiByZW1vdmluZyBkdXBsaWNhdGUgY29udGVudCBmcm9tIGJlaW5nIGluZGV4ZWQsIHByZXZlbnRpbmcgY29udGVudCBkaWx1dGlvbi4iO3M6MjoiaWQiO3M6MjE6InNlb193b29fbWV0YV9pbmRleGluZyI7czozOiJzdGQiO3M6ODoiY2F0ZWdvcnkiO3M6NDoidHlwZSI7czoxMDoibXVsdGljaGVjayI7czo3OiJvcHRpb25zIjthOjU6e3M6ODoiY2F0ZWdvcnkiO3M6MTc6IkNhdGVnb3J5IEFyY2hpdmVzIjtzOjM6InRhZyI7czoxMjoiVGFnIEFyY2hpdmVzIjtzOjY6ImF1dGhvciI7czoxMjoiQXV0aG9yIFBhZ2VzIjtzOjY6InNlYXJjaCI7czoxNDoiU2VhcmNoIFJlc3VsdHMiO3M6NDoiZGF0ZSI7czoxMzoiRGF0ZSBBcmNoaXZlcyI7fX1pOjE4O2E6NTp7czo0OiJuYW1lIjtzOjQ5OiJBZGQgbWV0YSBmb3IgUG9zdHMgJiBQYWdlcyB0byAnZm9sbG93JyBieSBkZWZhdWx0IjtzOjQ6ImRlc2MiO3M6MTQzOiJCeSBkZWZhdWx0IHRoZSB3b29fbWV0YSgpOyBhZGRzIGEgJ25vZm9sbG93JyBtZXRhIHRvIHBvc3QgYW5kIHBhZ2VzLCBtZWFuaW5nIHNlYXJjaCBlbmdpbmVzIHdpbGwgbm90IGluZGV4IHBhZ2VzIGxlYWRpbmcgYXdheSBmcm9tIHRoZXNlIHBhZ2VzLiI7czoyOiJpZCI7czoyNjoic2VvX3dvb19tZXRhX3NpbmdsZV9mb2xsb3ciO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aToxOTthOjI6e3M6NDoibmFtZSI7czoxNjoiRGVzY3JpcHRpb24gTWV0YSI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjIwO2E6Njp7czo0OiJuYW1lIjtzOjIwOiJIb21lcGFnZSBEZXNjcmlwdGlvbiI7czo0OiJkZXNjIjtzOjYxOiJDaG9vc2Ugd2hlcmUgdG8gcG9wdWxhdGUgeW91ciBIb21lcGFnZSBtZXRhIGRlc2NyaXB0aW9uIGZyb20uIjtzOjI6ImlkIjtzOjIyOiJzZW9fd29vX21ldGFfaG9tZV9kZXNjIjtzOjM6InN0ZCI7czoxOiJhIjtzOjc6Im9wdGlvbnMiO2E6Mzp7czoxOiJhIjtzOjM6Ik9mZiI7czoxOiJiIjtzOjI0OiJGcm9tIFdQIFNpdGUgRGVzY3JpcHRpb24iO3M6MToiYyI7czozMjoiRnJvbSBDdXN0b20gSG9tZXBhZ2UgRGVzY3JpcHRpb24iO31zOjQ6InR5cGUiO3M6NToicmFkaW8iO31pOjIxO2E6NTp7czo0OiJuYW1lIjtzOjI3OiJDdXN0b20gSG9tZXBhZ2UgRGVzY3JpcHRpb24iO3M6NDoiZGVzYyI7czo0NzoiQWRkIGEgY3VzdG9tIG1ldGEgZGVzY3JpcHRpb24gdG8geW91ciBob21lcGFnZS4iO3M6MjoiaWQiO3M6Mjk6InNlb193b29fbWV0YV9ob21lX2Rlc2NfY3VzdG9tIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo4OiJ0ZXh0YXJlYSI7fWk6MjI7YTo2OntzOjQ6Im5hbWUiO3M6Mjg6IlNpbmdsZSBQYWdlL1Bvc3QgRGVzY3JpcHRpb24iO3M6NDoiZGVzYyI7czo3OToiQWRkIHlvdXIgcG9zdC9wYWdlIGRlc2NyaXB0aW9uIGZyb20gY3VzdG9tIGZpZWxkcy4gPHN0cm9uZz4qIFNlZSBiZWxvdzwvc3Ryb25nPiI7czoyOiJpZCI7czoyNDoic2VvX3dvb19tZXRhX3NpbmdsZV9kZXNjIjtzOjM6InN0ZCI7czoxOiJhIjtzOjc6Im9wdGlvbnMiO2E6Mzp7czoxOiJhIjtzOjU6Ik9mZiAqIjtzOjE6ImIiO3M6MzM6IkZyb20gQ3VzdG9tcyBGaWVsZCBhbmQvb3IgUGx1Z2lucyI7czoxOiJjIjtzOjM2OiJBdXRvbWF0aWNhbGx5IGZyb20gUG9zdC9QYWdlIENvbnRlbnQiO31zOjQ6InR5cGUiO3M6NToicmFkaW8iO31pOjIzO2E6Njp7czo0OiJuYW1lIjtzOjI5OiJHbG9iYWwgUG9zdC9QYWdlIERlc2NyaXB0aW9ucyI7czo0OiJkZXNjIjtzOjE4OToiQWRkIGEgY3VzdG9tIG1ldGEgZGVzY3JpcHRpb24gdG8geW91ciBwb3N0cyBhbmQgcGFnZXMuIFRoaXMgd2lsbCBvbmx5IHNob3cgaWYgbm8gb3RoZXIgZGF0YSBpcyBhdmFpbGFibGUgZnJvbSB0aGUgc2VsZWN0aW9uIGFib3ZlLiBXaWxsIHN0aWxsIGJlIGFkZGVkIGV2ZW4gaWYgc2V0dGluZyBhYm92ZSBpcyBzZXQgdG8gIk9mZiIuIjtzOjI6ImlkIjtzOjMzOiJzZW9fd29vX21ldGFfc2luZ2xlX2Rlc2Nfc2l0ZXdpZGUiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJjbGFzcyI7czo5OiJjb2xsYXBzZWQiO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6MjQ7YTo2OntzOjQ6Im5hbWUiO3M6MjI6IkFkZCBHbG9iYWwgRGVzY3JpcHRpb24iO3M6NDoiZGVzYyI7czoyNzoiQWRkIHlvdXIgZ2xvYmFsIGRlY3JpcHRpb24uIjtzOjI6ImlkIjtzOjMxOiJzZW9fd29vX21ldGFfc2luZ2xlX2Rlc2NfY3VzdG9tIjtzOjM6InN0ZCI7czowOiIiO3M6NToiY2xhc3MiO3M6NjoiaGlkZGVuIjtzOjQ6InR5cGUiO3M6ODoidGV4dGFyZWEiO31pOjI1O2E6Mjp7czo0OiJuYW1lIjtzOjEyOiJLZXl3b3JkIE1ldGEiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToyNjthOjY6e3M6NDoibmFtZSI7czoxNzoiSG9tZXBhZ2UgS2V5d29yZHMiO3M6NDoiZGVzYyI7czo2MToiQ2hvb3NlIHdoZXJlIHRvIHBvcHVsYXRlIHlvdXIgSG9tZXBhZ2UgbWV0YSBkZXNjcmlwdGlvbiBmcm9tLiI7czoyOiJpZCI7czoyMToic2VvX3dvb19tZXRhX2hvbWVfa2V5IjtzOjM6InN0ZCI7czoxOiJhIjtzOjc6Im9wdGlvbnMiO2E6Mjp7czoxOiJhIjtzOjM6Ik9mZiI7czoxOiJjIjtzOjI5OiJGcm9tIEN1c3RvbSBIb21lcGFnZSBLZXl3b3JkcyI7fXM6NDoidHlwZSI7czo1OiJyYWRpbyI7fWk6Mjc7YTo1OntzOjQ6Im5hbWUiO3M6MjQ6IkN1c3RvbSBIb21lcGFnZSBLZXl3b3JkcyI7czo0OiJkZXNjIjtzOjU4OiJBZGQgYSAoY29tbWEgc2VwYXJhdGVkKSBsaXN0IG9mIGtleXdvcmRzIHRvIHlvdXIgaG9tZXBhZ2UuIjtzOjI6ImlkIjtzOjI4OiJzZW9fd29vX21ldGFfaG9tZV9rZXlfY3VzdG9tIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo4OiJ0ZXh0YXJlYSI7fWk6Mjg7YTo2OntzOjQ6Im5hbWUiO3M6MjU6IlNpbmdsZSBQYWdlL1Bvc3QgS2V5d29yZHMiO3M6NDoiZGVzYyI7czo3NToiQWRkIHlvdXIgcG9zdC9wYWdlIGtleXdvcmRzIGZyb20gY3VzdG9tIGZpZWxkLiA8c3Ryb25nPiogU2VlIGJlbG93PC9zdHJvbmc+IjtzOjI6ImlkIjtzOjIzOiJzZW9fd29vX21ldGFfc2luZ2xlX2tleSI7czozOiJzdGQiO3M6MToiYSI7czo3OiJvcHRpb25zIjthOjM6e3M6MToiYSI7czo1OiJPZmYgKiI7czoxOiJiIjtzOjMzOiJGcm9tIEN1c3RvbSBGaWVsZHMgYW5kL29yIFBsdWdpbnMiO3M6MToiYyI7czo0NToiQXV0b21hdGljYWxseSBmcm9tIFBvc3QgVGFncyAmYW1wOyBDYXRlZ29yaWVzIjt9czo0OiJ0eXBlIjtzOjU6InJhZGlvIjt9aToyOTthOjY6e3M6NDoibmFtZSI7czoyNToiQ3VzdG9tIFBvc3QvUGFnZSBLZXl3b3JkcyI7czo0OiJkZXNjIjtzOjIzNDoiQWRkIGEgY3VzdG9tIG1ldGEga2V5d29yZHMgdG8geW91ciBwb3N0cyBhbmQgcGFnZXMuIFRoaXMgd2lsbCBvbmx5IHNob3cgaWYgbm8gb3RoZXIgZGF0YSBpcyBhdmFpbGFibGUgZnJvbSB0aGUgc2VsZWN0aW9uIGFib3ZlLiBFdmVuIGlmIHRoZSBvcHRpb24gYWJvdmUgaXMgc2V0IHRvIDxzdHJvbmc+J09mZic8L3N0cm9uZz4sIHdpbGwgdGhpcyBrZXl3b3JkcyBzdGlsbCBiZSBhZGRlZCB0byB5b3VyIHNpdGUuIjtzOjI6ImlkIjtzOjMyOiJzZW9fd29vX21ldGFfc2luZ2xlX2tleV9zaXRld2lkZSI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImNsYXNzIjtzOjk6ImNvbGxhcHNlZCI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTozMDthOjY6e3M6NDoibmFtZSI7czoyODoiQ3VzdG9tIFBvc3QvUGFnZSBEZXNjcmlwdGlvbiI7czo0OiJkZXNjIjtzOjUxOiJBZGQgYSBjdXN0b20gbWV0YSBrZXl3b3JkcyB0byB5b3VyIHBvc3RzIGFuZCBwYWdlcy4iO3M6MjoiaWQiO3M6MzA6InNlb193b29fbWV0YV9zaW5nbGVfa2V5X2N1c3RvbSI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo0OiJ0eXBlIjtzOjg6InRleHRhcmVhIjt9fTwvbGk+PGxpPjxzdHJvbmc+d29vX3NldHRpbmdzX2N1c3RvbV9uYXZfYWR2YW5jZWRfb3B0aW9uczwvc3Ryb25nPiAtIHllczwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfYWRzX2JvdHRvbTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc190b3A8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19mZWF0dXJlZDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X3ZpZGVvPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9oPC9zdHJvbmc+IC0gMjAwPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2hlaWdodDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93PC9zdHJvbmc+IC0gNDQwPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fc3Vic2NyaWJlX2VtYWlsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fdGV4dHRpdGxlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBNYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfYWxpZ248L3N0cm9uZz4gLSBhbGlnbmxlZnQ8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9oPC9zdHJvbmc+IC0gMjAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfc2luZ2xlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl93PC9zdHJvbmc+IC0gNDQwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb190d2l0dGVyPC9zdHJvbmc+IC0gbGFvbnRhbGs8L2xpPjxsaT48c3Ryb25nPndvb191cGxvYWRzPC9zdHJvbmc+IC0gYTo3OntpOjA7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy85LTQ2OHg2MC1iYW5uZXIucG5nIjtpOjE7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy84LXRoYWkwMV9yZXNpemUuanBnIjtpOjI7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy83LXRoYWkwMV9yZXNpemUuanBnIjtpOjM7czo2MzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy82LXdlbG92ZXRoYWkuanBnIjtpOjQ7czo1NzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy81LXRoYWkucG5nIjtpOjU7czo2NToiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy80LWlhbV9sYW9udGFsay5qcGciO2k6NjtzOjY1OiJodHRwOi8vd3d3Lmxhb250YWxrLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzMtaWFtX2xhb250YWxrLmpwZyI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX3VybF9zaG9ydGVuPC9zdHJvbmc+IC0gU2VsZWN0IGEgU2VydmljZTo8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb3NfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFZpZGVvczwvbGk+PGxpPjxzdHJvbmc+d29vX3ZpZGVvX3Rlcm1faWQ8L3N0cm9uZz4gLSAxMDI8L2xpPjwvdWw+