BEEPLUS 全球隐私政策





先前政策

BEEPLUS以及我们的附属公司(统称为 “BEEPLUS”、“我们”、或“BEEPLUS 公司”)高度重视你的隐私。我们致力于通过保护你的个人信息来维护你对我们的信任。本隐私政策(“政策”)阐释了 BEEPLUS 公司如何收集、使用、披露以及以其他方式处理与你使用我们的网站(“网站服务”)、应用程序(“应用程序”)或其他引用或链接到本政策的服务以及任何离线产品、程序、课程和服务(统称为“服务”)相关的个人信息。

我们希望通过我们的服务帮助你打造一种生活方式,而不仅仅是生存。在使用我们的服务之前,请阅读本政策的全部内容,以帮助你对与我们的关系做出知情决策。


1.我们收集的信息

在你使用服务的过程中,BEEPLUS会按照如下方式收集你在使用服务时主动提供或因为使用服务而产生的信息,用以向你提供服务、优化我们的服务以及保障你的帐号安全:

1.1我们可能会收集你的姓名、邮寄地址、电话号码、电子邮件地址、手机号码,手机号码属于敏感信息,收集此类信息是为了满足相关法律法规的网络实名制要求。若你不提供这类信息,你可能无法正常使用我们的服务。你还可以根据自身需求选择填写性别、地区等信息。

1.2 当你使用服务时,为保障你正常使用我们的服务,维护我们服务的正常运行,改进及优化我们的服务体验,我们会收集你的设备型号、操作系统、唯一设备标识符、登陆IP地址、BEEPLUS软件版本号、接入网络的方式、类型和状态、网络质量数据、设备加速器(如重力感应设备)、操作日志、服务日志信息(如你在BEEPLUS搜索、查看的信息、服务故障信息、引荐网址等信息)等日志信息,这类信息是为提供服务必须收集的基础信息。

1.3 我们可能会收集你的办公室偏好,包括你要求或喜欢的温度、风扇转速、桌椅高度、办公桌位置、电话间、饮料、零食以及与服务相关的其他偏好。

1.4 我们可能会收集你使用服务时有意分享、发送或接收的任何其他信息,包括您的电子邮件、SMS、Slack、微信、QQ、通过自动聊天机器人、其他语音助手或类似技术发出的请求、日历邀请和您选择与我们分享的任何其他信息——包括您的照片、视频、博客条目、兴趣、爱好、生活方式选择以及您所属的群组——以及您使用服务发送或接收的信息。

1.5 当你使用服务时,我们会在获得你的自主选择同意后,记录你的地理位置信息,目的是为了向你提供该服务。该信息属于敏感信息,拒绝提供该信息仅会使你无法使用上述功能,但不影响你正常使用BEEPLUS的其他功能。此外,你也可以随时关闭相关功能并在该功能内清除你的地理位置信息。

1.6 当你使用服务时,我们会收集你的搜索记录、阅读记录和访问时间、评论和互动记录,目的是为了向你提供更加精准和个性化的服务和内容。

1.7 当你使用BEEPLUS与其他软件或硬件互通功能时,其他软件或硬件的提供方在经你同意后可以获取你在BEEPLUS主动公开或传输的相关信息,你在选择前应充分了解其他软件或硬件的产品功能及信息保护策略。

1.8 服务中的第三方服务由外部第三方主体提供,BEEPLUS无法获得你在使用该类第三方服务时产生的信息。但是,如果你已明示同意该第三方获得你的地理位置信息,该第三方将通过BEEPLUS接口获得你的终端地理位置信息。该信息属于敏感信息,拒绝提供该信息仅会使你无法使用上述第三方服务,但不影响你正常使用BEEPLUS的功能。

另外,根据相关法律法规及国家标准,以下情形中,我们可能会收集、使用你的相关个人信息无需征求你的授权同意:

1) 与国家安全、国防安全等国家利益直接相关的;与公共安全、公共卫生、公众知情等重大公共利益直接相关的;

2) 与犯罪侦查、起诉、审判和判决执行等直接相关的;

3) 出于维护你或其他个人的生命、财产、声誉等重大合法权益但又很难得到本人同意的;

4) 所收集的个人信息是你自行向社会公众公开的;

5) 从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开等渠道;

6) 根据你要求签订和履行合同所必需的;

7) 用于维护所提供的产品或服务的安全稳定运行所必需的,例如发现、处置产品或服务的故障;

8) 为开展合法的新闻报道所必需的;

9) 出于公共利益开展统计或学术研究所必要,且其对外提供学术研究或描述的结果时,对结果中所包含的个人信息进行去标识化处理的;

10) 法律法规规定的其他情形。

请你理解,我们向你提供的功能和服务是不断更新和发展的,如果某一功能或服务未在前述说明中且收集了你的信息,我们会通过页面提示、交互流程、网站公告等方式另行向你说明信息收集的内容、范围和目的,以征得你的同意。

请你注意,目前BEEPLUS不会主动从第三方获取你的个人信息。如未来为业务发展需要从第三方间接获取你个人信息,我们会在获取前向你明示你个人信息的来源、类型及使用范围,如BEEPLUS开展业务需进行的个人信息处理活动超出你原本向第三方提供个人信息时的授权同意范围,我们将在处理你的该等个人信息前,征得你的明示同意;此外,我们也将会严格遵守相关法律法规的规定,并要求第三方保障其提供的信息的合法性。 


2.信息的存储

2.1 信息存储的地点我们会按照法律法规规定,将境内收集的用户个人信息存储于中国境内。

2.2 信息存储的期限一般而言,我们仅为实现目的所必需的时间保留你的个人信息,当我们的产品或服务发生停止运营的情形时,我们将以推送通知、公告等形式通知你,并在合理的期限内删除你的个人信息或进行匿名化处理。 


3.信息安全

我们努力为用户的信息安全提供保障,以防止信息的丢失、不当使用、未经授权访问或披露。

我们将在合理的安全水平内使用各种安全保护措施以保障信息的安全。例如,我们会使用加密技术(例如,SSL)、匿名化处理等手段来保护你的个人信息。

我们通过不断提升的技术手段加强安装在你设备端的软件的安全能力,以防止你的个人信息泄露。例如,我们为了安全传输会在你设备本地完成部分信息加密的工作;为了预防病毒、木马程序或其他恶意程序、网站会了解你设备安装的应用信息或正在运行的进程信息。

我们建立专门的管理制度、流程和组织以保障信息的安全。例如,我们严格限制访问信息的人员范围,要求他们遵守保密义务,并进行审计。若发生个人信息泄露等安全事件,我们会启动应急预案,阻止安全事件扩大,并以推送通知、公告等形式告知你。

目前,BEEPLUS通过了国家网络安全等级保护(三级)的测评和备案,在信息安全方面已达到ISO27001、国际信息安全管理体系、TRUSTArc等国际权威认证标准的要求,并已获得了相应的认证。


 4.我们如何使用信息

我们可能将通过某些功能所收集的信息用于我们的其他服务。例如,我们可能将你在使用我们某一功能或服务时我们收集的信息,包括但不限于展示广告(你可以在关于广告页面中了解更多)、对你阅读过的内容进行信息安全类提示、基于特征标签进行间接人群画像并提供更加精准和个性化的服务和内容等。

为了确保服务的安全,帮助我们更好地了解我们服务的运行情况,我们可能记录相关信息,例如,你使用的频率、崩溃数据、总体使用情况、性能数据等。

我们不会将我们存储在分析软件中的信息与你在服务过程中提供的任何个人身份信息相结合。如我们使用你的个人信息,超出了与收集时所声称的目的及具有直接或合理关联的范围,我们将在使用你的个人信息前,再次向你告知并征得你的明示同意。


 5.对外提供

目前,我们不会主动共享或转让你的个人信息至任何第三方,如存在其他共享或转让你的个人信息或你需要我们将你的个人信息共享或转让至第三方情形时,我们会直接或确认第三方征得你对上述行为的明示同意。

我们不会对外公开披露其收集的个人信息,如必须公开披露时,我们会向你告知此次公开披露的目的、披露信息的类型及可能涉及的敏感信息,并征得你的明示同意。

随着我们业务的持续发展,我们有可能进行合并、收购、资产转让等交易,我们将告知你相关情形,按照法律法规及不低于本指引所要求的标准继续保护或要求新的控制者继续保护你的个人信息。

另外,根据相关法律法规及国家标准,以下情形中,我们可能会共享、转让、公开披露个人信息无需事先征得个人信息主体的授权同意:

1) 与国家安全、国防安全直接相关的;

2) 与公共安全、公共卫生、重大公共利益直接相关的;

3) 与犯罪侦查、起诉、审判和判决执行等直接相关的;

4) 出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;

5) 个人信息主体自行向社会公众公开的个人信息;

6) 从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开等渠道。 


6.变更

我们可能会适时对本指引进行修订。当指引的条款发生变更时,我们会在你登录及版本更新时以推送通知、弹窗的形式向你展示变更后的指引。

请你注意,只有在你点击弹窗中的同意按钮后,我们才会按照更新后的指引收集、使用、存储你的个人信息。 


7.未成年人保护

我们非常重视对未成年人个人信息的保护。根据相关法律法规的规定,若你是18周岁以下的未成年人,在使用服务前,应事先取得你的家长或法定监护人的书面同意。

若你是未成年人的监护人,当你对你所监护的未成年人的个人信息有相关疑问时,请通过第8节中的联系方式与我们联系。 


8.与我们联系

当你有其他的投诉、建议、未成年人个人信息相关问题时,请通过 https://beeplus.com/ 与我们联系。你也可以将你的问题发送至enquiry@beeplus.com或寄到如下地址:中国广东省深圳市南山区招商街道荔园路9号BEEPLUS联合办公空间 行政中心(收)

邮编:518000

我们将尽快审核所涉问题,并在验证你的用户身份后的三十天内予以回复。


珠海行政总部 :

常见回答

PHN0eWxlPgogICAgLnppeHVuQnRue3dpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IGNvbG9yOiAjZmZmZmZmOyBwb3NpdGlvbjogZml4ZWQ7IHJpZ2h0OiAyMnB4OyBib3R0b206IDEwMHB4OyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMTJweDt6LWluZGV4Ojk7fQogICAgLnppeHVuQnRuIHNwYW57cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyBib3R0b206IDA7IHdpZHRoOiAxMDAlOyBsaW5lLWhlaWdodDogMzBweDsgdGV4dC1hbGlnbjogY2VudGVyO30KICAgIC56aXh1bkJ0bjo6YWZ0ZXJ7IGNvbnRlbnQ6ICIiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IGJvcmRlci1sZWZ0OiBzb2xpZCAycHggI2ZmZmZmZjsgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICNmZmZmZmY7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IHRvcDoxNHB4O2xlZnQ6IDI2cHg7fQogICAgLnppeHVuVGFza3sgcG9zaXRpb246IGZpeGVkOyB3aWR0aDogNzYwcHg7IGhlaWdodDogNTAwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IGJveC1zaGFkb3c6IDEwcHggMTBweCAyMHB4IHJnYmEoMCwwLDAsLjIpOyBwYWRkaW5nOiAyMHB4OyB6LWluZGV4OiA5OTt9CiAgICAueml4dW5UYXNrIC56aXh1blRhc2tOYXYgLmJ0bnt3aWR0aDogMjAlOyBmbG9hdDogbGVmdDsgaGVpZ2h0OiA1MHB4OyBsaW5lLWhlaWdodDogNTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IGNvbG9yOiAjMzMzMzMzO30KICAgIC56aXh1blRhc2sgLnppeHVuVGFza05hdiAuYnRuLmFjdGl2ZXsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgY29sb3I6ICMzMzMzMzM7fQogICAgLnppeHVuVGFzayAuaW5wdXRib3h7IG1hcmdpbi10b3A6IDIwcHg7fQogICAgLnppeHVuVGFzayAuc3dpcGVyY29udHt3aWR0aDogMzgwcHg7IGhlaWdodDogMzEwcHg7fQogICAgLnppeHVuVGFzayAuc3dpcGVyY29udCAuc3dpcGVyLXdyYXBwZXIsLnppeHVuVGFzayAuc3dpcGVyY29udCAuc3dpcGVyLWNvbnRhaW5lciwueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGV7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO30KICAgIC56aXh1blRhc2sgLnN3aXBlcmNvbnQgLnN3aXBlci1zbGlkZXsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDt9CiAgICAueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGUgLnRpdGxle3BhZGRpbmc6IDgwcHggMzBweCAwOyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAyMHB4OyBjb2xvcjogI2ZmZmZmZjsgbWFyZ2luLWJvdHRvbTogMDsgdGV4dC1hbGlnbjogbGVmdDt9CiAgICAueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGUgLnN1YnRpdGxle3BhZGRpbmc6IDEwcHggMzBweCAwOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjZmZmZmZmOyB0ZXh0LWFsaWduOiBsZWZ0O30KICAgIC56aXh1blRhc2sgLmlucHV0Ym94IC5pbnB1dGNvbnR7Zm9udC1zaXplOiAxNHB4OyB3aWR0aDogMzIwcHg7IG1hcmdpbi1sZWZ0OiAyMHB4O30KICAgIC56aXh1blRhc2sgLmlucHV0Ym94IC5pbnB1dGNvbnQgLmlucHV0X2JveHtwYWRkaW5nLXRvcDogMTVweDt9CiAgICAueml4dW5UYXNrIC5pbnB1dGJveCAuaW5wdXRjb250IC5pbnB1dF9ib3ggaW5wdXR7d2lkdGg6IDEwMCU7IGhlaWdodDogNDBweDsgYm9yZGVyOiBzb2xpZCAxcHggI2RkZGRkZDsgbWFyZ2luLWJvdHRvbTogMTlweDsgdGV4dC1pbmRlbnQ6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDNweDt9CiAgICAueml4dW5UYXNrIC5pbnB1dGJveCAuaW5wdXRjb250IC5idG5fYm94IGJ1dHRvbnt3aWR0aDogODBweDsgaGVpZ2h0OiA0MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZDRhOyBjb2xvcjogI2ZmZmZmZjsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiA1cHg7IGN1cnNvcjogcG9pbnRlcjt9CiAgICAueml4dW50aXBzeyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OjEuNjsgcGFkZGluZzogMzBweCAwIDA7fQo8L3N0eWxlPgo8c2NyaXB0PgogICAgdmFyIHRoaXNzd2lwZXI7CiAgICB2YXIgaXNfZGV2ID0gaXNkZXYoKTsKICAgIGZ1bmN0aW9uIGlzZGV2KCl7CiAgICAgICAgdmFyIGRldnN0YXR1cyA9IGZhbHNlOwogICAgICAgIHZhciBsb2NhdGlvbmRhbWluID0gd2luZG93LmxvY2F0aW9uLmhyZWY7CiAgICAgICAgdmFyIGluZGV4MSA9IGxvY2F0aW9uZGFtaW4uaW5kZXhPZignd2ViJyk7CiAgICAgICAgdmFyIGluZGV4MiA9IGxvY2F0aW9uZGFtaW4uaW5kZXhPZignd2ViRWRpdCcpOwogICAgICAgIGlmKGluZGV4MT4wICYmIGluZGV4Mj4wKXsKICAgICAgICAgICAgZGV2c3RhdHVzID0gIHRydWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBkZXZzdGF0dXM7CiAgICB9CiAgICBpZighaXNfZGV2KXsKICAgICAgICBjcmVhdGVaaXh1bkJ0bigpOwogICAgfQogICAgZnVuY3Rpb24gY3JlYXRlWml4dW5CdG4oKXsKICAgICAgICB2YXIgeml4dW5CdG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICB6aXh1bkJ0bi5jbGFzc05hbWUgPSAneml4dW5CdG4nOwogICAgICAgIHppeHVuQnRuLmlubmVySFRNTCA9ICc8c3Bhbj7lkqjor6I8L3NwYW4+JzsKICAgICAgICAkKCdib2R5JykuYXBwZW5kKHppeHVuQnRuKTsKICAgICAgICAvL+eCueWHu+aMiemSru+8jOWIm+W7uuW8ueeqlwogICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsJy56aXh1bkJ0bicsZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIHZhciBkYXRhQXJyYXkgPSBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcGljOicvL3NvdXJjZXMuc2lpaXRlLmNvbS8vVXBsb2Fkcy93ZWI1MzUvY2tud3R3YWxmdHR0emN6L29fMWUxamViZzk1Zjg2MWVlazExZ2oxbTdndXM1ZC5qcGcnLAogICAgICAgICAgICAgICAgICAgIG5hbWU6J+Wkp+S4reS8geS4muWumuWItuWPiualvOWuh+aJmOeuoScsCiAgICAgICAgICAgICAgICAgICAgc3VibmFtZTon5Yqe5YWs5a6k6K6+6K6h44CB6KOF5L+u44CB566h55CG5LiA56uZ5byP6Kej5Yaz5LiT5a62JwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwaWM6Jy8vc291cmNlcy5zaWlpdGUuY29tLy9VcGxvYWRzL3dlYjUzNS9ja253dHdhbGZ0dHR6Y3ovb18xZGd0dTE2b21ibGFlbGcxaWVuODA3ODVzZC5qcGcnLAogICAgICAgICAgICAgICAgICAgIG5hbWU6J+iHquaMgeWKnuWFrOepuumXtCcsCiAgICAgICAgICAgICAgICAgICAgc3VibmFtZTon54G15rS756ef6LWB5pa55byP5L2/5b6X5Yqe5YWs5YOP5YWl5L2P6YWS5bqX5LiA5qC35pa55L6/JwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwaWM6Jy8vc291cmNlcy5zaWlpdGUuY29tLy9VcGxvYWRzL3dlYjUzNS9ja253dHdhbGZ0dHR6Y3ovb18xZTVjbmNnbGYxcnBlMTF1bWFjYnVoOTU4aGQuanBnJywKICAgICAgICAgICAgICAgICAgICBuYW1lOidCRUVQTFVT6LaF57qn5bel5Z2K5LyB5Lia5pyN5Yqh6K6h5YiSJywKICAgICAgICAgICAgICAgICAgICBzdWJuYW1lOifnmb7lrrbnn6XlkI3kvIHkuJrnmoTpgInmi6nvvIznu5nmgqjmnoHoh7TlsIrkuqvkvZPpqownCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHBpYzonLy9zb3VyY2VzLnNpaWl0ZS5jb20vL1VwbG9hZHMvd2ViNTM1L2Nrbnd0d2FsZnR0dHpjei9vXzFkZzJjOHR0MTF2NGlmazQxdTBsMmUyMWI1ZWQuanBnJywKICAgICAgICAgICAgICAgICAgICBuYW1lOiflm73pmYXljJbnmoTllYbliqHnpL7kuqQnLAogICAgICAgICAgICAgICAgICAgIHN1Ym5hbWU6J+S8geS4mumXtOWNj+WQjOWQiOS9nO+8jOebuOW+l+ebiuW9sCcKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcGljOicvL3NvdXJjZXMuc2lpaXRlLmNvbS8vVXBsb2Fkcy93ZWI1MzUvY2tud3R3YWxmdHR0emN6L29fMWUyNWpyNDJwMXRlNDVoZjFuOGx2czAxZW4zZi5qcGcnLAogICAgICAgICAgICAgICAgICAgIG5hbWU6J+S4jkJFRVBMVVPkuIDotbfmjqLntKLlkozlrprkuYnmnKrmnaUnLAogICAgICAgICAgICAgICAgICAgIHN1Ym5hbWU6JycKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXTsKICAgICAgICAgICAgaWYoJCh0aGlzKS5oYXNDbGFzcygnb3BlbicpKXsKICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKICAgICAgICAgICAgICAgICQoJy56aXh1blRhc2snKS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdvcGVuJyk7CiAgICAgICAgICAgICQoJy56aXh1blRhc2snKS5yZW1vdmUoKTsKICAgICAgICAgICAgdmFyIHRoaXN0b3AgPSAkKHRoaXMpLm9mZnNldCgpLnRvcCAtICQod2luZG93KS5zY3JvbGxUb3AoKTsKICAgICAgICAgICAgdmFyIHRoaXNsZWZ0ID0gJCh0aGlzKS5vZmZzZXQoKS5sZWZ0OwogICAgICAgICAgICB2YXIgeml4dW5UYXNrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICAgIHppeHVuVGFzay5jbGFzc05hbWUgPSAneml4dW5UYXNrJzsKICAgICAgICAgICAgeml4dW5UYXNrLnN0eWxlID0gJ2xlZnQ6JysodGhpc2xlZnQgLSA3ODApKydweDsgdG9wOicrKHRoaXN0b3AgLSA0NDApKydweDsnOwogICAgICAgICAgICB2YXIgc3dpcGVyc2xpZGUgPSAnJzsKICAgICAgICAgICAgZm9yKHZhciBpPTA7aTxkYXRhQXJyYXkubGVuZ3RoO2krKyl7CiAgICAgICAgICAgICAgICB2YXIgcGljID0gZGF0YUFycmF5W2ldLnBpYzsKICAgICAgICAgICAgICAgIHZhciBuYW1lID0gZGF0YUFycmF5W2ldLm5hbWU7CiAgICAgICAgICAgICAgICB2YXIgc3VibmFtZSA9IGRhdGFBcnJheVtpXS5zdWJuYW1lOwogICAgICAgICAgICAgICAgc3dpcGVyc2xpZGUgKz0gJzxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSIgc3R5bGU9ImJhY2tncm91bmQ6IHVybCgnK3BpYysnKSBjZW50ZXIgY2VudGVyIC8gY292ZXIgbm8tcmVwZWF0OyI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0idGl0bGUiPicrbmFtZSsnPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic3VidGl0bGUiPicrc3VibmFtZSsnPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+XG4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB6aXh1bnRhc2tjb250ID0gJyAgICAgICAgPGRpdiBjbGFzcz0ieml4dW5UYXNrTmF2IGNsZWFyIj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4gYWN0aXZlIiBkYXRhLWluZGV4PSIwIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IGF1dG87Ij7lip7lhaznqbrpl7Tnp5/otYE8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4iIGRhdGEtaW5kZXg9IjEiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPuWKnuWFrOepuumXtOWumuWItjwvZGl2PlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0biIgZGF0YS1pbmRleD0iMiIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBhdXRvOyI+56m66Ze06L+Q6JCl566h55CGPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuIiBkYXRhLWluZGV4PSIzIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IGF1dG87Ij7lj4Lop4Llj4rlnLrlnLDpooTlrpo8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4iIGRhdGEtaW5kZXg9IjQiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPuS8geS4muiMtuath+acjeWKoTwvZGl2PlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgPC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dGJveCBjbGVhciI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyY29udCBmbCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1jb250YWluZXIiPjxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyIj4nK3N3aXBlcnNsaWRlKyc8L2Rpdj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICA8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dGNvbnQganMtY29udGFjdC1zdWJtaXQgZmwiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtX2JveCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIHRpcHMiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPiog6K+355WZ5LiL5oKo55qE5L+h5oGv77yM5oiR5Lus5bCG5pyJ5LiT5Lq65LiO5oKo6IGU57O7PC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0X2JveCBjbGVhciI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibmFtZV8wIiBwbGFjZWhvbGRlcj0iKiDlkI3np7AiIHR5cGVuYW1lPSJjaGluZXNlIiBvbmJsdXI9ImRvQ2hpbmVzZSgpIiBjbGFzcz0ic2V0X2lucHV0Ij5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0ZWxwaG9uZV8wIiBwbGFjZWhvbGRlcj0iKiDmiYvmnLrlj7fnoIEiIHR5cGVuYW1lPSJtb2JpbGUiIG9uYmx1cj0iZG9Nb2JpbGUoKSIgY2xhc3M9InNldF9pbnB1dCI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZW1haWxfMCIgcGxhY2Vob2xkZXI9Iiog6YKu566xIiB0eXBlbmFtZT0iZW1haWwiIG9uYmx1cj0iZG9FbWFpbCgpIiBjbGFzcz0ic2V0X2lucHV0Ij5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJhZGRyZXNzXzAiIHBsYWNlaG9sZGVyPSIqIOWfjuW4giIgY2xhc3M9InNldF9pbnB1dCI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb250ZW50XzAiIHZhbHVlPSLlpKfkuK3kvIHkuJrlrprliLYiIGNsYXNzPSJzZXRfaW5wdXQiPlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICA8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuX2JveCBjbGVhciI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9Im1lc3NhZ2VCdG4iIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPuaPkOS6pDwvYnV0dG9uPlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICA8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICA8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9InppeHVudGlwcyI+6K+35L2/55So5oiR55qE6IGU57O75L+h5oGv77yM6YCa6L+H55S16K+d44CB55S15a2Q6YKu5Lu244CB56S+5Lqk5aqS5L2T5oiW55+t5L+h5pa55byP5ZCR5oiR5Y+R6YCBIEJFRVBMVVMg5YWz6IGU5pa555qE54m55Yir5LyY5oOg5Y+K5YW25LuW5L+h5oGv44CCPGJyPumAmui/h+eCueWHu+aPkOS6pO+8jOaIkeW3sumYheivu+W5tueQhuinoyBCRUVQTFVTIOeahDxhIGhyZWY9Ii8vd3d3LmJlZXBsdXMuY29tL2U5OTFjNi5odG1sIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gc3R5bGU9ImNvbG9yOiBjb3JhbCI+6ZqQ56eB5pS/562WPC9zcGFuPjwvYT7vvIzljIXmi6zpmpDnp4HmlL/nrZbkuK3miYDop4TlrprnmoTlpITnkIblkozkvKDovpPmiJHnmoTkv6Hmga/jgII8L2Rpdj4nOwogICAgICAgICAgICB6aXh1blRhc2suaW5uZXJIVE1MID0geml4dW50YXNrY29udDsKICAgICAgICAgICAgJCgnYm9keScpLmFwcGVuZCh6aXh1blRhc2spOwogICAgICAgICAgICB0aGlzc3dpcGVyID0gbmV3IFN3aXBlcignLnppeHVuVGFzayAuc3dpcGVyLWNvbnRhaW5lcicsIHsKICAgICAgICAgICAgICAgIHBhZ2luYXRpb25DbGlja2FibGU6IHRydWUsCiAgICAgICAgICAgICAgICBzcGVlZDogNzAwLAogICAgICAgICAgICAgICAgb25TbGlkZUNoYW5nZUVuZDogZnVuY3Rpb24odGhpc3N3aXBlcil7CiAgICAgICAgICAgICAgICAgICAgc3dpcGVyX2V4Y2hhbmdlKHRoaXNzd2lwZXIuYWN0aXZlSW5kZXgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCcueml4dW5UYXNrTmF2IC5idG4nLGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHZhciBpbmRleCA9ICQodGhpcykuYXR0cignZGF0YS1pbmRleCcpOwogICAgICAgICAgICBzd2lwZXJfZXhjaGFuZ2UoaW5kZXgpCiAgICAgICAgfSk7CgogICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsZnVuY3Rpb24oKXsKICAgICAgICAgICAgaWYoJCgnLnppeHVuQnRuJykuaGFzQ2xhc3MoJ29wZW4nKSl7CiAgICAgICAgICAgICAgICAkKCcueml4dW5UYXNrJykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAkKCcueml4dW5CdG4nKS5yZW1vdmVDbGFzcygnb3BlbicpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywnLnppeHVuVGFzaycsZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgfSk7CiAgICB9CgogICAgZnVuY3Rpb24gc3dpcGVyX2V4Y2hhbmdlKGluZGV4KXsKICAgICAgICB0aGlzc3dpcGVyLnNsaWRlVG8oaW5kZXgsNzAwLGZhbHNlKTsKICAgICAgICB2YXIgX3RoaXNfaW5kZXggPSB0aGlzc3dpcGVyLmFjdGl2ZUluZGV4OwogICAgICAgIHZhciAkX3RoaXNfYnRuID0gJCgnLnppeHVuVGFza05hdiAuYnRuW2RhdGEtaW5kZXg9IicrX3RoaXNfaW5kZXgrJyJdJyk7CiAgICAgICAgdmFyICRfdGhpc192YWw7CiAgICAgICAgdmFyICRfdGhpc19jb250ZW50X2lucHV0ID0gJCgnLnppeHVuVGFzayBpbnB1dFtuYW1lPSJjb250ZW50XzAiXScpOwogICAgICAgICRfdGhpc19idG4uYWRkQ2xhc3MoJ2FjdGl2ZScpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgIHN3aXRjaCAoX3RoaXNfaW5kZXgpewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAkX3RoaXNfdmFsID0gJF90aGlzX2J0bi50ZXh0KCk7CiAgICAgICAgICAgICAgICAkX3RoaXNfY29udGVudF9pbnB1dC52YWwoJF90aGlzX3ZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgJF90aGlzX3ZhbCA9ICRfdGhpc19idG4udGV4dCgpOwogICAgICAgICAgICAgICAgJF90aGlzX2NvbnRlbnRfaW5wdXQudmFsKCRfdGhpc192YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICRfdGhpc192YWwgPSAkX3RoaXNfYnRuLnRleHQoKTsKICAgICAgICAgICAgICAgICRfdGhpc19jb250ZW50X2lucHV0LnZhbCgkX3RoaXNfdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICAkX3RoaXNfdmFsID0gJF90aGlzX2J0bi50ZXh0KCk7CiAgICAgICAgICAgICAgICAkX3RoaXNfY29udGVudF9pbnB1dC52YWwoJF90aGlzX3ZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgJF90aGlzX3ZhbCA9ICRfdGhpc19idG4udGV4dCgpOwogICAgICAgICAgICAgICAgJF90aGlzX2NvbnRlbnRfaW5wdXQudmFsKCRfdGhpc192YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgLy8g55S15a2Q6YKu566x55qE6aqM6K+BPT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIGZ1bmN0aW9uIGRvRW1haWwoKXsKICAgICAgICB2YXIgdCA9ICQoImlucHV0W3R5cGVuYW1lPSdlbWFpbCddIik7CiAgICAgICAgaWYoL15cdysoWy0rLl1cdyspKkBcdysoWy0uXVx3KykqXC5cdysoWy0uXVx3KykqJC8udGVzdCh0LnZhbCgpKSl7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH1lbHNlewogICAgICAgICAgICB0LmF0dHIoInBsYWNlaG9sZGVyIiwi6YKu566x5qC85byP6ZSZ6K+vIik7CiAgICAgICAgICAgIHQudmFsKCIiKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIC8q5Y+q6IO96L6T5YWl5Lit5paH6Lef5a2X5q+NKi8KICAgIGZ1bmN0aW9uIGRvQ2hpbmVzZSgpewogICAgICAgIHZhciB0ID0gJCgiaW5wdXRbdHlwZW5hbWU9J2NoaW5lc2UnXSIpOwogICAgICAgIGlmKC9eKFtBLVphLXpdfFtcdTRFMDAtXHU5RkE1XSkrJC8udGVzdCh0LnZhbCgpKSl7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH1lbHNlewogICAgICAgICAgICB0LnZhbCgiIik7CiAgICAgICAgICAgIHQuYXR0cigicGxhY2Vob2xkZXIiLCLlj6rog73ovpPlhaXkuK3mloflkozlrZfmr40iKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIC8q5omL5py65Y+356CB55qE6aqM6K+BPT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogICAgZnVuY3Rpb24gZG9Nb2JpbGUoKXsKICAgICAgICB2YXIgdCA9ICQoImlucHV0W3R5cGVuYW1lPSdtb2JpbGUnXSIpOwogICAgICAgIGlmKC9eKCgwXGR7MiwzfS1cZHs3LDh9KXwoMVszNDU2Nzg5XVswLTldezl9KSkkLy50ZXN0KHQudmFsKCkpKXsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIHQuYXR0cigicGxhY2Vob2xkZXIiLCLlj7fnoIHmoLzlvI/plJnor6/vvIzluqfmnLrljLrlj7flkI7or7fnlKjigJgt4oCZ56ym5Y+36L+e5o6lIik7CiAgICAgICAgICAgIHQudmFsKCIiKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIC8q5o+Q5Lqk55qESlM9PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgICAkKGRvY3VtZW50KS5vbignY2hhbmdlJywnLnppeHVuVGFzayAuaW5wdXRfYm94IGlucHV0JyxmdW5jdGlvbigpewogICAgICAgIHZhciBuYW1lID0gJCgnLmNrbnd0d2FsZnR0dHpjeiBpbnB1dFtuYW1lPSJuYW1lXzAiXScpLnZhbCgpOwogICAgICAgIHZhciBwaG9uZSA9ICQoJy5ja253dHdhbGZ0dHR6Y3ogaW5wdXRbbmFtZT0idGVscGhvbmVfMCJdJykudmFsKCk7CiAgICAgICAgdmFyIGVtYWlsID0gJCgnLmNrbnd0d2FsZnR0dHpjeiBpbnB1dFtuYW1lPSJlbWFpbF8wIl0nKS52YWwoKTsKICAgICAgICB2YXIgYWRkcmVzcyA9ICQoJy5ja253dHdhbGZ0dHR6Y3ogaW5wdXRbbmFtZT0iYWRkcmVzc18wIl0nKS52YWwoKTsKICAgICAgICBpZihuYW1lIT09IiIgJiYgcGhvbmUhPT0iIiAmJiBlbWFpbCE9PSIiICYmIGFkZHJlc3MhPT0iIil7CiAgICAgICAgICAgICQoJ2J1dHRvbiNtZXNzYWdlQnRuJykuYWRkQ2xhc3MoJ21lc3NhZ2VTdWNjZXNzJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICQoJ2J1dHRvbiNtZXNzYWdlQnRuJykucmVtb3ZlQ2xhc3MoJ21lc3NhZ2VTdWNjZXNzJyk7CiAgICAgICAgfQogICAgfSk7CiAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCcuanMtY29udGFjdC1zdWJtaXQgYnV0dG9uJyxmdW5jdGlvbigpIHsKICAgICAgICB2YXIgc2VydmVySWQgPSAkKCcueml4dW5CdG4nKS5wYXJlbnRzKCcuY2FudmFzX2JveCcpLmF0dHIoJ2RhdGEtaWQnKTsKICAgICAgICB2YXIgbmFtZSA9ICQoJy56aXh1blRhc2sgaW5wdXRbbmFtZT0ibmFtZV8wIl0nKS52YWwoKTsKICAgICAgICB2YXIgcGhvbmUgPSAkKCcueml4dW5UYXNrIGlucHV0W25hbWU9InRlbHBob25lXzAiXScpLnZhbCgpOwogICAgICAgIHZhciBlbWFpbCA9ICQoJy56aXh1blRhc2sgaW5wdXRbbmFtZT0iZW1haWxfMCJdJykudmFsKCk7CiAgICAgICAgdmFyIGFkZHJlc3MgPSAkKCcueml4dW5UYXNrIGlucHV0W25hbWU9ImFkZHJlc3NfMCJdJykudmFsKCk7CiAgICAgICAgaWYobmFtZSE9PSIiICYmIHBob25lIT09IiIgJiYgZW1haWwhPT0iIiAmJiBhZGRyZXNzIT09IiIpewogICAgICAgICAgICB2YXIgZWxlcyA9ICQoJy56aXh1blRhc2snKS5maW5kKCcuc2V0X2lucHV0Jyk7CiAgICAgICAgICAgIHZhciBtc2dKc29uID0ge307CiAgICAgICAgICAgIGlmKGVsZXMubGVuZ3RoPjApewogICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1zZ05hbWUgPSAkKGVsZXNbaV0pLmF0dHIoJ25hbWUnKTsKICAgICAgICAgICAgICAgICAgICB2YXIgbXNnVmFsdWUgPSAkKGVsZXNbaV0pLnZhbCgpOwogICAgICAgICAgICAgICAgICAgIGlmIChtc2dOYW1lICE9PSBudWxsICYmIG1zZ05hbWUgIT09ICdudWxsJykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobXNnVmFsdWUgIT09ICfor7fpgInmi6knICYmIG1zZ1ZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2dKc29uW21zZ05hbWVdID0gbXNnVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgIHR5cGU6ICdQT1NUJywKICAgICAgICAgICAgICAgIHVybDogc3VibWl0VXJsICsgJy9XZWIvSW50ZXJmYWNlL3NhdmVDb250YWN0JywKICAgICAgICAgICAgICAgIGRhdGE6IHsKICAgICAgICAgICAgICAgICAgICB3ZWJfaWQ6IHdlYl9pZCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBKU09OLnN0cmluZ2lmeShtc2dKc29uKSwKICAgICAgICAgICAgICAgICAgICBzY3JlZW5fdHlwZTogc2NyZWVuVHlwZSwKICAgICAgICAgICAgICAgICAgICBtb2R1bGVfaWQ6IHNlcnZlcklkCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gc3VjY2VzcyhkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID09PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCfmgqjnmoTkv6Hmga/lt7Lmj5DkuqTmiJDlip/vvIzmiJHku6zlsIblsL3lv6vkuI7mgqjogZTns7snKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnppeHVuVGFzaycpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGFsZXJ0KCfkvaDloavlhpnnmoTkv6Hmga/kuI3lrozmlbQs6K+35qOA5p+l5piv5ZCm5pyJ5L+h5oGv5ryP5aGrJyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwo8L3NjcmlwdD4=

深圳业务总部 :

北京业务分部 :

上海业务分部 :