Трамп в пасхальное воскресение обматерил (https://theins.ru/news/291113) Иран из-за Ормузского пролива, пообещал «ад» во вторник и закончил угрозы словами: «Хвала Аллаху»
«Во вторник будет День электростанций и День мостов — все сразу, в Иране. Такого вы еще не видели!!! Откройте, блядь, пролив, вы сумасшедшие ублюдки, иначе будете жить в аду — ПРОСТО СМОТРИТЕ! Хвала Аллаху. Президент ДОНАЛЬД ДЖ. ТРАМП»,
— написал Трамп в своей сосцсети Truth Social.
Спустя несколько часов в аккаунте Трампа появилось еще одно сообщение:
«Вторник, 20:00 по восточному времени!»
Накануне, 4 апреля, Трамп уже выступал с резким ультиматумом в адрес Ирана, заявив, что на выполнение требований Вашингтона остается 48 часов.
Читать в России без VPN (https://storage.googleapis.com/plmrph/2e1z0lga)
Подписаться на The Insider (https://t.me/theinsider) | Задонатить (https://donate.theins.ru/en) | Написать редакции (https://t.me/TheinsiderBox_bot)
Трамп разошёлся не на шутку.
Президент США анонсировал (в грубой форме) удары по критической инфраструктуре Ирана.
«Вторник будет Днём электростанций и мостов в Иране. Ничего подобного больше не будет!!!
Откройте бл*дский пролив, вы сумасшедшие ублюдки, или вы будете жить в аду — ПОСМОТРИТЕ САМИ! Хвала Аллаху».Президент Дональд Дж. Трамп
Спасибо за внимание…
https://t.me/IGLA2026/59702
Tuesday will be Power Plant Day, and Bridge Day, all wrapped up
in one, in Iran. There will be nothing like it!!! Open the Fuckin’
Ѕtгаіt, you crazy bastards, or you’ll be living in Hell - ЈUЅТ
WATCH! Praise be to Allah. President DONALD J. TRUMP
PS Какой слог!!! Нет, какой слог!!! Такое отливается в граните на века.
И, да. Это теперь политика. Собственно она всегда такой была. Но мысленно.
Вот 5 нормальных хэштегов:
#ПозорНаКоня
#Боромир
#КогдаНеПроверяешь
#НавлекаешьПозор
#РусскийМем
Можешь копировать как есть. Чисто и без воды.
5. Когда присоединяете таблицу не по её первичному ключу и не хотите получить мультипликацию, заранее подумайте над обработкой дублей. Будущий "вы" поблагодарит "вас" сегодняшнего.
6. Иногда можно избавиться от case when с помощью функций least, greatest и других (зависят от языка). Это хорошо работает и чаще лучше читается. Прочитайте о доступных вам функциях хотя бы один раз, чтобы где-то осели знания типа "так можно". Не обязательно учить их синтаксис, важно знать о существовании.
**Yggmail – чат через почтовый интерфейс | DevZone**
**Что это и зачем**
[Yggmail](https://github.com/neilalexander/yggmail) — экспериментальный мессенджер, который использует стандартные почтовые протоколы IMAP и SMTP, но работает как чат. Создан как побочный проект разработчиков [Yggdrasil](https://devzone.org.ua/post/yggdrasil-mereznii-protokol-z-decentralizovanim-routingom). Написан на Go, полностью открытый. Основная идея — можно быстро поднять сервер, к которому подключается любой почтовый клиент, и при этом не нужен центральный сервер или публичный IP.
### Коротко об истории
Идея «почта как чат» существует давно, но раньше оставалась экспериментальной. Yggmail делает это проще: использует встроенный Yggdrasil-узел для связи между пользователями, сообщения защищены внутри сети, можно работать автономно.
### Как работает
* Использует Yggdrasil для передачи данных (TLS не нужен отдельно)
* Поддерживает стандартные IMAP/SMTP, можно подключить Thunderbird или [DeltaChat](https://delta.chat/uk/)
* Все данные хранятся локально (`~/yggmail.db`)
* Сообщения ставятся в очередь, если узел недоступен
### Установка
Собирается из исходников с Go:
```bash
cd ~
go install github.com/neilalexander/yggmail/cmd/yggmail@latest
install go/bin/yggmail /usr/local/bin/yggmail
yggmail -password
```
Для автозапуска через `systemd`:
```ini
[Unit]
After=network.target
Wants=network.target
[Service]
User=yggmail
Group=yggmail
Type=simple
WorkingDirectory=/home/yggmail
ExecStart=/usr/local/bin/yggmail -peer=tls://...
StandardOutput=file:///home/yggmail/debug.log
StandardError=file:///home/yggmail/error.log
[Install]
WantedBy=multi-user.target
```
### Подключение почтового клиента
Порты: SMTP 1025, IMAP 1143
Настройки клиента:
* Login: `123abc@yggmail`
* Password: сгенерированное `yggmail -password`
* SMTP: `localhost:1025`
* IMAP: `localhost:1143`
> Для теста лучше отправлять сообщения с другого узла сети, «сам себе» пока не работает.
### Ссылки и источники
* [GitHub: Yggmail](https://github.com/neilalexander/yggmail)
* [DevZone статья](https://devzone.org.ua/post/yggmail-mesendzer-z-poshtovym-interfeysom)
* RetroShare: `retroshare://channel?name=%2A%2AYggmail%20%E2%80%93%20klepetalnik%20z%20e-po%C5%A1tnim%20vmesnikom%20%7C%20DevZone%2A%2A&id=a63bcd6b10f0885208c9d63a3953ec75&msgid=8c6498275af451f9559858a3e7398de73c78208`
### Хэштеги
#Yggmail #Yggdrasil #DecentralizedChat #IMAP #SMTP #GoLang #OpenSource #SecureMessaging #Retroshare #PrivacyTech
Если нужно, могу сделать **схему работы Yggmail и маршрутизации через Yggdrasil**, чтобы было наглядно, как сообщения доходят до получателя.
Сделать такую схему?
---
Анализ, дезавуирование, вскрытие: уверен ли я в полной анонимности? Нет. Несколько десятков знакомых знают мой ник и интересы — любой из них теоретически может деанонимизировать меня в любой момент. Часто это останется непубличным, и иллюзия анонимности сохранится.
Важно понимать: непубличность ≠ анонимность. Просто не публиковать имя — это приватность, как анонимный Телеграм-аккаунт. Настоящая анонимность — это отсутствие любой точки отказа, способной знать больше, чем ты сам.
Я не питаю иллюзий: слишком много наследил, слишком много сказал. Но осознанно стараюсь не писать лишнего.
Чёртова мысль, что идеальной анонимности не бывает, всё равно закралась.
#приватность #анонимность #цифроваябезопасность
---
Режим не справился с блокировкой впн, потребовалась "помощь".
https://habr.com/ru/news/1018576/
Не спрашивайте у женщины - её возраст, у мужчины - его зарплату, у немецкой компании - чем она занималась в 30е-40е годы, а у российской - с 2026.
Вот 23 хэштега под твой пост (с уклоном в ИИ, VFX, dev и немного хайпа):
#AI #ArtificialIntelligence #GenerativeAI #VideoAI #MachineLearning #DeepLearning #ComputerVision #VFX #CGI #VideoEditing #ContentCreation #NeuralNetworks #DiffusionModels #CogVideoX #SAM2 #GeminiAI #OpenSource #GitHub #TechNews #FutureTech #AItools #AIVideo #DigitalReality
## 🧾 Фактчекинг и разбор
**Коротко:** текст выглядит как компиляция реальных фактов + неподтверждённых или сомнительных цифр. Прямых доказательств именно таких заявлений в одном месте — нет.
### Что подтверждается
* Павел Дуров действительно **регулярно заявляет**, что Telegram адаптируется к блокировкам (исторически — да, начиная с конфликта с Роскомнадзор в 2018–2020).
* Ограничения на звонки в Telegram/WhatsApp со стороны Роскомнадзора **действительно обсуждались/вводились частично** в 2024–2025 гг. под предлогом борьбы с преступностью.
* Кремль (в т.ч. Дмитрий Песков) **последовательно требует соблюдения законодательства РФ** от IT-платформ.
* ФСБ и её глава Александр Бортников ранее действительно заявляли о сложностях взаимодействия с Telegram.
### Что вызывает сомнения
* **“65 млн россиян ежедневно через VPN”** — нет публичных надёжных источников с такой точной цифрой. Оценки аудитории Telegram в РФ есть, но VPN-метрика — крайне спекулятивна.
* **“50 млн ежедневно отправляют сообщения”** — звучит как внутренняя метрика, но не подтверждена официально.
* **“114,300 каналов за один день / 10 млн с начала года”** — Telegram публикует отчёты модерации, но такие конкретные цифры требуют прямой ссылки на отчёт → в текущем виде это непроверяемо.
* **Скидка Premium “перед блокировкой”** — акции бывают, но привязка к “ожиданию блокировки” выглядит как интерпретация, а не факт.
---
## 🇷🇺 Перевод (с сохранением нейтрального тона)
**Дуров пообещал усложнить обнаружение и блокировку трафика Telegram**
Павел Дуров, основатель Telegram, комментируя блокировки мессенджера в России, заявил, что платформа продолжит адаптацию, делая свой трафик значительно более сложным для обнаружения и блокировки.
По словам Дурова, 65 миллионов россиян ежедневно используют мессенджер через VPN, при этом более 50 миллионов отправляют сообщения каждый день. Накануне возможной блокировки Telegram предложил россиянам оформить подписку Premium сразу на два года с существенной скидкой, поскольку в дальнейшем техническая возможность оплаты может оказаться ограниченной.
В августе прошлого года Роскомнадзор объявил о частичных ограничениях голосовых и видеозвонков в Telegram и WhatsApp «в целях противодействия преступности», а также для борьбы с экстремистской и террористической деятельностью.
Несмотря на заявления администрации Telegram об активной блокировке незаконного контента и каналов — например, только 17 марта модераторы заблокировали 114 300 каналов и групп, а общее число блокировок с начала года превысило 10 миллионов — Роскомнадзор утверждает, что мессенджер продолжает не соблюдать требования российского законодательства.
Ранее Дмитрий Песков заявил, что ключевым условием работы мессенджера в России является соблюдение законодательства. В то же время глава ФСБ Александр Бортников отметил, что переговоры с Павлом Дуровым в настоящее время не ведутся, а предыдущие попытки диалога не дали результатов.
---
## 🔗 Пруфы и источники (ориентиры для проверки)
* Официальный канал Павел Дуров — заявления о развитии Telegram и обходе блокировок
* Сообщения Роскомнадзор — ограничения связи и требования к платформам
* Публичные заявления Дмитрий Песков
* Интервью/заявления Александр Бортников
* Transparency/Moderation reports Telegram (если цифры блокировок реальны — они должны быть там)
👉 Ссылка из исходника (`share.google`) — агрегатор/шаринг, **не является первоисточником**.
---
## 📚 Библиография (контекст)
* История конфликта Telegram и Роскомнадзора (2018–2020 блокировки и их обход)
* Политика модерации Telegram и отчёты прозрачности
* Регулирование мессенджеров в РФ (закон «о суверенном интернете», требования к хранению данных)
* Практики DPI и обхода блокировок (обфускация трафика, domain fronting — исторически применялось)
---
## #️⃣ Хэштеги
#Telegram #Дуров #Роскомнадзор #Цензура #VPN #ИнтернетСвобода #DPI #Блокировки #Инфобез #Фактчекинг #OSINT #Privacy #DigitalRights
Ошибка **NAT / DHT в RetroShare** означает, что клиент не может нормально принимать входящие соединения — обычно из-за NAT, фаервола или отсутствия проброса портов.
Коротко и по делу — что проверять и чинить:
---
## 1. Проверь статус сети в RetroShare
**Настройки → Network → NAT Status**
* **OK / Forwarded** → всё нормально
* **Symmetric NAT / Firewalled** → проблема есть
---
## 2. Включи UPnP / NAT-PMP
**Settings → Network → Advanced**
* Включи:
* `Enable UPnP`
* `Enable NAT-PMP`
👉 Это позволяет автоматически открыть порт на роутере.
---
## 3. Пробрось порт вручную (самый надёжный способ)
1. Узнай порт в RetroShare:
* `Settings → Network → Local Address`
2. Зайди в роутер (обычно 192.168.0.1 / 192.168.1.1)
3. Сделай **Port Forwarding**:
* Протокол: TCP + UDP
* Порт: тот же, что в RetroShare
* IP: локальный IP твоего ПК (например 192.168.1.100)
⚠️ Закрепи IP через DHCP reservation, чтобы не менялся.
---
## 4. Проверь фаервол
### Windows:
* Разреши RetroShare в:
* Брандмауэре Windows
* Или временно отключи для теста
### Linux:
```bash
sudo ufw allow <порт>
```
---
## 5. Проверка внешнего IP
Если у тебя:
* **CG-NAT (часто у моб. операторов / провайдеров)**
→ входящие соединения НЕВОЗМОЖНЫ
Решения:
* взять **белый IP** у провайдера
* или использовать:
* VPN с port forwarding
* Tor (встроенный в RetroShare)
---
## 6. Включи DHT и bootstrap
**Settings → Network → DHT**
* Убедись что:
* DHT включён
* есть bootstrap-узлы (обычно автоматически)
---
## 7. Быстрый чек-лист
* UPnP включён ✔
* Порт открыт ✔
* Фаервол не блокирует ✔
* Не CG-NAT ✔
---
## Типичные причины (по частоте)
1. Закрытый порт (90%)
2. CG-NAT (очень часто в Украине у некоторых провайдеров)
3. Двойной NAT (роутер + ещё один роутер)
4. Фаервол
---
Если хочешь — скажи:
* провайдер
* тип подключения (кабель / 4G / Wi-Fi)
* что пишет NAT Status
Я быстро скажу, где именно затык.
Разобрал профиль и контекст — вот сухая реальность без эмоций.
---
## 1) Где он сидит
Аккаунт:
`@policyofghrust`
👉 Это важно:
**mastodon.social** — крупнейший официальный инстанс.
---
## 2) Что это за сервер на самом деле
* управляется командой Mastodon
* огромный поток пользователей → много спама/рейдов
* поэтому:
* **жёсткая модерация**
* анти-абьюз фильтры
* ограничения на поведение аккаунтов
📌 Ключевое:
каждый инстанс — отдельное государство
→ свои правила, свои “силовики” ([mastodon.help][1])
---
## 3) Почему его могло “придавить”
На mastodon.social есть правила вроде:
* запрет на дезинформацию
* запрет на harassment / набеги
* запрет на обход блокировок ([Mastodon hosted on mastodon.social][2])
👉 Типовые причины “теневого ограничения”:
* массовые репорты
* резкая политическая активность
* участие в срачах/рейдах
* подозрение на coordinated activity
И это часто выглядит как:
* падают охваты
* посты не разлетаются
* аккаунт “тихо душат”
---
## 4) Откуда могла взяться “верификация через платёжки”
Вот ключевой момент:
👉 **в Mastodon нет платной верификации**
* верификация = просто ссылка на сайт (`rel="me"`)
* бесплатно и без документов ([Mastodon][3])
---
### Тогда что он увидел?
На практике у mastodon.social бывают:
#### A) Anti-spam ограничения
* новые/подозрительные аккаунты:
* лимиты
* ручная проверка
* временные блоки
#### B) Внешние сервисы
* иногда:
* Cloudflare / антибот защита
* сторонние проверки (редко, но бывает)
#### C) Локальные эксперименты
* крупные инстансы иногда тестят:
* rate limits
* trust thresholds
---
## 5) Самое вероятное объяснение
Переводим его твит на человеческий:
> “Я попал под антиспам/модерацию на mastodon.social и интерпретировал это как теневой бан и платную верификацию.”
---
## 6) Почему у него сложилось такое ощущение
Потому что Mastodon:
* **не объясняет явно ограничения**
* нет прозрачного “алгоритмического статуса”
* нет уведомлений типа “вы ограничены”
👉 в итоге:
ощущение = “меня душат в тени”
---
## 7) Главное, что он упускает
Это не:
* “захват кремлеботами”
* “слом децентрализации”
Это:
👉 **обычная локальная модерация большого сервера**
---
## Вывод (жёстко и по делу)
* его аккаунт на mastodon.social
* ограничения — почти наверняка локальные
* платной верификации в Mastodon нет
* проблема не в системе, а в выбранном инстансе
---
Если хочешь — разложу, какие инстансы менее токсичны/менее склонны к таким ограничениям (там прям есть карта “где душат, а где нет”).
[1]: https://mastodon.help/en?utm_source=chatgpt.com "Mastodon Help - Guide"
[2]: https://mastodon.social/auth/sign_up?accept=60a3609a157453a9276e610b6063eb96&utm_source=chatgpt.com "Sign up - Mastodon"
[3]: https://joinmastodon.org/verification?utm_source=chatgpt.com "Verification - Mastodon"
**Пояснительная бригада: что здесь происходит на самом деле**
Коротко: автор твита смешал в одну кучу несколько разных вещей — и сделал вывод, который не совсем соответствует реальности Mastodon.
---
## 1) В Mastodon **нет “центрального теневого бана”**
Mastodon — это федерация серверов (инстансов).
Нет единого центра, который «режет охваты».
Что реально может происходить:
* твой **конкретный инстанс** может ограничить аккаунт (локальный shadow limit, мут, модерация)
* другие инстансы могут:
* не показывать твои посты
* ограничить федерацию (defederation)
* алгоритмической ленты как в X нет → значит “теневой бан” обычно = **локальные правила/модерация**, а не скрытая система
---
## 2) “Требуют верификацию через платёжки” — это НЕ Mastodon как система
Это ключевой момент.
👉 В Mastodon:
* нет обязательной платной верификации
* нет встроенной KYC/платёжной проверки
Официально:
* верификация — это просто привязка сайта (`rel="me"`)
* и она **бесплатная и децентрализованная** ([Mastodon][1])
---
### Тогда откуда платёжки?
Это почти наверняка:
**вариант А — конкретный инстанс**
* админ ввёл анти-спам меры:
* донат/платёж → как “барьер от ботов”
* или “подтверждение личности”
* такое бывает на отдельных серверах, особенно после волн ботов
**вариант Б — сторонний сервис/фронтенд**
* некоторые клиенты/прокси/хостинги могут требовать верификацию
**вариант В — ошибка/фишинг**
* тоже не исключено (особенно если ссылка мутная)
---
## 3) Почему вообще появляются такие практики
Парадокс децентрализации:
* Mastodon **не отслеживает пользователей централизованно** ([NewsBytes][2])
* значит:
* нет глобального антибот-фильтра
* нет единого trust layer
👉 итог:
каждый инстанс сам решает:
* как бороться с ботами
* как верифицировать людей
* какие вводить ограничения
---
## 4) “Кремлеботы победили сноуденистов” — это эмоция, не факт
Что реально:
* в Fediverse много разных сообществ
* часть серверов:
* строго модерируют
* вводят барьеры (инвайты, донаты, верификации)
* это не “захват системы”, а **фрагментация политики**
---
## 5) Перевод с эмоционального на технический
Твит по сути означает:
> “Я сидел на конкретном сервере Mastodon, где ввели ограничения (возможно платную/жёсткую верификацию), и мой аккаунт ограничили/задушили.”
Но это ≠ проблема Mastodon как технологии.
---
## Вывод
* Mastodon не вводил платную верификацию
* “теневой бан” — почти всегда локальная история инстанса
* децентрализация = свобода + хаос правил
---
Если хочешь — могу разобрать конкретно тот инстанс из твита и сказать, что именно там накрутили (там обычно интереснее, чем кажется).
[1]: https://joinmastodon.org/verification?utm_source=chatgpt.com "Verification - Mastodon"
[2]: https://www.newsbytesapp.com/news/science/mastodon-explains-why-it-can-t-comply-with-mississippi-s-age-verification-law/story?utm_source=chatgpt.com "Mastodon explains why it can't verify ages of its users"
## 🔎 Фактчекинг
Коротко: текст **частично правдоподобен**, но содержит **манипуляции, упрощения и вероятные искажения цитат**.
### 1) Персона и позиция
* Armin Papperger — действительно глава Rheinmetall.
* Он **публично критиковал “гаражное/массовое” производство дронов** — это соответствует его бизнес-позиции (ставка на сложные системы).
👉 Но:
* Формулировки вроде *«украинские домохозяйки»* и *«как играть в Lego»* выглядят **как минимум вырванными из контекста или пересказом**, а не точной цитатой.
* Без прямой ссылки на интервью (например, в The Atlantic) это **нельзя считать достоверной цитатой**.
---
### 2) «Кухонное производство» дронов
✔️ Частично правда:
* Украина действительно активно использует:
* сборку из импортных компонентов (часто китайских),
* 3D-печать,
* децентрализованные мастерские.
❗ Но:
* Это **не просто “кухни”**, а смесь:
* волонтёрских лабораторий,
* стартапов,
* оборонных контрактов.
* Упрощение до «домохозяек» — **риторическое обесценивание**.
---
### 3) Эффективность дешёвых дронов
✔️ Подтверждается:
* FPV-дроны действительно:
* стоят в разы дешевле,
* уничтожают технику дороже себя в десятки/сотни раз,
* изменили тактику войны.
Это признано и НАТО, и аналитиками.
---
### 4) «Мангал» (самодельная защита техники)
✔️ Верно:
* Импровизированная защита (решётки/клетки) реально применялась обеими сторонами.
* Позже такие конструкции начали производить промышленно.
---
### 5) Rheinmetall и рынок
✔️ В целом корректно:
* Компания — один из крупнейших игроков Европы.
* Рост заказов на фоне войны — факт.
❗ Но:
* Цифра *80 млрд € к 2026* — **прогноз/оценка**, а не гарантированный объём.
---
### 6) Экспорт украинских дронов
⚠️ Частично спорно:
* Украина действительно:
* развивает экспорт,
* вызывает интерес стран Персидского залива.
Но:
* Конкретные сделки (Саудовская Аравия, Кувейт, ОАЭ, Катар)
→ **требуют подтверждения источниками**.
---
### 7) «95% сбитых дронов»
⚠️ Зависит от контекста:
* Иногда такие показатели заявляются официально.
* Но:
* они **меняются от атаки к атаке**,
* не всегда подтверждаются независимыми источниками.
---
## 🧠 Вывод
Текст — это:
* ✔️ смесь реальных трендов (дешёвые дроны, изменение войны),
* ⚠️ + вероятно искажённые или непроверенные цитаты,
* ⚠️ + риторическое усиление (обесценивание украинской модели).
👉 Главная проблема: **отсутствие проверяемых источников и прямых цитат**.
---
## 🇬🇧 Перевод (редакция, более точная и нейтральная)
### Заголовок:
**Germany’s largest defense contractor questions Ukraine’s “garage-style” drone production as innovation**
### Ключевая правка:
* „Küchen“-Produktion → лучше: **“garage-style” / “improvised production”**
(в английском это звучит естественно и без лишней иронии)
---
## 🏷 Хэштеги
#FactCheck #UkraineWar #Drones
#Rheinmetall #DefenseIndustry #FPV
#MilitaryTech #AsymmetricWarfare
#OpenSourceWar #DroneWarfare
#OSINT #InfoWar #TechAnalysis
Dash: новости экосистемы. Дарья Чернозуб и Михаил Пшеничников
И это не просто “обсудили рынок”
Это разговор, после которого многое в крипте начинает складываться в единую картину
— что реально происходит внутри экосистемы
— куда двигается рынок
— и где сейчас те самые возможности, о которых потом все будут говорить
Самое интересное: часть вещей, о которых говорят в подкасте, большинство поймёт только через время
Вопрос в одном:
ты сейчас внутри… или снова узнаешь последним?
https://matrix.to/#/#decentralize.mesh:matrix.org
Monero (XMR)
46G614Jq5kLcUj2yKo7u3LWRunsQBhHGK4Js3Pwysoz52J78ExFnfd1brBeXLFKjJseEzyYXmHbn1VD4GkALgB2B31yrJ1Q
44aZk81wWeBZ3kxdxQJDqFeRYgzvCxy2r7aVkGCA7CmX6NChfBuR8JQ6VHWupwJL5nFbcJdj3xuerRQ9HNwrHdtn3SpWfnM
45P4DemaskmMRMQVQwCiB2RxitxUGuymd3noap8fbx9j239HYyMNwzZYHXAkkWDtHAio13FNrcLvvVhnt8meMjUxT5e6gMg
vertcoin:36NfQViY4BRP9m2EMyheYoZW9FHNmcWi7J?label=DONATE&message=PA
retroshare://channel?name=%D0%9F%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%8B%20%D0%
ABCaPzBBp/CEA8AsE3tfuOZCAxS2I5PYL8Bq8r4xPjqunNpaEL1dkwEHYWNldG9uZZMGFU4ACgbDkga+UaO8BsMEA16u8Q==