# 사용자 정의 필드 자동화로 그룹에 사용자 추가하기

**URL:** https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873
**Category:** Site Management
**Tags:** groups, automation, how-to, user-custom-fields
**Created:** [8월 19, 2023, 7:50오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873 "2023-08-19T19:50:46Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Discourse](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/32/148734_2.png) [@Discourse](https://meta.discourse.org/u/Discourse)
#### Post date: [8월 19, 2023, 7:50오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/1 "2023-08-19T19:50:46Z")

</div>

> 🔖 이 가이드는 사용자가 가입 또는 프로필 업데이트 시 사용자 정의 필드를 선택한 내용에 따라 사용자를 자동으로 그룹에 추가하는 방법을 설명합니다.
> 
> 🙋 필요한 사용자 권한: 관리자

## 요약

1. 필요한 그룹 생성
2. 사용자 정의 필드 설정
3. 사용자를 그룹에 추가하는 자동화 생성
4. 설정 테스트

## 그룹 생성

먼저, 사용자가 자동으로 추가되길 원하는 그룹을 생성하세요:

1. 사이트의 관리자 영역으로 이동합니다.
2. 관리자 사이드바에서 '그룹’으로 이동하거나 `/admin/groups`를 방문합니다.
3. 생성하려는 각 그룹에 대해 '새 그룹’을 클릭합니다.
4. 자동화 스크립트가 이 값을 사용하므로 각 그룹에 '전체 이름(Full Name)'을 반드시 추가하세요.  
 ![create the groups](https://global.discourse-cdn.com/meta/original/4X/b/7/4/b7452e7041cba063b3161a0e5edb63bdba551c77.png)

> ℹ 자동화 스크립트는 사용자의 사용자 정의 필드 값을 그룹의 \*\*전체 이름(Full Name)\*\*과 일치시킵니다. 각 그룹의 전체 이름이 해당 사용자 정의 필드 옵션과 정확히 일치하는지 확인하세요 (예: 드롭다운 옵션이 "cat"이라면, 그룹의 전체 이름은 "cat"이어야 합니다).

## 사용자 정의 필드 설정

다음으로, 사용자가 선택할 사용자 정의 필드를 생성합니다:

1. 사이트의 관리자 영역으로 이동합니다.
2. 관리자 사이드바의 커뮤니티 섹션에서 '사용자 필드(User Fields)'로 이동하거나 `/admin/config/user-fields`를 방문합니다.
3. '사용자 필드 추가’를 클릭합니다.
4. 적절한 옵션으로 필드를 설정합니다.

사용자 정의 필드의 예시는 다음과 같습니다:

 ![example user custom field](https://global.discourse-cdn.com/meta/original/4X/1/a/e/1ae3e431c009a498a5231a130789ecbab420b06a.png)

> ℹ 그룹 전체 이름과 정확히 일치하는 사전 정의된 옵션을 가진 **드롭다운** 필드 유형을 사용하세요. 자유 텍스트 필드는 불일치를 일으킬 수 있습니다. **확인(confirmation)** 필드 유형을 사용하는 경우, 값은 “true” 또는 "false"가 되므로 그룹의 전체 이름을 이에 맞게 설정해야 합니다.

## 자동화 생성

이제, 사용자의 사용자 정의 필드 선택에 따라 사용자를 그룹에 추가하는 자동화를 설정합니다:

1. 사이트의 관리자 영역으로 이동합니다.
2. 관리자 사이드바에서 '플러그인 \> 자동화’로 이동하거나 `/admin/plugins/automation`을 방문합니다.
3. '자동화 추가’를 클릭합니다.
4. 스크립트로 '사용자 정의 필드를 통한 사용자 그룹 추가’를 선택합니다.
5. 트리거를 선택합니다:
  - 가입 시 사용자를 그룹에 추가하려면 ‘사용자 최초 로그인’
  - 일정 간격으로 실행되어 사용자가 시간이 지남에 따라 그룹을 변경할 수 있도록 하려면 ‘반복’

6. 드롭다운 메뉴에서 사용자 정의 필드를 선택합니다.
7. 자동화 설정을 구성하고 활성화되도록 합니다.

자동화 설정의 예시는 다음과 같습니다:

 ![create automation](https://global.discourse-cdn.com/meta/original/4X/1/6/a/16aa38a06a66f2851073b1377747aaeb3f266381.png)

📣 자동화에는 기존 사용자 정의 필드를 선택할 수 있는 드롭다운이 포함되어 있어 설정이 더 쉽고 오류 발생 가능성이 낮습니다.

 ![dropdown select](https://global.discourse-cdn.com/meta/original/4X/8/8/3/8836880274254fcc4c159f20e0c523b8556abba0.png)

## 설정 테스트

모든 것이 올바르게 작동하는지 확인하려면:

1. 새 사용자로 가입하거나 기존 사용자의 프로필을 업데이트합니다.
2. 생성한 사용자 정의 필드에서 옵션을 선택합니다.
3. 가입 또는 프로필 업데이트 과정을 완료합니다.

가입 시 사용자 정의 필드가 어떻게 보이는지 예시는 다음과 같습니다:

 ![group-add sign-up](https://global.discourse-cdn.com/meta/original/4X/d/f/a/dfa5b15c81a7ddcefe87af1a88640ecef4c8d9ff.png)

자동화가 실행된 후, 사용자가 적절한 그룹에 추가되었음을 확인해야 합니다:

 ![added to custom group](https://global.discourse-cdn.com/meta/original/4X/7/b/c/7bc62001e084e45902c121ac282ec9a17841da89.png)

## 자주 묻는 질문(FAQ)

**Q: 이 자동화로 사용자를 기본 그룹에 추가할 수 있나요?**  
A: 기본적으로 이 자동화는 사용자를 보조 그룹에 추가합니다. 그룹을 기본 그룹으로 설정하려면 그룹의 ‘관리 \> 멤버십’ 설정 페이지로 가서 '기본 그룹으로 자동 설정’을 선택하세요.

**Q: ‘반복’ 트리거를 선택하면 자동화는 얼마나 자주 실행되나요?**  
A: 자동화 생성 시 주기를 설정할 수 있습니다. 커뮤니티의 필요에 가장 잘 맞는 일정을 선택하세요.

**Q: 사용자가 사용자 정의 필드 선택을 변경하면 어떻게 되나요?**  
A: 반복 자동화를 설정한 경우, 다음 실행 시 업데이트된 선택에 따라 사용자를 새 그룹에 추가합니다. 그러나 자동화는 사용자가 이전 그룹에서 **제거하지** 않습니다 — 추가만 수행합니다. 필요할 경우 그룹 제거는 수동으로 관리해야 합니다.

**Q: 자동화는 사용자를 어떤 그룹에 추가할지 어떻게 알까요?**  
A: 자동화는 사용자의 사용자 정의 필드 값을 각 그룹의 \*\*전체 이름(Full Name)\*\*과 일치시킵니다. 자동화 설정에 명시적인 그룹 선택 항목은 없으며, 일치 과정은 전체 이름에 기반하여 자동으로 이루어집니다.

## 추가 자료

- [Creating and configuring custom user fields](https://meta.discourse.org/t/creating-and-configuring-custom-user-fields/113192?silent=true)
- [Setting a primary group for users](https://meta.discourse.org/t/setting-a-primary-group-for-users/25857?silent=true)

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [11월 3, 2023, 4:01오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/2 "2023-11-03T16:01:51Z")

</div>

이 자동화 기능에 기존 사용자 사용자 정의 필드를 선택할 수 있는 드롭다운 메뉴가 추가되었습니다. 🥳

 ![dropdown select](https://global.discourse-cdn.com/meta/original/4X/8/8/3/8836880274254fcc4c159f20e0c523b8556abba0.png)

이제 사용자 정의 필드 JSON에서 ID 번호를 찾으려 애쓰거나, 어색한 오타로 인해 문제가 생기는 일은 없습니다. 정말 부드럽고 친근한 UI입니다. 🕶

---

<div class="post-metadata">

### Author: ![sheng\_hualuo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sheng_hualuo/32/430359_2.png) [@sheng\_hualuo](https://meta.discourse.org/u/sheng_hualuo)
#### Post date: [7월 10, 2024, 6:21오전 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/3 "2024-07-10T06:21:38Z")

</div>

자동화 기능은 사용자를 보조 그룹에만 추가할 수 있습니다. 사용자를 기본 그룹에 추가하려면 어떻게 해야 하나요?

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [7월 10, 2024, 7:03오전 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/4 "2024-07-10T07:03:55Z")

</div>

이 설정은 그룹의 관리/멤버십 설정 페이지에서 '기본 그룹으로 자동 설정’을 선택할 수 있는 곳에 적용될 것 같습니다.

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 1:43오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/5 "2025-01-29T13:43:03Z")

</div>

무엇을 놓치고 있는 걸까요?

모든 단계를 진행했지만, 테스트 후에도 예상대로 작동하지 않습니다.

자동화 이름 옵션과 그룹의 "전체 이름"을 일치시켜야 하나요? 즉, 트리거 이벤트 발생 시 사용자가 추가될 그룹을 선택할 옵션이 보이지 않습니다.

어떤 단계를 놓치고 있거나, 머릿속에서 뭔가 연결이 안 되는 것 같습니다.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [1월 29, 2025, 1:48오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/6 "2025-01-29T13:48:14Z")

</div>

> [@디스커스 자동화](https://meta.discourse.org/t/discourse-automation/195773/118?u=moin):
>
> The value of the custom field has to match the group name. So if your question is “what do you like more?” And your answers are “dogs” and “cats”, the full names of the groups must be “dogs” and “cats”. You cannot call them “dog lovers” and “cat lovers” There is a hint in the linked guide but I didn’t understand at first either.

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 3:56오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/7 "2025-01-29T15:56:50Z")

</div>

감사합니다. 그리고 이전 설정을 모두 삭제하고, 이름 필드를 동기화한 후 가입을 테스트해 보았습니다. 그래도 여전히 성공하지 못했습니다.

확인 차 여쭤보지만, @name이 아닌 그룹의 "전체 이름"을 사용하시나요?

추가로, 자동화를 _반복_으로 변경하여 **트리거** 를 수동으로 실행해 보았지만, 이 또한 작동하지 않았습니다.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [1월 29, 2025, 4:19오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/8 "2025-01-29T16:19:31Z")

</div>

모든 것을 처음부터 새로 만들었습니다:

1. 사용자 정의 필드 “Pet team”(반려동물 팀):  

2. 새로운 그룹: 이름 “cat-lovers”, 전체 이름 “cat” 및 이름 “dog-lovers”, 전체 이름 “dog”  

3. 자동화: (빠른 테스트를 위해 1분 단위로 설정했습니다)  

4. 테스트

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 4:25오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/9 "2025-01-29T16:25:24Z")

</div>

처음에는 \*“가입 시점 전후로 사용자 필터링 방법”\*이라는 새 주제를 만들려고 했습니다. 특정 날짜 이후 가입한 모든 사용자를 X 그룹으로 보내기 위해서였죠.

하지만 이 주제를 발견해서 이걸로 충분하겠다고 판단했습니다.

저희 사용 사례는 예시(다시 한번 감사드립니다)와 차이가 있는데, 아마도 더 단순할 수 있습니다. 여러 선택지가 필요 없으므로 사용자가 “확인” ✅ 항목만 체크하면 되고, 그 확인 필드가 사용자를 X 그룹에 고정시키는 방식입니다.

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 4:28오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/10 "2025-01-29T16:28:22Z")

</div>

또한 테스트 사용자와 사용자 프로필에서 X 필드가 true로 설정되어 있는 것을 볼 수 있습니다. 따라서 가입 시에는 정상적으로 작동합니다.

위에서 설명한 제 경우와 같은 사용 사례에서는 **cat** 옵션만 있으며, 이는 “확인” 클릭을 통해 할당됩니다. 이는 단일 필터 요구사항입니다.

대신 드롭다운을 사용하여 강제 적용을 시도해 보고 작동하는지 확인해 보겠습니다.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [1월 29, 2025, 4:32오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/11 "2025-01-29T16:32:09Z")

</div>

저도 확인용 사용자 정의 필드를 사용하여 작동하는 자동화를 만들었습니다.

 ![Screenshot_20250129_173234_Firefox](https://global.discourse-cdn.com/meta/original/4X/e/2/9/e29516b69242b01c7e1c28620024518e0aa57258.jpeg)

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 4:32오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/12 "2025-01-29T16:32:19Z")

</div>

네, 그게 전부였어요. 사용자 정의 필드를 옵션이 하나만 있는 드롭다운으로 변경하니 작동했습니다.

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 4:32오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/13 "2025-01-29T16:32:43Z")

</div>

재현할 수 없어요! 😀

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [1월 29, 2025, 4:35오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/14 "2025-01-29T16:35:10Z")

</div>

이렇게 하면 도움이 될까요? 차이를 알아볼 수 있을지도 모르겠네요

사용자 필드

 ![Screenshot_20250129_173344_Firefox](https://global.discourse-cdn.com/meta/original/4X/4/e/5/4e540aa4dd00bb66e2eb9047fe48b52e798ab33d.jpeg)  
자동화  
 ![Screenshot_20250129_173428_Firefox](https://global.discourse-cdn.com/meta/original/4X/9/f/a/9fad48c261b45f46e116caeac619b479bfc53b71.jpeg)  
그룹  
 ![Screenshot_20250129_173234_Firefox](https://global.discourse-cdn.com/meta/original/4X/e/2/9/e29516b69242b01c7e1c28620024518e0aa57258.jpeg)

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 4:46오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/15 "2025-01-29T16:46:48Z")

</div>

그룹 이름이 "true"인가요?

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [1월 29, 2025, 4:48오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/16 "2025-01-29T16:48:20Z")

</div>

네, 사용자 정의 필드의 값과 일치해야 합니다. 확인 필드는 ‘true’ 또는 'false’입니다.

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [1월 29, 2025, 5:44오후 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/17 "2025-01-29T17:44:26Z")

</div>

네, 제가 생각했던 내용과 일치합니다.

그렇다면 "true"라는 이름의 그룹 하나에만 제한되고, 다시 그 “확인” 방식을 사용할 수 없게 되는 것 같습니다.

일단 드롭다운을 사용하겠습니다. 연 단위로 그룹 필터를 변경하고 싶을 수 있기 때문이죠. 예를 들어, 매년 하나의 그룹을 만드는 방식입니다.

마지막으로, 자동화 개발자분들께 제안드리고 싶은 것은, 필터의 대상이 되는 의도된 사용자 그룹을 명시하는 더 **명확한 단계 및 필드** 를 고려해 주시면 좋겠다는 것입니다. 이 암묵적인 설정 부분이 저에게 많은 혼란과 시간을 소모하게 했을 뿐만 아니라, 아마 다른 분들에게도 마찬가지일 것입니다.

모든 도움과 설명에 감사드립니다, @Moin

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [7월 2, 2025, 10:27오전 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/18 "2025-07-02T10:27:41Z")

</div>

문서에서 몇 가지 오류를 발견했습니다:

> [@Discourse](#):
>
> Users \> User Fields로 이동하세요

실제로 사용자 필드는 관리자 사이드바의 커뮤니티 섹션에 위치해 있습니다.

> [@Discourse](#):
>
> - 사이트의 Admin 영역으로 이동
> - Customize \> Automations으로 이동

Automation은 플러그인으로 구현되어 있으므로 Customize 아래가 아닌 Plugins 아래에서 찾을 수 있습니다.

일반적으로 스크린샷과 내비게이션이 다소 구식인 것 같습니다. 또한, 일반적인 용어는 “custom user field”(사용자 정의 필드)인데, 이 가이드에서는 “user custom field”(사용자 사용자 필드)라는 표현을 자주 사용하고 있습니다.

며칠 전, 이러한 점들을 대부분 반영한 대안 버전을 제안한 적이 있습니다. 이 부분에서 어려움을 겪고 있는 분들을 위해 이제 여기에 공유합니다.

[details=“My draft”]

> 🔖 이 가이드는 가입 또는 프로필 업데이트 시 사용자가 사용자 정의 필드(custom user field)에서 선택한 값에 따라 사용자를 자동으로 그룹에 추가하는 방법을 설명합니다.
> 
> 🙋 필요한 사용자 권한: Administrator(관리자)

## 요약

1. 사용자 정의 필드 설정
2. 필요한 그룹 생성
3. 사용자를 그룹에 추가하는 자동화(Automation) 생성
4. 설정 테스트

## 사용자 정의 필드 설정

먼저 사용자가 선택할 사용자 정의 필드를 생성하세요:  
(사용자 필드에 대한 자세한 [가이드](https://meta.discourse.org/t/creating-and-configuring-custom-user-fields/113192)도 있습니다)

1. 사이트의 Admin 영역으로 이동
2. 관리자 사이드바의 커뮤니티 섹션에 있는 링크를 통해 User fields로 이동하거나 `/admin/config/user-fields` 주소를 방문
3. “Add user field”(사용자 필드 추가) 클릭
4. 필드를 적절한 옵션으로 설정

사용자 필드의 예시입니다:

 ![example custom user field](https://global.discourse-cdn.com/meta/original/4X/1/8/2/18220683fa329304a9900d38e6c30a0a4c110ba8.png)

> ℹ 자동화는 사용자가 사용자 정의 필드에 입력한 값이 그룹의 전체 이름(Full Name)과 정확히 일치할 경우 사용자를 해당 그룹에 할당합니다. 정확성을 보장하려면 그룹 이름과 정확히 일치하는 미리 정의된 옵션을 가진 드롭다운을 사용하세요. 자유 텍스트 필드는 불일치를 초래할 수 있습니다. 확인(confirmation) 필드를 사용하는 경우, 그룹 이름은 ‘true’ 또는 'false’여야 합니다.

## 그룹 생성

다음으로, 사용자가 자동으로 추가되希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希希

---

<div class="post-metadata">

### Author: ![jenmck](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jenmck/32/332487_2.png) [@jenmck](https://meta.discourse.org/u/jenmck)
#### Post date: [11월 15, 2025, 11:35오전 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/19 "2025-11-15T11:35:00Z")

</div>

이렇게 설정해 두었는데, 사용자가 사용자 필드 드롭다운에서 선호도를 변경할 때 초기에 선택한 그룹에서 제거되지는 않지만, 새로 선택한 그룹에는 추가되는 것을 확인했습니다. 이것이 예상되는 동작인가요?

즉, 사용자가 그룹에 추가된 이후에는 자동화를 통해 해당 그룹에서 사용자를 제거할 방법이 없는 건가요?

---

<div class="post-metadata">

### Author: ![Paul\_King](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paul_king/32/165426_2.png) [@Paul\_King](https://meta.discourse.org/u/Paul_King)
#### Post date: [12월 1, 2025, 10:37오전 UTC](https://meta.discourse.org/t/add-users-to-groups-through-custom-field-automation/275873/20 "2025-12-01T10:37:12Z")

</div>

사용자 정의 필드가 여러 옵션을 가진 드롭다운인 경우에도 시스템이 여전히 전혀 작동하지 않습니다.
