t

    def __seeding_single_for_qbittorrent(self, downloader_name: str, torrent: TorrentDictionary) -> bool:
        """
        qb单个自动做种
        :return: 是否执行
        """
        if not torrent:
            return False
        hash_str = torrent.get('hash')
        # 种子当前已经存在的标签
        torrent_tags = self.__split_tags(torrent.get('tags'))
        # 判断种子中是否存在排除的标签
        if self.__exists_exclude_tag(torrent_tags):
            return False
        need_seeding = torrent.state_enum.is_complete and torrent.state_enum.is_paused
        if not need_seeding:
            return False
        torrent.resume()
        # 日志
        name = self.__extract_torrent_value_for_qbittorrent(torrent=torrent, field=TorrentField.NAME)
        total_size = self.__extract_torrent_value_for_qbittorrent(torrent=torrent, field=TorrentField.TOTAL_SIZE)
        logger.info(f"下载器[{downloader_name}] - 单个自动做种完成: hash = {hash_str}, name = {name}, size = {total_size}")
        return True

    def __tagging_batch_for_qbittorrent(self,
                                        downloader_name: str,
                                        qbittorrent: Qbittorrent,
                                        torrents: List[TorrentDictionary]) -> int:
        """
        qb批量自动标签
        :return: 打标数
        """
        logger.info(f'下载器[{downloader_name}] - 批量自动标签开始...')
        count = 0
        if not torrents:
            return count
        for torrent in torrents:
            if self.__exit_event.is_set():
                logger.warn('插件服务正在退出，子任务终止')
                return count
            if self.__tagging_single_for_qbittorrent(downloader_name=downloader_name, qbittorrent=qbittorrent, torrent=torrent):
                count += 1
        logger.info(f'下载器[{downloader_name}] - 批量自动标签结束')
        return count

    def __tagging_single_for_qbittorrent(self,
                                         downloader_name: str,
                                         qbittorrent: Qbittorrent,
                                         torrent: TorrentDictionary) -> bool:
        """
        qb单个自动标签
        :return: 是否执行
        """
        if not torrent:
            return False

        hash_str = torrent.get('hash')
        # 种子当前已经存在的标签
        tags = torrent.get('tags')
        torrent_tags = self.__split_tags(tags)
        # 需要移除的标签
        remove_tags = None
        # 要添加的标签
        add_tags = []

        # 处理BT/PT标签
        if "BT" not in torrent_tags and "PT" not in torrent_tags:
            is_private = self.__check_private_torrent_for_qbittorrent(qbittorrent=qbittorrent, hash_str=hash_str)
            btpt_tag = "PT" if is_private else "BT"
            add_tags.append(btpt_tag)

        # 处理站点标签
        # BT种子与站点无关，故排除BT标签
        if "BT" not in torrent_tags and "BT" not in add_tags:
            # 种子的tracker地址
            tracker_url = self.__parse_tracker_for_qbittorrent(torrent=torrent)
            if tracker_url:
                # 获取标签建议
                site_tag, delete_suggest = self.__consult_site_tag_by_tracker(tracker_url=tracker_url)
                # 移除建议删除的标签
                if delete_suggest:
                    remove_tags = [to_delete for to_delete in delete_suggest if to_delete and to_delete in torrent_tags]
                # 如果本次需要打标签
                if site_tag and site_tag not in torrent_tags and site_tag not in add_tags:
                    add_tags.append(site_tag)

        # 处理非全选标签
        not_select_all_tag = self.__get_config_item("not_select_all_tag")
        if not_select_all_tag:
            select_all_files = self.__check_select_all_files_for_qbittorrent(torrent=torrent)
            if select_all_files and not_select_all_tag in torrent_tags:
                remove_tags.append(not_select_all_tag)
            elif not select_all_files and not_select_all_tag not in torrent_tags:
                add_tags.append(not_select_all_tag)

        if not remove_tags and not add_tags:
            return False
        if remove_tags:
            torrent.remove_tags(tags=remove_tags)
        # 打标签
        if add_tags:
            torrent.add_tags(tags=add_tags)
        # Flush 标签
        self.__flush_torrent_tags_for_qbittorrent(torrent=torrent, remove_tags=remove_tags, add_tags=add_tags)
        # 日志
        name = self.__extract_torrent_value_for_qbittorrent(torrent=torrent, field=TorrentField.NAME)
        total_size = self.__extract_torrent_value_for_qbittorrent(torrent=torrent, field=TorrentField.TOTAL_SIZE)
        after = torren


) | (st8 >> (23))) --& 0xffffffff
		z = st12
		st12 = (x ~ (z << 1) ~ ((y & z) << 2)) & 0xffffffff
		st8 = (y ~ x        ~ ((x | z) << 1)) & 0xffffffff
		st4   = (z ~ y        ~ ((x & y) << 3)) & 0xffffffff
--~ 		end--for unrolled
		-- !! 1-indexed arrays !! st[i] in C is st[i+1] in Lua
		if (round & 3) == 0 then
			-- // small swap: pattern s...s...s... etc.
			x = st1
			st1 = st2
			st2 = x
			x = st3
			st3 = st4
			st4 = x
		end
		if (round & 3) == 2 then
			-- // big swap: pattern ..S...S...S. etc.
			x = st1
			st1 = st3
			st3 = x
			x = st2
			st2 = st4
			st4 = x
		end
		if (round & 3) == 0 then
			-- // add constant: pattern c...c...c... etc.
			st1 =


u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.mission_result_);
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void UploadMissionResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<UploadMissionResponse*>(&to_msg);
  auto& from = static_cast<const UploadMissionResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.mission.UploadMissionResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.mission_result_ != nullptr);
    if (_this->_impl_.mission_result_ == nullptr) {
      _this->_impl_.mission_result_ =
          ::google::protobuf::Message::CopyConstruct<::mavsdk::rpc::mission::MissionResult>(arena, *from._impl_.mission_result_);
    } else {
      _this->_impl_.mission_result_->MergeFrom(*from._impl_.mission_result_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UploadMissionResponse::CopyFrom(const UploadMissionResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.mission.UploadMissionResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void UploadMissionResponse::InternalSwap(UploadMissionResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.mission_result_, other->_impl_.mission_result_);
}

::google::protobuf::Metadata UploadMissionResponse::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class SubscribeUploadMissionWithProgressRequest::_Internal {
 public:
  using HasBits =
      decltype(std::declval<SubscribeUploadMissionWithProgressRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SubscribeUploadMissionWithProgressRequest, _impl_._has_bits_);
};

SubscribeUploadMissionWithProgressRequest::SubscribeUploadMissionWithProgressRequest(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.mission.SubscribeUploadMissionWithProgressRequest)
}
inline PROTOBUF_NDEBUG_INLINE SubscribeUploadMissionWithProgressRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::mavsdk::rpc::mission::SubscribeUploadMissionWithProgressRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

SubscribeUploadMissionWithProgressRequest::Subscrib


:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceName = NameType("resource-name")
    /**
     * "resource-natural-language" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceNaturalLanguage = StringType(Tag.naturalLanguage, "resource-natural-language")
    /**
     * "resource-patches" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourcePatches = TextType("resource-patches")
    /**
     * "resource-settable-attributes-supported" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceSettableAttributesSupported = KeywordType.Set("resource-settable-attributes-supported")
    /**
     * "resource-signature" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceSignature = OctetsType.Set("resource-signature")
    /**
     * "resource-state" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceState = ResourceState.Type("resource-state")
    /**
     * "resource-state-message" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceStateMessage = TextType("resource-state-message")
    /**
     * "resource-state-reasons" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     * May contain any keyword from [JobStateReason].
     */
    @JvmField val resourceStateReasons = KeywordType.Set("resource-state-reasons")
    /**
     * "resource-states" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceStates = ResourceState.SetType("resource-states")
    /**
     * "resource-string-version" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     */
    @JvmField val resourceStringVersion = TextType("resource-string-version")
    /**
     * "resource-type" type as defined in:
     * [PWG5100.22](https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem11-20250328-5100.22.pdf).
     * May contain any keyword from [ResourceType].
     */
    @JvmField val resourceType = KeywordType("resource-type")
    /**
     * "resource-type-supported" type as defined in:


pacity: 1;
    visibility: visible;
}

.confirm-content {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    max-width: 450px;
    width: 90%;
    text-align: center;
    transform: translateY(-20px);
    transition: transform 0.3s ease;
}

.confirm-dialog.show .confirm-content {
    transform: translateY(0);
}

.confirm-dialog h3 {
    margin: 0 0 1rem 0;
    color: #776e65;
    font-size: 1.5rem;
    font-weight: 600;
}

.confirm-dialog p {
    margin: 0 0 1.5rem 0;
    color: #776e65;
    font-size: 1rem;
    line-height: 1.5;
}

.confirm-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-direction: row;
}

.confirm-buttons .btn {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
    min-width: 100px;
    flex: 0 1 auto;
}

.btn-cancel {
    background: #ccc;
    color: #333;
}

.btn-cancel:hover {
    background: #bbb;
    transform: translateY(-1px);
}

.btn-confirm {
    background: #8f7a66;
    color: white;
}

.btn-confirm:hover {
    background: #7f6a56;
    transform: translateY(-1px);
}

/* 移动端确认弹窗优化 */
@media (max-width: 480px) {
    .confirm-content {
        padding: 1.5rem;
        margin: 20px;
    }

    .confirm-dialog h3 {
        font-size: 1.3rem;
    }

    .confirm-dialog p {
        font-size: 0.9rem;
    }

    .confirm-buttons {
        gap: 0.5rem;
    }

    .confirm-buttons .btn {
        padding: 0.8rem 1rem;
        font-size: 0.9rem;
    }
}
body {
    margin: 0;
    padding: 0;
    background: #FFF;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a:hover {
    text-decoration: none;
    cursor: pointer;
}

a, button {
    outline: none !important;
}

/* = Bric adjustment margins
-------------------------------------------------------------- */

.mg-sm {
    margin-top: 10px;
    margin-bottom: 5px;
}

.mg-md {
    margin-top: 10px;
    margin-bottom: 20px;
}

.mg-lg {
    margin-top: 10px;
    margin-bottom: 40px;
}

/* = Buttons
-------------------------------------------------------------- */

.btn {
    margin: 0 5px 5px 0;
}

.btn.pull-right {
    margin: 0 0 5px 5px;
}

.btn-d, .btn-d:hover, .btn-d:focus {
    color: #FFF;
    background: rgba(0, 0, 0, .3);
}

/* Prevent ugly blue glow on chrome and safari */
button {
    outline: none !important;
}

.btn .caret {
    margin: 0 0 0 5px
}

.dropdown


EDEF(f64mat4x3, aligned_f64mat4x3, 32)'],['../a00231.html#ga912a16432608b822f1e13607529934c1',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32)'],['../a00231.html#gafd945a8ea86b042aba410e0560df9a3d',1,'glm::GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16)'],['../a00231.html#gad8c4bfacff70e57dc8303634c8bfce35',1,'glm::GLM_ALIGNED_TYPEDEF(fquat, aligned_fquat, 16)'],['../a00231.html#gaabc28c84a3288b697605d4688686f9a9',1,'glm::GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32)'],['../a00231.html#ga1ed8aeb5ca67fade269a46105f1bf273',1,'glm::GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16)'],['../a00231.html#ga95cc03b8b475993fa50e05e38e203303',1,'glm::GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)']]],
  ['golden_5fratio',['golden_ratio',['../a00162.html#ga748cf8642830657c5b7eae04d0a80899',1,'glm']]],
  ['greaterthan',['greaterThan',['../a00152.html#gadd80263161a308462d3e3e287e79cccd',1,'glm::greaterThan(vecType< T, P > const &x, vecType< T, P > const &y)'],['../a00172.html#ga09d21a588ae425ac7517ea65cc59a5ae',1,'glm::greaterThan(tquat< T, P > const &x, tquat< T, P > const &y)']]],
  ['greaterthanequal',['greaterThanEqual',['../a00152.html#gaee7e101f8cc4ea43924f14dcdeb2ef26',1,'glm::greaterThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)'],['../a00172.html#ga0906a221a2037519fcf316ea5c1e3b3e',1,'glm::greaterThanEqual(tquat< T, P > const &x, tquat< T, P > const &y)']]]
];
var searchData=
[
  ['l1norm',['l1Norm',['../a00211.html#gaebe5a39b06e262e615622129f37da4f4',1,'glm::l1Norm(tvec3< T, P > const &x, tvec3< T, P > const &y)'],['../a00211.html#ga6d5964f09cdb43803496a5ee3ced71cb',1,'glm::l1Norm(tvec3< T, P > const &v)']]],
  ['l2norm',['l2Norm',['../a00211.html#gafa6fbbc99cd44d81bf030e74eaf7ad64',1,'glm::l2Norm(tvec3< T, P > const &x, tvec3< T, P > const


text/plain');
    if (url == null) {
      showToast('剪贴板为空');
      return true;
    }
    try {
      String urlStr = url.text!;
      List urlList;
      urlList = urlStr.split("\n");
      int successCount = 0;
      int failCount = 0;
      Global.imagesList.clear();
      Global.imagesFileList.clear();

      for (var i = 0; i < urlList.length; i++) {
        if (urlList[i].isEmpty) {
          continue;
        }
        try {
          Uri uri = Uri.parse(urlList[i]);
          var response = await my_http.get(uri);
          String fileExt = '.jpg';
          String path = uri.path.toLowerCase();
          if (path.contains('.')) {
            fileExt = path.substring(path.lastIndexOf('.'));
          }
          String tempPath = await getTemporaryDirectory().then((value) => value.path);
          String timeStamp = DateTime.now().millisecondsSinceEpoch.toString();
          String randomString = randomStringGenerator(5);
          File file = File('$tempPath/Web$timeStamp$randomString.$fileExt');
          await file.writeAsBytes(response.bodyBytes);
          Global.imageFile = file.path;
          File compressedFile = await processImageFile(file);
          Global.imagesList.add(Global.imageFile!);
          Global.imagesFileList.add(compressedFile);
          successCount++;
        } catch (e) {
          flogErr(
              e,
              {
                'url': urlList[i],
              },
              'ImagePage',
              '_imageFromNetwork');
          failCount++;
          continue;
        }
      }
      if (successCount > 0) {
        return showToast('获取成功$successCount张,失败$failCount张');
      } else {
        return showToast('剪贴板内无链接');
      }
    } catch (e) {
      flogErr(
          e,
          {
            'url': url,
          },
          'ImagePage',
          '_imageFromNetwork');
      return showToast('获取图片失败');
    }
  }

  _captureAndGoBack() async {
    XFile? pickedImage = await _picker.pickImage(source: ImageSource.camera, imageQuality: 100);
    if (pickedImage == null) {
      if (Global.isCopyLink == true) {
        if (clipboardList.isEmpty) {
          return showToast('未拍摄图片');
        }
        if (clipboardList.isNotEmpty) {
          await flutter_services.Clipboard.setData(flutter_services.ClipboardData(text: clipboardList.join('\n')));
        }
      }
      return showToast('上传完成');
    }

    File fileImage = File(pickedImage.path);

    if (Global.isCustomRename) {
      Global.imageFile = await renamePictureWithCustomFormat(fileImage);
    } else if (Global.isTimeStamp) {
      Global.imageFile = await renamePictureWithTimestamp(fileImage);
    } else if (Global.isRandomName) {
      Global.imageFile = await renamePictureWithRandomString(fileImage);
    } else {
      Global.imageFile = my_path.basename(fileImage.path);
    }
    Global.imageOriginalFile = fileImage;

    _processUploadAndReturnToCamera();
    if (Global.multiUpload == 'fail') {
      if (Global.isCopyLink == true) {
        if (clipboardList.length == 1) {
          await flutter_services.Clipboard.setData(flutter_services.ClipboardData(text: clipboardList[0]));
        } else {
          await flutter_services.Clipboard.setData


:"將單一值、儲存格引用或是區域相加，或將三者的組合相加。 ",abstract:"求參數的和",links:[{title:"教導",url:"https://support.microsoft.com/zh-tw/office/sum-%E5%87%BD%E6%95%B0-043e1c7d-7726-4e80-8f32-07b23e057f89"}],functionParameter:{number1:{name:"數值 1",detail:"要相加的第一個數字。 該數字可以是 4 之類的數字，B6 之類的單元格引用或 B2:B8 之類的單元格範圍。 "},number2:{name:"數值 2",detail:"第二個要相加的數字。 可以按照這種方式指定最多 255 個數字。 "}}},SUMIF:{description:"範圍中符合指定條件的值求和。 ",abstract:"按給定條件對指定單元格求和",links:[{title:"教導",url:"https://support.microsoft.com/zh-tw/office/sumif-%E5%87%BD%E6%95%B0-169b8c99-c05c-4483-a712-1697a653039b"}],functionParameter:{range:{name:"範圍",detail:"要根據條件進行偵測的範圍。 "},criteria:{name:"條件",detail:"以數字、表達式、單元格引用、文字或函數的形式來定義將要新增哪些單元格。可包含的通配符字符 - 問號（？）以匹配任意單個字符，星號（*）以匹配任意字符序列。 如果要尋找實際的問號或星號，請在該字元前鍵入波形符號（~）。 "},sumRange:{name:"求和範圍",detail:"要新增的實際儲存格，如果要新增在範圍參數指定以外的其他儲存格。 如果省略sum_range參數，Excel就會加入範圍參數中指定的儲存格（與套用標準的儲存格相同）。 "}}},SUMIFS:{description:"會加總符合多項準則的所有引數。",abstract:"會加總符合多項準則的所有引數。",links:[{title:"教導",url:"https://support.microsoft.com/zh-tw/office/sumifs-%E5%87%BD%E6%95%B0-c9e748f5-7ea7-455d-9406-611cebce642b"}],functionParameter:{sumRange:{name:"求和範圍",detail:"要求和的單元格區域。 "},criteriaRange1:{name:"條件範圍 1",detail:"使用條件 1 測試的區域。條件範圍 1 和條件 1 設定用於搜尋某個區域是否符合特定條件的搜尋對。 一旦在該區域中找到了項，將計算求和範圍中的相應值的總和。 "},criteria1:{name:"條件 1",detail:'定義將計算條件範圍 1 中的哪些單元格的和的條件。 例如，條件可以輸入為 32、">32"、B4、"蘋果" 或 "32"。 '},criteriaRange2:{name:"條件範圍 2",detail:"附加的區域，最多可以輸入 127 個區域。 "},criteria2:{name:"條件 2",detail:"附加的關聯�


-----------------------------------------------------------------------
-- Lua Script Wireshark Dissector
--
-- Please see end of file for rules and regulations
-----------------------------------------------------------------------

-- Miax MiaxOptions TopOfMarket Mach 2.3 Protocol
local omi_miax_miaxoptions_topofmarket_mach_v2_3 = Proto("Miax.MiaxOptions.TopOfMarket.Mach.v2.3.Lua", "Miax MiaxOptions TopOfMarket Mach 2.3")

-- Protocol table
local miax_miaxoptions_topofmarket_mach_v2_3 = {}

-----------------------------------------------------------------------
-- Declare Protocol Fields
-----------------------------------------------------------------------

-- Miax MiaxOptions TopOfMarket Mach 2.3 Fields
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.active_on_miax = ProtoField.new("Active On Miax", "miax.miaxoptions.topofmarket.mach.v2.3.activeonmiax", ftypes.STRING)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.application_message = ProtoField.new("Application Message", "miax.miaxoptions.topofmarket.mach.v2.3.applicationmessage", ftypes.STRING)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.bid_condition = ProtoField.new("Bid Condition", "miax.miaxoptions.topofmarket.mach.v2.3.bidcondition", ftypes.STRING)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.bid_price_2 = ProtoField.new("Bid Price 2", "miax.miaxoptions.topofmarket.mach.v2.3.bidprice2", ftypes.DOUBLE)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.bid_price_4 = ProtoField.new("Bid Price 4", "miax.miaxoptions.topofmarket.mach.v2.3.bidprice4", ftypes.DOUBLE)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.bid_priority_customer_size_2 = ProtoField.new("Bid Priority Customer Size 2", "miax.miaxoptions.topofmarket.mach.v2.3.bidprioritycustomersize2", ftypes.UINT16)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.bid_priority_customer_size_4 = ProtoField.new("Bid Priority Customer Size 4", "miax.miaxoptions.topofmarket.mach.v2.3.bidprioritycustomersize4", ftypes.UINT32)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.bid_size_2 = ProtoField.new("Bid Size 2", "miax.miaxoptions.topofmarket.mach.v2.3.bidsize2", ftypes.UINT16)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.bid_size_4 = ProtoField.new("Bid Size 4", "miax.miaxoptions.topofmarket.mach.v2.3.bidsize4", ftypes.UINT32)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.call_or_put = ProtoField.new("Call Or Put", "miax.miaxoptions.topofmarket.mach.v2.3.callorput", ftypes.STRING)
omi_miax_miaxoptions_topofmarket_mach_v2_3.fields.closing_time = ProtoField.new("Closing Time", "miax.miaxoptions.topofmarket.mach.v2.3.closingtime", ftype


d",__name:"arrow-up-bold",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[(0,l._)("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z"})]))}}),k=_,U=(0,l.aZ)({name:"ArrowUp",__name:"arrow-up",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[(0,l._)("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),E=U,M=(0,l.aZ)({name:"Avatar",__name:"avatar",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[(0,l._)("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0"})]))}}),D=M,O=(0,l.aZ)({name:"Back",__name:"back",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[(0,l._)("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),(0,l._)("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),F=O,H=(0,l.aZ)({name:"Baseball",__name:"baseball",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[(0,l._)("path",{fill:"currentColor",d:"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104"}),(0,l._)("path",{fill:"currentColor",d:"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.


ll_PKCS11_ModelBased_GenerationMachine, path_7 )
{
    C_GenerateKeyPair_normal_behavior();
    C_GenerateKeyPair_normal_behavior();
}

TEST( Full_PKCS11_ModelBased_GenerationMachine, path_8 )
{
    C_GenerateKeyPair_normal_behavior();
    C_GenerateKeyPair_exceptional_behavior_2();
    C_GenerateKeyPair_exceptional_behavior_2();
}

TEST( Full_PKCS11_ModelBased_GenerationMachine, path_9 )
{
    C_GenerateKeyPair_normal_behavior();
    C_GenerateKeyPair_exceptional_behavior_1();
    C_GenerateKeyPair_exceptional_behavior_1();
    C_GenerateKeyPair_normal_behavior();
}

TEST( Full_PKCS11_ModelBased_GenerationMachine, path_10 )
{
    C_GenerateRandom_normal_behavior();
}

TEST( Full_PKCS11_ModelBased_GenerationMachine, path_11 )
{
    C_GenerateRandom_exceptional_behavior_1();
}

TEST( Full_PKCS11_ModelBased_GenerationMachine, path_12 )
{
    C_GenerateRandom_exceptional_behavior_2();
}


384178007] = "ap1_03grun05bxxx",
	[978982745] = "ch2_02_armco01",
	[1188566874] = "id2_14_ladder_002",
	[3548256097] = "sc1_12_fencing_03",
	[2723551074] = "ch2_06_garden_furb",
	[4106622820] = "plg_01_cables_heavy01",
	[1944590184] = "ap1_01_d_5_rail2",
	[682628969] = "ch3_08_dec30awe",
	[1690703723] = "cs3_08b_decrs02",
	[851187576] = "cs4_04_decal_07",
	[1760565113] = "hw1_26_hw_26_fur_01",
	[926816122] = "hei_ch1_yacht_front_rails2_glass",
	[4007663487] = "id2_21_b_id2_21b_ladder_m3",
	[1534072704] = "cs1_railwyb_shadow_ext",
	[2620004227] = "cs1_rdprops_pb_wspline081",
	[822482824] = "sm_19_hedges",
	[1704859529] = "id1_29_poles03",
	[2231900042] = "prop_weeddry_nxg04",
	[582227859] = "ch1_09b_vineslmbs_67",
	[2226919316] = "bt1_04_block_dtl01",
	[4180809622] = "ch1_04_dcl_21b",
	[285874072] = "po1_09_emissive_b",
	[1535514521] = "cs5_4_qrytrk_06",
	[195434401] = "id1_10_structured2",
	[1117394853] = "id1_30_build03",
	[3007453094] = "cs2_01_frdoor01",
	[1979324328] = "cs6_04_dish_drip01",
	[3244431274] = "prop_rub_trainers_01",
	[1636833195] = "cs2_rdprops_w_thin_06",
	[2636912560] = "bh1_rdsect_01_r12_01",
	[3033405361] = "dt1_21_fillm_02",
	[2971801523] = "ch2_02_glue_16",
	[1489770422] = "bh1_08_shadow_proxy",
	[2878085058] = "id1_20_detail1f2",
	[1173755843] = "cs2_30_sea_beach_underwater_03",
	[2992904138] = "hei_dt1_carrmp_acc_detail",
	[1612847057] = "ch2_11_hs10_railing_03",
	[96868307] = "prop_off_chair_03",
	[1142298580] = "ch1_04_truckmarkings",
	[378148821] = "bh1_rdsect_05_r1_01_ovly",
	[594941910] = "h4_mph4_wtowers_barriers_12",
	[4204402647] = "dt1_rd1_fur2",
	[3901888476] = "ap1_02_hangings03",
	[3730053087] = "cs2_railway_b14_legs",
	[183900128] = "prop_beach_lg_stretch",
	[27662319] = "vb_05_vb_emissive_eme_06",
	[670963709] = "prop_dock_float_1b"


);

        // (a) intensity is the total visible light emitted
        //uniforms.color.copy( color ).multiplyScalar( intensity / ( light.width * light.height * Math.PI ) );

        // (b) intensity is the brightness of the light
        uniforms["color"].copy(color).multiplyScalar(intensity);

        uniforms["halfWidth"].set(light.width! * 0.5, 0.0, 0.0);
        uniforms["halfHeight"].set(0.0, light.height! * 0.5, 0.0);

        // state.rectArea[ rectAreaLength ] = uniforms;
        listSetter(state.rectArea, rectAreaLength, uniforms);

        rectAreaLength++;
      } else if (light.type == "PointLight") {
        var uniforms = cache.get(light);

        uniforms["color"]
            .copy(light.color)
            .multiplyScalar(light.intensity * scaleFactor);

        // TODO distance 默认0 ？？
        uniforms["distance"] = light.distance ?? 0;
        uniforms["decay"] = light.decay;

        if (light.castShadow) {
          var shadow = light.shadow!;

          var shadowUniforms = shadowCache.get(light);

          shadowUniforms["shadowBias"] = shadow.bias;
          shadowUniforms["shadowNormalBias"] = shadow.normalBias;
          shadowUniforms["shadowRadius"] = shadow.radius;
          shadowUniforms["shadowMapSize"] = shadow.mapSize;
          shadowUniforms["shadowCameraNear"] = shadow.camera!.near;
          shadowUniforms["shadowCameraFar"] = shadow.camera!.far;

          // state.pointShadow[ pointLength ] = shadowUniforms;
          listSetter(state.pointShadow, pointLength, shadowUniforms);

          // state.pointShadowMap[ pointLength ] = shadowMap;
          listSetter(state.pointShadowMap, pointLength, shadowMap);

          // state.pointShadowMatrix[ pointLength ] = light.shadow!.matrix;
          listSetter(
              state.pointShadowMatrix, pointLength, light.shadow!.matrix);

          numPointShadows++;
        }

        // state.point[ pointLength ] = uniforms;
        listSetter(state.point, pointLength, uniforms);

        pointLength++;
      } else if (light.type == "HemisphereLight") {
        var uniforms = cache.get(light);

        uniforms["skyColor"]
            .copy(light.color)
            .multiplyScalar(intensity * scaleFactor);
        uniforms["groundColor"]
            .copy(light.groundColor)
            .multiplyScalar(intensity * scaleFactor);

        // state.hemi[ hemiLength ] = uniforms;
        listSetter(state.hemi, hemiLength, uniforms);

        hemiLength++;
      } else {
        throw (" WebGLLigts type: ${light.type} is not support ..... ");
      }
    }

    if (rectAreaLength > 0) {
      if (capabilities.isWebGL2) {
        // WebGL 2

        state.rectAreaLTC1 = UniformsLib["LTC_FLOAT_1"];
        state.rectAreaLTC2 = UniformsLib["LTC_FLOAT_2"];
      } else {
        // WebGL 1

        if (extensions.has('OES_texture_float_linear') == true) {
          state.rectAreaLTC1 = UniformsLib["LTC_FLOAT_1"];
          state.rectAreaLTC2 = UniformsLib["LTC_FLOAT_2"];
        } else if (extensions.has('OES_texture_half_float_linear') == true) {
          state.rectAreaLTC1 = UniformsLib["LTC_HALF_1"];
          state.rectAreaLTC2 = UniformsLib["LTC_HALF_2"];
        } else {
          print(
              'THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.');
        }
      }
    }

    state.ambient[0] = r.toDouble();
    state.ambient[1] = g.toDouble();
    state.ambient[2] = b.toDouble();

    var hash = state.hash;

    if (hash["directionalLength"] != directionalLength ||


	this._x = quaternion.x;
			this._y = quaternion.y;
			this._z = quaternion.z;
			this._w = quaternion.w;

			this.onChangeCallback();

			return this;

		},

		setFromEuler: function ( euler, update ) {

			if ( ! ( euler && euler.isEuler ) ) {

				throw new Error( 'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.' );

			}

			var x = euler._x, y = euler._y, z = euler._z, order = euler.order;

			// http://www.mathworks.com/matlabcentral/fileexchange/
			// 	20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/
			//	content/SpinCalc.m

			var cos = Math.cos;
			var sin = Math.sin;

			var c1 = cos( x / 2 );
			var c2 = cos( y / 2 );
			var c3 = cos( z / 2 );

			var s1 = sin( x / 2 );
			var s2 = sin( y / 2 );
			var s3 = sin( z / 2 );

			if ( order === 'XYZ' ) {

				this._x = s1 * c2 * c3 + c1 * s2 * s3;
				this._y = c1 * s2 * c3 - s1 * c2 * s3;
				this._z = c1 * c2 * s3 + s1 * s2 * c3;
				this._w = c1 * c2 * c3 - s1 * s2 * s3;

			} else if ( order === 'YXZ' ) {

				this._x = s1 * c2 * c3 + c1 * s2 * s3;
				this._y = c1 * s2 * c3 - s1 * c2 * s3;
				this._z = c1 * c2 * s3 - s1 * s2 * c3;
				this._w = c1 * c2 * c3 + s1 * s2 * s3;

			} else if ( order === 'ZXY' ) {

				this._x = s1 * c2 * c3 - c1 * s2 * s3;
				this._y = c1 * s2 * c3 + s1 * c2 * s3;
				this._z = c1 * c2 * s3 + s1 * s2 * c3;
				this._w = c1 * c2 * c3 - s1 * s2 * s3;

			} else if ( order === 'ZYX' ) {

				this._x = s1 * c2 * c3 - c1 * s2 * s3;
				this._y = c1 * s2 * c3 + s1 * c2 * s3;
				this._z = c1 * c2 * s3 - s1 * s2 * c3;
				this._w = c1 * c2 * c3 + s1 * s2 * s3;

			} else if ( order === 'YZX' ) {

				this._x = s1 * c2 * c3 + c1 * s2 * s3;
				this._y = c1 * s2 * c3 + s1 * c2 * s3;
				this._z = c1 * c2 * s3 - s1 * s2 * c3;
				this._w = c1 * c2 * c3 - s1 * s2 * s3;

			} else if ( order === 'XZY' ) {

				this._x = s1 * c2 * c3 - c1 * s2 * s3;
				this._y = c1 * s2 * c3 - s1 * c2 * s3;
				this._z = c1 * c2 * s3 + s1 * s2 * c3;
				this._w = c1 * c2 * c3 + s1 * s2 * s3;

			}

			if ( update !== false ) this.onChangeCallback();

			return this;

		},

		setFromAxisAngle: function ( axis, angle ) {

			// http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm

			// assumes axis is normalized

			var halfAngle = angle / 2


			Characteristics:  pe.ImageFileRelocsStripped | pe.ImageFileExecutableImage | pe.ImageFileLineNumsStripped | pe.ImageFile32bitMachine,
		},
		OptionalHeader: pe.ImageOptionalHeader32{
			Magic:                 pe.ImageNtOptionalHdr32Magic,
			AddressOfEntryPoint:   0x1000, // ImageBase + AddressOfEntryPoint
			ImageBase:             0x400000,
			SectionAlignment:      0x1000,
			FileAlignment:         0x200,
			MajorSubsystemVersion: 0x4,
			Subsystem:             pe.ImageSubSystemWindowsGUI,
			NumberOfRvaAndSizes:   0x10,
		},
	}
	pent.FileHeader.SizeOfOptionalHeader = uint16(binary.Size(pent.OptionalHeader))
	length += binary.Size(pent)
	// .text section header:
	text := pe.SectionHeader32{
		Name:            pe.ToC8bytes(".text"),
		VirtualAddress:  0x1000,
		Characteristics: pe.ImageScnCntCode | pe.ImageScnMemExecute | pe.ImageScnMemRead,
	}
	length += binary.Size(text)
	// .rdata section header:
	rdata := pe.SectionHeader32{
		Name:            pe.ToC8bytes(".rdata"),
		VirtualAddress:  0x2000,
		Characteristics: pe.ImageScnCntInitializedData | pe.ImageScnMemRead,
	}
	length += binary.Size(rdata)

	// .data section header:
	data := pe.SectionHeader32{
		Name:            pe.ToC8bytes(".data"),
		VirtualAddress:  0x3000,
		Characteristics: pe.ImageScnCntInitializedData | pe.ImageScnMemWrite | pe.ImageScnMemRead,
	}
	length += binary.Size(data)

	// DOS头+PE头+所有区块表的总大小
	pent.OptionalHeader.SizeOfHeaders = uint32(pe.Align(uint(length), uint(pent.OptionalHeader.FileAlignment)))
	// PEheader 对齐
	ntheaderPadding := pe.FillZeroByte(int(pent.OptionalHeader.SizeOfHeaders) - length)
	length = int(pent.OptionalHeader.SizeOfHeaders)

	// .data 先初始化 messageBox 参数
	messageBoxAParams := map[string]string{
		"title": "title",
		"text":  "HelloWorld",
	}
	var titleAddress uint32 = 0x00
	var textAddress uint32 = 0x00
	sectionData := make([]byte, 0)

	textAddress = pent.OptionalHeader.ImageBase + data.VirtualAddress
	msg := pe.StrConv2Bytes(messageBoxAParams["text"])
	titleAddress = textAddress + uint32(len(msg))
	sectionData = append(msg, pe.StrConv2Bytes(messageBoxAParams["title"])...)
	data.VirtualSize = uint32(len(sectionData))
	data.SizeOfRawData = uint32(pe.Align(uint(text.VirtualSize), uint(pent.OptionalHeader.FileAlignment)))
	// fmt.Printf("%xh - %xh - %x", textAddress, titleAddress, sectionData)

	// .rdata - include dll
	includes := map[string][]string{
		"user32.dll":   []string{"MessageBoxA"},
		"kernel32.dll": []string{"ExitProcess"},
	}
	var sectionRdata []byte
	var sectionRdata2 []byte
	var sentryAddress uint32 = 0
	offset := 0
	dllImporter := make(map[string]*pe.ImageImportDescriptor)
	for dll := range includes {
		dllImporter[dll] = &pe.ImageImportDescriptor{}
		offset += binary.Size(dllImporter[dll])
	}
	// ntheader - import table
	pent.O


 in non-existent directory'
      ),
      list: null
    };
  }

  const filesPattern = path === '/' ? '/*' : `${path}/*`;

  return {
    err: null,
    list: GlobUtil.captureGlobPaths(fs, filesPattern, onlyFilesFilter(fs))
  };
};

/**
 * Creates a list of folder names inside the current directory.
 * @param  {Map}    fs   file system
 * @param  {string} path path to list directories in
 * @return {object}      list of directories or an error
 */
export const listDirectoryFolders = (
  fs: IFileSystem,
  path: string,
  isTrailingSlashAppended = true
): { list: any; err: IEmulatorError | null } => {
  if (hasFile(fs, path)) {
    return {
      err: makeError(fsErrorType.FILE_EXISTS, 'File exists at path'),
      list: null
    };
  }

  if (!hasDirectory(fs, path)) {
    return {
      err: makeError(
        fsErrorType.NO_SUCH_DIRECTORY,
        'Cannot list folders in non-existent directory'
      ),
      list: null
    };
  }

  const foldersPattern = path === '/' ? '/*' : `${path}/*`;
  const folderNames = GlobUtil.captureGlobPaths(
    fs,
    foldersPattern,
    onlyDirectoriesFilter(fs)
  );

  if (isTrailingSlashAppended) {
    return {
      err: null,
      list: folderNames.map(folderName => `${folderName}/`)
    };
  }

  return {
    err: null,
    list: folderNames
  };
};

/**
 * Lists files and folders in a directory
 * @param  {Map}     fs                                      file system
 * @param  {string}  path                                    directory path to list files and folders in
 * @param  {boolean} [addTrailingSlash=true]                 add a / to the end of folder names
 * @return {object}                                          file system or an error
 */
export const listDirectory = (
  fs: IFileSystem,
  path: string,
  addTrailingSlash = true
) => {
  const { err: listFileErr, list: fileList } = listDirectoryFiles(fs, path);
  const { err: listFolderErr, list: folderList } = listDirectoryFolders(
    fs,
    path,
    addTrailingSlash
  );

  if (listFileErr || listFolderErr) {
    return {
      err: listFileErr ? listFileErr : listFolderErr
    };
  }

  return {
    list: fileList.concat(folderList)
  };
};

/**
 * Adds a directory to the file system
 * @param {Map}     fs                           file system
 * @param {string}  path                         path to add a directory to
 * @param {Map}     dir                          directory
 * @param {boolean} [isReplaceExistingDir=false] whether a directory can be overwritten if it already exists
 * @return {object}                              file system or an error
 */
export const addDirectory = (
  fs: IFileSystem,
  path: string,
  dir: IFileSystem,
  addParentPaths = true
) => {
  if (hasFile(fs, PathUtil.getPathParent(path))) {
    return {
      err: makeError(fsErrorType.FILE_EXISTS, 'File exists at path'),
      fs: undefined
    };
  }

  return BaseOp.add(fs, path, dir, addParentPaths);
};

/**
 * Private helper function implementing rules for replacing a source path (the path
 * we're copying from) with a destination path (the path we're copying to). Note
 * that in our file system:
 * - A file cannot overwrite a directory,
 * - a directory cannot overwrite a file, and
 * - a file/directory can overwrite a file/directory.
 * @param  {Map}       fs      file system
 * @param  {Sequence}  pathSeq sequence of source and destination paths
 * @return


ubstr(0,1);)path=path.substr(1);for(;path&&lastPath!=path;){lastPath=path;var tokenMatch=path.match(tagTokenRe);for("select"==type?tokenMatch?("#"==tokenMatch[1]?fn[fn.length]='n = quickId(n, mode, root, "'+tokenMatch[2]+'");':fn[fn.length]='n = getNodes(n, mode, "'+tokenMatch[2]+'");',path=path.replace(tokenMatch[0],"")):"@"!=path.substr(0,1)&&(fn[fn.length]='n = getNodes(n, mode, "*");'):tokenMatch&&("#"==tokenMatch[1]?fn[fn.length]='n = byId(n, "'+tokenMatch[2]+'");':fn[fn.length]='n = byTag(n, "'+tokenMatch[2]+'");',path=path.replace(tokenMatch[0],""));!(modeMatch=path.match(modeRe));){for(var matched=!1,j=0;j<matchersLn;j++){var t=matchers[j],m=path.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(t,e){return m[e]}),path=path.replace(m[0],""),matched=!0;break}}if(!matched)throw'Error parsing selector, parsing failed at "'+path+'"'}modeMatch[1]&&(fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";',path=path.replace(modeMatch[1],""))}return fn[fn.length]="return nodup(n);\n}",eval(fn.join("")),f},jsSelect:function(t,e,i){"string"==typeof(e=e||document)&&(e=document.getElementById(e));for(var s=t.split(","),n=[],r=0,o=s.length;r<o;r++){var a=s[r].replace(trimRe,"");if(!cache[a]&&(cache[a]=Ext.DomQuery.compile(a),!cache[a]))throw a+" is not a valid selector";var l=cache[a](e);l&&l!=document&&(n=n.concat(l))}return 1<s.length?nodup(n):n},isXml:function(t){var e=(t?t.ownerDocument||t:0).documentElement;return!!e&&"HTML"!==e.nodeName},select:document.querySelectorAll?function(t,e,i){if(e=e||document,!Ext.DomQuery.isXml(e))try{var s=e.querySelectorAll(t);return Ext.toArray(s)}catch(t){}return Ext.DomQuery.jsSelect.call(this,t,e,i)}:function(t,e,i){return Ext.DomQuery.jsSelect.call(this,t,e,i)},selectNode:function(t,e){return Ext.DomQuery.select(t,e)[0]},selectValue:function(t,e,i){t=t.replace(trimRe,""),valueCache[t]||(valueCache[t]=Ext.DomQuery.compile(t,"select"));var s,n=valueCache[t](e);return"function"==typeof(n=n[0]?n[0]:n).normalize&&n.normalize(),null==(s=n&&n.firstChild?n.firstChild.nodeValue:null)||""===s?i:s},selectNumber:function(t,e,i){var s=Ext.DomQuery.selectValue(t,e,i||0);return parseFloat(s)},is:function(t,e){"string"==typeof t&&(t=document.getElementById(


Complete')
}

// const obs$ = Observable.create();

const obs$ = new Observable<string>( subs => {

    subs.next('Hola mundo!!');

    // subs.error('Error');

    subs.complete();

});

obs$.subscribe( observer );

// obs$.subscribe(
//     response => console.log(response),
//     error => console.warn(error),
//     () => console.log('Completado')
// );

const fetchSpecialDateData = (dataSource: DataSourceItem[], specialTime: string,dayOrOthers: string) => {
  const container: DataSourceItem[] = [];
  if (dayOrOthers === 'day'){
    dataSource.map((item: DataSourceItem) => {
      if (item.date === specialTime) {
        container.push(item);
      }
    });
    return container;
  }else {
    dataSource.map((item: DataSourceItem) => {
      if (item.date.indexOf(specialTime)>=0) {
        container.push(item);
      }
    });
    return container;
  }

};

export default fetchSpecialDateData;function greet(person) {
    return "Hello, " + person + "!";
}

let user = "World";

console.log(greet(user));

var pastedData = e.originalEvent["clipboardData"].getData('text');
console.log(pastedData)
import postesRepository from '../../utils/postes.json';

export function confirmInstalation(userCoords: number[]) {
  const postes = postesRepository.unidades;
  const viablePoste = postes.filter(
    (poste) =>
      calcCrow(
        userCoords[0],
        userCoords[1],
        Number(poste.latitude),
        Number(poste.longitude)
      ) *
        1000 <
      150
  );

  return viablePoste;

  // if (!!viablePoste) {
  //   return true;
  // } else {
  //   return false;
  // }
}

function calcCrow(lat1: number, lon1: number, lat2: number, lon2: number) {
  const R = 6371; // km
  const dLat = toRad(lat2 - lat1);
  const dLon = toRad(lon2 - lon1);
  const plat1 = toRad(lat1);
  const plat2 = toRad(lat2);

  const a =
    Math.sin(dLat / 2) * Math.sin(dLat / 2) +
    Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(plat1) * Math.cos(plat2);
  const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  const d = R * c;

  return d;
}
function toRad(Value: number) {
  return (Value * Math.PI) / 180;
}
declare class QHttpHeader {
  /**
   * Adds a new entry with the key and value.
   */
  public addValue(key: QString, value: QString): void;

  /**
   * Returns all the entries with the given key.
   */
  public allValues(key: QString): QStringList;

  /**
   * Returns the value of the special HTTP header field content-length.
   */
  public contentLength(): uint;

  /**
   * Returns the value of the special HTTP header field content-type.
   */
  public contentType(): QString;

  /**
   * Returns true if the header has an entry for the special HTTP header field content-length; otherwise returns false.
   */
  public hasContentLength(): boolean;

  /**
   * Returns true if the header has an entry for the special HTTP header field content-type; otherwise returns false.
   */
  public hasContentType(): boolean;

  /**
   * Returns true if the HTTP header has an entry with the given key; otherwise returns false.
   */
  public hasKey(key: QString): boolean;

  /**
   * Returns true if the HTTP header is valid; otherwise returns false.
   */
  public isValid(): boolean;

  /**


变当前灯泡右侧所有灯泡的状态。给定所有灯泡的初始状态，找到打开所有灯泡所需按下的最小开关数。您可以多次按下同一个开关。
注意:0 表示灯泡关闭，1 表示灯泡开启。
**例:**

```
Input :  [0 1 0 1]
Output : 4
Explanation :
    press switch 0 : [1 0 1 0]
    press switch 1 : [1 1 0 1]
    press switch 2 : [1 1 1 0]
    press switch 3 : [1 1 1 1]

Input : [1 0 0 0 0]
Output : 1
```

我们从左到右遍历给定的数组，并持续按下关闭灯泡的开关。我们记录了到目前为止按下开关的次数。如果按压次数是奇数，这意味着当前开关处于其原始状态，否则它处于另一状态。根据灯泡的状态，我们可以增加按压次数。

## C++

```
// CPP program to find number switch presses to
// turn all bulbs on.
#include<bits/stdc++.h>
using namespace std;

int bulbs(int a[],int n)
{
    // To keep track of switch presses so far
    int count = 0;

    int res = 0;
    for (int i = 0; i < n; i++)
    {
        /* if the bulb's original state is on and count
        is even, it is currently on...*/
        /* no need to press this switch */
        if (a[i] == 1 && count % 2 == 0)
            continue;

        /* If the bulb's original state is off and count
        is odd, it is currently on...*/
        /* no need to press this switch */
        else if(a[i] == 0 && count % 2 != 0)
            continue;

        /* if the bulb's original state is on and count
        is odd, it is currently off...*/
        /* Press this switch to on the bulb and increase
        the count */
        else if (a[i] == 1 && count % 2 != 0)
        {
            res++;
            count++;
        }

        /* if the bulb's original state is off and
        count is even, it is currently off...*/
        /* press this switch to on the bulb and
        increase the count */
        else if (a[i] == 0 && count % 2 == 0)
        {
            res++;
            count++;
        }
    }
    return res;
}

// Driver code
int main()
{
    int states[] = {0,1,0,1};
    int n = sizeof(states)/sizeof(states[0]);
    cout << "The minimum number of switches needed are " << bulbs(states,n);
}

// This code is contributed by
// Sanjit_Prasad
```

## Java 语言(一种计算机语言，尤用于创建网站)

```
// Java program to find number switch presses to
// turn all bulbs on.
import java.util.*;

public class GFG
{
    public int bulbs(ArrayList<Integer> a)
    {
        // To keep track of switch presses so far
        int count = 0;

        int res = 0;
        for (int i = 0; i < a.size(); i++)
        {
            /* if the bulb's original state is on and count
               is even, it is currently on...*/
            /* no need to press this switch */
            if (a.get(i) == 1 && count%2 == 0)
                continue;

            /* If the bulb's original state is off and count
               is odd, it is currently on...*/
            /* no need to press this switch */
            else if(a.get(i) == 0 && count%2 != 0)
                continue;

            /* if the bulb


--!strict
-- ROBLOX upstream: https://github.com/facebook/react/blob/v17.0.1/packages/react-devtools-shared/src/devtools/utils.js
--[[*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
]]

local Packages = script.Parent.Parent.Parent

local LuauPolyfill = require(Packages.LuauPolyfill)
local Array = LuauPolyfill.Array
type Array<T> = LuauPolyfill.Array<T>
-- ROBLOX deviation: Use HttpService for JSON
local JSON = game:GetService("HttpService")

local exports = {}

local ViewsComponentsTypes = require(script.Parent.views.Components.types)
type Element = ViewsComponentsTypes.Element
local devtoolsTypes = require(script.Parent.types)
type Store = devtoolsTypes.Store

exports.printElement = function(element: Element, includeWeight: boolean?)
	includeWeight = includeWeight or false
	local prefix = " "

	if #element.children > 0 then
		prefix = if element.isCollapsed then "▸" else "▾"
	end

	local key = ""

	if element.key ~= nil and element.key ~= "" then
		key = string.format(' key="%s"', tostring(element.key))
	end

	local hocDisplayNames = nil

	if element.hocDisplayNames ~= nil then
		hocDisplayNames = table.clone(element.hocDisplayNames)
	end

	local hocs = if hocDisplayNames == nil
		then ""
		else string.format(" [%s]", table.concat(hocDisplayNames, "]["))
	local suffix = ""

	if includeWeight then
		suffix = string.format(
			" (%s)",
			if element.isCollapsed then "1" else tostring(element.weight)
		)
	end
	return string.format(
		"%s%s <%s%s>%s%s",
		("  "):rep(element.depth + 1),
		prefix,
		element.displayName or "null",
		key,
		hocs,
		suffix
	)
end

exports.printOwnersList = function(elements: Array<Element>, includeWeight: boolean)
	includeWeight = includeWeight or false
	return table.concat(
		Array.map(elements, function(element)
			return exports.printElement(element, includeWeight)
		end),
		"\n"
	)
end

exports.printStore = function(store: Store, includeWeight: boolean?)
	includeWeight = includeWeight or false
	local snapshotLines: Array<string> = {}
	local rootWeight = 0

	Array.forEach(store


6, CertTools.getSerialNumber(cert));
            assertNotEquals("Revocation request failed to revoke the certificate", RevokedCertInfo.NOT_REVOKED, revStatus);
        } finally {
            String escapedName = StringTools.stripUsername(sRequestName);
            try {
                this.endEntityManagementSession.deleteUser(ADMIN, escapedName);
            } catch (NoSuchEndEntityException e) {
                // A test probably failed before creating the entity
                log.debug("Failed to delete USER: " + escapedName);
            }
        }

        // --------------- Send a CRMF request with a username with escapable characters --------------- //
        final String username = "another\0nullguy%00";
        final String sDN = "CN=" + username + ", C=SE, O=hejsan";
        KeyPair key2 = KeyTools.genKeys("512", AlgorithmConstants.KEYALGORITHM_RSA);

        // Create a new good USER
        final X500Name dn = createCmpUser(username, "foo123", sDN, false, this.caIdSha256, -1, -1);

        try {
            PKIMessage req = genCertReq(ISSUER_DN_SHA256, dn, key2, this.cacertSha256, nonce, transid, false, null, null, null, null, null, null);
            assertNotNull(req);
            CertReqMessages ir = (CertReqMessages) req.getBody().getContent();
            int reqId = ir.toCertReqMsgArray()[0].getCertReq().getCertReqId().getValue().intValue();
            byte[] ba = CmpMessageHelper.pkiMessageToByteArray(req);
            // Send request and receive response
            byte[] resp = sendCmpHttp(ba, 200, cmpAlias);
            checkCmpResponseGeneral(resp, ISSUER_DN_SHA256, dn, this.cacertSha256, nonce, transid, true, null, PKCSObjectIdentifiers.sha256WithRSAEncryption.getId(), false);
            X509Certificate cert = checkCmpCertRepMessage(cmpConfiguration, cmpAlias, dn, this.cacertSha256, resp, reqId);
            assertNotNull(cert);

            // Now revoke the bastard!
            PKIMessage rev = genRevReq(ISSUER_DN_SHA256, dn, cert.getSerialNumber(), this.cacertSha256, nonce, transid, true, null, null);
            assertNotNull(rev);
            rev = protectPKIMessage(rev, false, "foo123", 567);
            byte[] barev = CmpMessageHelper.pkiMessageToByteArray(rev);
            // Send request and receive response
            resp = sendCmpHttp(barev, 200, cmpAlias);
            checkCmpResponseGeneral(resp, ISSUER_DN_SHA256, dn, this.cacertSha256, nonce, transid, false, null, PKCSObjectIdentifiers.sha256WithRSAEncryption.getId(), false);
            int revStatus = checkRevokeStatus(ISSUER_DN_SHA256, CertTools.getSerialNumber(cert));
            assertNotEquals("Revocation request failed to revoke the certificate", RevokedCertInfo.NOT_REVOKED, revStatus);
        } finally {
            String escapedName = StringTools.strip(username);
            try {
                this.endEntityManagementSession.deleteUser(ADMIN, escapedName);
            } catch (NoSuchEndEntityException e) {
                // A test probably failed before creating the entity
                log.debug("Failed to delete USER: " + escapedName);
            }
        }
        log.trace("<test10EscapedCharsInDN");
    }

    @Test
    public void  test11IncludingCertChainInSignedCMPResponse() throws Exception {
        //---------- Create SubCA signed by testx509ca (rootCA) ------------- //
        String subcaDN = "CN=SubTestCA";
        int subcaID = subcaDN.hashCode();
        int cryptoTokenId = CryptoTokenTestUtils.createCryptoTokenForCA(ADMIN, null, true, false, sub


er() ? 'border-hover' : 'border-dashed') : ''}`}
      >
        {this.getIconObject()}
        <Message hover={this.isHover()} state={this.state} />
      </div>
    )
  }
}

// { drop } since other functions can be passed here
export default DropTarget(NativeTypes.FILE, { drop }, collect)(Converter)
import React from 'react'

const Done = () => (
  <svg xmlns="http://www.w3.org/2000/svg" width="118" height="118" viewBox="0 0 118 118">
    <g fill="none" fillRule="evenodd" transform="translate(-17 -35)">
      <g transform="rotate(54 44.657 89.158)">
        <ellipse cx="49.387" cy="31.17" fill="#ffb43b" transform="rotate(178 49.387 31.17)" rx="8.442" ry="8.432" />
        <ellipse cx="3.951" cy="72.126" fill="#ffb43b" opacity=".714" transform="rotate(178 3.95 72.126)" rx="3.015" ry="3.011" />
        <path fill="#ff523b" fillRule="nonzero" d="M24.9277655,78.6243604 C24.305182,78.8509623 23.9838647,79.5389749 24.2103351,80.1611972 C24.4368055,80.7834195 25.1251948,81.103929 25.7477783,80.8773271 C26.3703619,80.6507252 26.6916792,79.9627126 26.4652088,79.3404903 C26.2387384,78.718268 25.5503491,78.3977585 24.9277655,78.6243604 Z M21.8762839,78.4927789 C21.2758191,78.2127776 20.5621151,78.4720704 20.2822762,79.0721867 C20.0024374,79.672303 20.2625677,80.3857022 20.8630325,80.6657035 C21.4634973,80.9457049 22.1772013,80.6864121 22.4570401,80.0862958 C22.736879,79.4861794 22.4767487,78.7727803 21.8762839,78.4927789 Z M19.8138287,76.2444427 C19.5872268,75.6218591 18.8992142,75.3005419 18.276992,75.5270123 C17.6547697,75.7534826 17.3342602,76.4418719 17.5608621,77.0644555 C17.787464,77.6870391 18.4754766,78.0083563 19.0976989,77.7818859 C19.7199211,77.5554156 20.0404306,76.8670263 19.8138287,76.2444427 Z M19.9485584,73.1963966 C20.2285597,72.5959318 19.9692669,71.8822278 19.3691506,71.602389 C18.7690343,71.3225502 18.0556351,71.5826804 17.7756338,72.1831452 C17.4956324,72.7836101 17.7549252,73.497314 18.3550415,73.7771529 C18.9551579,74.0569917 19.668557,73.7968614 19.9485584,73.1963966 Z M22.20155,71.1341447 C22.8241336,70.9075428 23.1454508,70.2195302 22.9189804,69.597308 C22.69251,68.9750857 22.0041208,68.6545762 21.3815372,68.8811781 C20.7589536,69.10778 20.4376364,69.7957926 20.6641067,70.4180149 C20.8905771,71.0402371 21.5789664,71.3607466 22.20155,71.1341447 Z M25.2530317,71.2657262 C25.8534965,71.5457276 26.5672005,71.2864348 26.8470393,70.6863185 C27.1268781,70.0862021 26.8667478,69.372803 26.266283,69.0928016 C25.6658182,68.8128003 24.9521142,69.0720931 24.6722754,69.6722094 C24.3924366,70.2723257 24.6525668,70.9857249 25.2530317,71.2657262 Z M28.8523236,74.2314929 C29.4745458,74.0050225 29.7950553,73.3166332 29.568


 = reader

    override fun toString() = value.toString()
    override fun toString(memory: WasmMemory) = toString()

    fun toShort() = value

    companion object : HasWasmReader<WasmShort> {
        const val SIZE_BYTES = 2
        val Zero = WasmShort(0)
        val Min = WasmShort(Short.MIN_VALUE)
        val Max = WasmShort(Short.MAX_VALUE)

        override val reader
            get() = object : WasmMemoryReader<WasmShort> {
                override fun read(memory: WasmMemory, offset: Int) = WasmShort(memory.int16(offset))
                override val elementSize: Int = SIZE_BYTES
            }
    }
}
@file:Suppress("SpreadOperator")

package com.klyx.terminal

import android.content.Context
import com.klyx.core.ProcessBuilder
import com.klyx.core.process
import com.klyx.terminal.internal.buildProotArgs
import com.klyx.terminal.internal.currentUser
import com.klyx.terminal.internal.linker
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.InvocationKind
import kotlin.contracts.contract

@OptIn(ExperimentalContracts::class)
context(context: Context)
inline fun ubuntuProcess(
    vararg commands: String,
    loginUser: Boolean = true,
    block: ProcessBuilder.() -> Unit = {}
): ProcessBuilder {
    contract { callsInPlace(block, InvocationKind.AT_MOST_ONCE) }

    if (!ubuntuDir.exists() || ubuntuDir.list()?.isEmpty() == true) {
        error("Ubuntu rootfs is not initialized")
    }

    return process(
        arrayOf(
            linker,
            "${klyxBinDir.absolutePath}/proot",
            *buildProotArgs(
                currentUser,
                withInitScript = false,
                loginUser = loginUser,
                commands = commands
            )
        )
    ) {
        env(
            "PATH",
            "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/system/bin:/system/xbin"
        )
        env("PROOT_TMP_DIR", klyxFilesDir.resolve("usr/tmp").absolutePath)
    }.apply(block)
}
package com.klyx.terminal.internal

import android.content.Context
import android.system.Os
import com.klyx.core.Process
import com.klyx.core.generateId
import com.klyx.terminal.klyxBinDir
import com.klyx.terminal.klyxCacheDir
import com.klyx.terminal.klyxFilesDir
import com.termux.terminal.TerminalEmulator
import com.termux.terminal.TerminalSession
import com.termux.terminal.TerminalSessionClient
import java.io.File

typealias TerminalSessionId = String

val linker = if (Process.is64Bit()) "/system/bin/linker64" else "/system/bin/linker"

context(context: Context)
fun createSession(
    user: String,
    client: TerminalSessionClient,
    cwd: File = klyxFilesDir,
    sessionId: TerminalSessionId = generateId()
) = run {
    val tmpDir = File(klyxCacheDir, "terminal/$sessionId").apply {
        if (exists()) deleteRecursively()
        mkdirs()
    }

    val env = mutableMapOf(
        "PROOT_TMP_DIR" to tmpDir.absolutePath,
        "COLORTERM" to "truecolor",
        "TERM" to "xterm-256color",
        "USER" to user,
        "CACHE_GID" to (10000 + Os.getgid()).toString(),
        "EXT_GID" to (40000 + Os.getgid()).toString()
    )

    TerminalSession(
        klyxBinDir.absolutePath + "/proot",
        cwd.absolutePath,
        buildProotArgs(user),
        env.map { "${it.key}=${it.value}" }.toTypedArray(),
        TerminalEmulator.DEFAULT_TERMINAL_TRANSCRIPT_ROWS,
        client
    )
}
package com.klyx.editor


1.06 1.06l18 18a.75.75 0 101.06-1.06l-18-18z"})])}function tIt(e,t){return f(),J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[w("path",{"fill-rule":"evenodd",d:"M14.615 1.595a.75.75 0 01.359.852L12.982 9.75h7.268a.75.75 0 01.548 1.262l-10.5 11.25a.75.75 0 01-1.272-.71l1.992-7.302H3.75a.75.75 0 01-.548-1.262l10.5-11.25a.75.75 0 01.913-.143z","clip-rule":"evenodd"})])}function eIt(e,t){return f(),J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[w("path",{d:"M11.25 4.533A9.707 9.707 0 006 3a9.735 9.735 0 00-3.25.555.75.75 0 00-.5.707v14.25a.75.75 0 001 .707A8.237 8.237 0 016 18.75c1.995 0 3.823.707 5.25 1.886V4.533zM12.75 20.636A8.214 8.214 0 0118 18.75c.966 0 1.89.166 2.75.47a.75.75 0 001-.708V4.262a.75.75 0 00-.5-.707A9.735 9.735 0 0018 3a9.707 9.707 0 00-5.25 1.533v16.103z"})])}function iIt(e,t){return f(),J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[w("path",{d:"M3.53 2.47a.75.75 0 00-1.06 1.06l18 18a.75.75 0 101.06-1.06l-18-18zM20.25 5.507v11.561L5.853 2.671c.15-.043.306-.075.467-.094a49.255 49.255 0 0111.36 0c1.497.174 2.57 1.46 2.57 2.93zM3.75 21V6.932l14.063 14.063L12 18.088l-7.165 3.583A.75.75 0 013.75 21z"})])}function nIt(e,t){return f(),J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[w("path",{"fill-rule":"evenodd",d:"M6 3a3 3 0 00-3 3v12a3 3 0 003 3h12a3 3 0 003-3V6a3 3 0 00-3-3H6zm1.5 1.5a.75.75 0 00-.75.75V16.5a.75.75 0 001.085.67L12 15.089l4.165 2.083a.75.75 0 001.085-.671V5.25a.75.75 0 00-.75-.75h-9z","clip-rule":"evenodd"})])}function lIt(e,t){return f(),J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[w("path",{"fill-rule":"evenodd",d:"M6.32 2.577a49.255 49.255 0 0111.36 0c1.497.174 2.57 1.


/* -*- c++ -*- ----------------------------------------------------------
   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
   https://www.lammps.org/, Sandia National Laboratories
   LAMMPS development team: developers@lammps.org

   Copyright (2003) Sandia Corporation.  Under the terms of Contract
   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
   certain rights in this software.  This software is distributed under
   the GNU General Public License.

   See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */

#ifdef COMPUTE_CLASS
// clang-format off
ComputeStyle(ackland/atom,ComputeAcklandAtom);
// clang-format on
#else

#ifndef LMP_COMPUTE_ACKLAND_ATOM_H
#define LMP_COMPUTE_ACKLAND_ATOM_H

#include "compute.h"

namespace LAMMPS_NS {

class ComputeAcklandAtom : public Compute {
 public:
  ComputeAcklandAtom(class LAMMPS *, int, char **);
  ~ComputeAcklandAtom() override;
  void init() override;
  void init_list(int, class NeighList *) override;
  void compute_peratom() override;
  double memory_usage() override;

 private:
  int nmax, maxneigh, legacy;
  double *distsq;
  int *nearest, *nearest_n0, *nearest_n1;
  double *structure;
  class NeighList *list;

  void select(int, int, double *);
  void select2(int, int, double *, int *);
};

}    // namespace LAMMPS_NS

#endif
#endif


itr], 0
    s_cbranch_scc0 L_igemm_fwd_gtcx_nchw_fp32_bx1_ex0_bt256x128x16_wt64x32x1_ws1x1_wr2x2_ta1x4x4x1_1x4x1x64_tb1x1x8x1_1x16x1x16_mfma_finishing
    v_mfma_f32_32x32x1f32 a[a_c+64:a_c+95], v[v_a+3], v[v_b+2], a[a_c+64:a_c+95]     ; repeat:1x0, step:0x0, num_a_c:32
    v_mfma_f32_32x32x1f32 a[a_c+96:a_c+127], v[v_a+3], v[v_b+3], a[a_c+96:a_c+127]     ; repeat:1x1, step:0x0, num_a_c:32
    s_waitcnt lgkmcnt(0)
    s_barrier
    s_branch L_igemm_fwd_gtcx_nchw_fp32_bx1_ex0_bt256x128x16_wt64x32x1_ws1x1_wr2x2_ta1x4x4x1_1x4x1x64_tb1x1x8x1_1x16x1x16_mfma_body
L_igemm_fwd_gtcx_nchw_fp32_bx1_ex0_bt256x128x16_wt64x32x1_ws1x1_wr2x2_ta1x4x4x1_1x4x1x64_tb1x1x8x1_1x16x1x16_mfma_finishing:
    v_mfma_f32_32x32x1f32 a[a_c+64:a_c+95], v[v_a+3], v[v_b+2], a[a_c+64:a_c+95]     ; repeat:1x0, step:0x0, num_a_c:32

    v_mfma_f32_32x32x1f32 a[a_c+96:a_c+127], v[v_a+3], v[v_b+3], a[a_c+96:a_c+127]     ; repeat:1x1, step:0x0, num_a_c:32

L_igemm_fwd_gtcx_nchw_fp32_bx1_ex0_bt256x128x16_wt64x32x1_ws1x1_wr2x2_ta1x4x4x1_1x4x1x64_tb1x1x8x1_1x16x1x16_mfma_end:
    s_waitcnt lgkmcnt(0)
    s_barrier
    ds_read_b32 v[v_a], v[v_sld_a_os]
    ds_read_b32 v[v_b], v[v_sld_b_os]
    ds_read_b32 v[v_b+1], v[v_sld_b_os] offset:256
    ds_read_b32 v[v_a+1], v[v_sld_a_os] offset:512
    ; k iteration : 0
    s_waitcnt lgkmcnt(2)
    v_mfma_f32_32x32x1f32 a[a_c+0:a_c+31], v[v_a], v[v_b], a[a_c+0:a_c+31]     ; repeat:0x0, step:0x0, num_a_c:32
    ds_read_b32 v[v_a+2], v[v_sld_a_os] offset:1024 ; load i_k:1 into local buffer 1, repeat 0
    ds_read_b32 v[v_b+2], v[v_sld


#ifndef GRAPHICS_LANG_TEXT_H
#define GRAPHICS_LANG_TEXT_H

#include "graphics/font.h"
#include "graphics/color.h"

int lang_text_get_width(int group, int number, font_t font);

int lang_text_draw(int group, int number, int x_offset, int y_offset, font_t font);
int lang_text_draw_colored(int group, int number, int x_offset, int y_offset, font_t font, color_t color);

void lang_text_draw_centered(int group, int number, int x_offset, int y_offset, int box_width, font_t font);
void lang_text_draw_centered_colored(
    int group, int number, int x_offset, int y_offset, int box_width, font_t font, color_t color);

void lang_text_draw_ellipsized(int group, int number, int x_offset, int y_offset, int box_width, font_t font);

int lang_text_draw_amount(int group, int number, int amount, int x_offset, int y_offset, font_t font);

int lang_text_draw_year(int year, int x_offset, int y_offset, font_t font);
void lang_text_draw_month_year_max_width(
    int month, int year, int x_offset, int y_offset, int box_width, font_t font, color_t color);

int lang_text_draw_multiline(int group, int number, int x_offset, int y_offset, int box_width, font_t font);

#endif // GRAPHICS_LANG_TEXT_H


 { parse } from 'querystring';

/* eslint no-useless-escape:0 import/prefer-default-export:0 */
const reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;

export const isUrl = (path: string): boolean => reg.test(path);

export const isAntDesignPro = (): boolean => {
  if (ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site') {
    return true;
  }
  return window.location.hostname === 'preview.pro.ant.design';
};

// 给官方演示站点用，用于关闭真实开发环境不需要使用的特性
export const isAntDesignProOrDev = (): boolean => {
  const { NODE_ENV } = process.env;
  if (NODE_ENV === 'development') {
    return true;
  }
  return isAntDesignPro();
};

export const getPageQuery = () => parse(window.location.href.split('?')[1]);

export const getFilteredResults = (fights: Flight[]) => {
  const result: FlightResult = {
    flightsWithOff: fights,
    totalePrice: fights.reduce((accumulator, currentValue) => {
      return accumulator + currentValue.price;
    }, 0),
  };
  return result;
};
// DON'T REORDER!
export const enum TileType {
  LightDirt,
  DarkDirt,
  Forest,
  LightGrass,
  DarkGrass,
  ShallowWater,
  DeepWater,
  Rock,
  MAX,
}

export const strToTileType: TileType[] = [];

strToTileType['shallow-water'] = TileType.ShallowWater;
strToTileType['deep-water'] = TileType.DeepWater;
strToTileType['dark-dirt'] = TileType.DarkDirt;
strToTileType['dark-grass'] = TileType.DarkGrass;
strToTileType['forest'] = TileType.Forest;
strToTileType['light-dirt'] = TileType.LightDirt;
strToTileType['light-grass'] = TileType.LightGrass;
strToTileType['rock'] = TileType.Rock;

export type TileTypeChar = 'd' | 'D' | 'F' | 'g' | 'G' | 'w' | 'W' | 'R';
export const numToChar: TileTypeChar[] = [];

numToChar[TileType.DarkGrass] = 'G';
numToChar[TileType.LightGrass] = 'g';
numToChar[TileType.DarkDirt] = 'D';
numToChar[TileType.LightDirt] = 'd';
numToChar[TileType.Rock] = 'R';
numToChar[TileType.Forest] = 'F';
numToChar[TileType.DeepWater] = 'W';
numToChar[TileType.ShallowWater] = 'w';

export const numToTileType: TileType[] = [];
// TileType.xxx within the square brackets will implicitly be cast to number
// but the TileType.xxx being assigned will not be casted.
// This allows for mapping from number to TileType
numToTileType[TileType.DarkGrass] = TileType.DarkGrass;
numToTileType[TileType.LightGrass] = TileType.LightGrass;
numToTileType[TileType.DarkDirt] = TileType.DarkDirt;
numToTileType[TileType.LightDirt] = TileType.LightDirt;
numToTileType[TileType.Rock] = TileType.Rock;
numToTileType[TileType.Forest] = TileType.Forest;
numToTileType[TileType.ShallowWater] = TileType.ShallowWater;
numToTileType[TileType.DeepWater] = TileType.DeepWater;

export const charToTileType: TileType[] = [];

charToTileType[numToChar[TileType.


tern Any = new ILExpressionAnyPattern();

        private sealed class ILExpressionAnyPattern : ILExpressionPattern
        {
            public override MatchResult Match(ILAstNode node)
            {
                var result = new MatchResult(node is ILExpression);
                AddCaptureIfNecessary(result, node);
                return result;
            }

            public override ILAstPattern Capture(string name)
            {
                return new ILExpressionAnyPattern
                {
                    Captured = true,
                    CaptureName = name
                };
            }

            public override string ToString()
            {
                return "?";
            }
        }

        public ILExpressionPattern CaptureExpr(string name)
        {
            return (ILExpressionPattern) Capture(name);
        }
    }
}


eWindowToolbar will make the wxFrame grow
            // which we don't want in this case
            wxSize sz = GetParent()->GetSize();
            ShowHideWindowToolbar( tlw, true, false );
            // Restore the original size
            GetParent()->SetSize( sz );

            ChangeWindowAttributes( tlw, kWindowToolbarButtonAttribute, 0 );

            SetAutomaticControlDragTrackingEnabledForWindow( tlw, true );

            GetPeer()->Move(0,0,0,0 );
            SetSize( wxSIZE_AUTO_WIDTH, 0 );
            GetPeer()->SetVisibility( false );
            wxToolBarBase::Show( false );
        }
    }
    else
    {
        // only deinstall toolbar if this is the installed one
        if (m_macToolbar == curToolbarRef)
        {
            bResult = true;

            ShowHideWindowToolbar( tlw, false, false );
            ChangeWindowAttributes( tlw, 0, kWindowToolbarButtonAttribute );
            MacUninstallNativeToolbar();

            GetPeer()->SetVisibility( true );
        }
    }

    if (bResult)
        InvalidateBestSize();

// wxLogDebug( wxT("    --> [%lx] - result [%s]"), (long)this, bResult ? wxT("T") : wxT("F") );
    return bResult;
}

void wxToolBar::MacUninstallNativeToolbar()
{
    if (!m_macToolbar)
        return;

    WindowRef tlw = MAC_WXHWND(MacGetTopLevelWindowRef());
    if (tlw)
        SetWindowToolbar( tlw, NULL );
}
#endif

bool wxToolBar::Realize()
{
    if ( !wxToolBarBase::Realize() )
        return false;

    wxSize tlw_sz = GetParent()->GetSize();

    int maxWidth = 0;
    int maxHeight = 0;

    int maxToolWidth = 0;
    int maxToolHeight = 0;

    int x = m_xMargin + kwxMacToolBarLeftMargin;
    int y = m_yMargin + kwxMacToolBarTopMargin;

    int tw, th;
    GetSize( &tw, &th );

    // find the maximum tool width and height
    wxToolBarTool *tool;
    wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst();
    while ( node )
    {
        tool = (wxToolBarTool *) node->GetData();
        if ( tool != NULL )
        {
            wxSize  sz = tool->GetSize();

            if ( sz.x > maxToolWidth )
                maxToolWidth = sz.x;
            if ( sz.y > maxToolHeight )
                maxToolHeight = sz.y;
        }

        node = node->GetNext();
    }

    bool lastIsRadio = false;
    bool curIsRadio = false;

#if wxOSX_USE_NATIVE_TOOLBAR
    CFIndex currentPosition = 0;
    bool insertAll = false;

    HIToolbarRef refTB = (HIToolbarRef)m_macToolbar;
    wxFont f;
    wxFontEncoding enc;
    f = GetFont();
    if ( f.IsOk() )
        enc = f.GetEncoding();
    else
        enc = wxFont::GetDefaultEncoding();
#endif

    node = m_tools.GetFirst();
    while ( node )
    {
        tool = (wxToolBarTool*) node->GetData();
        if ( tool == NULL )
        {
            node = node->GetNext();
            continue;
        }

        // set tool position:
        // for the moment just perform a single row/column alignment
        wxSize  cursize = tool->GetSize();
        if ( x + cursize.x > maxWidth )
            maxWidth = x + cursize.x;
        if ( y + cursize.y > maxHeight )
            maxHeight = y + cur


typedef int* _Nonnull mynonnull;

__attribute__((objc_root_class))
@interface typedefClass
- (void) func1:(mynonnull)i;
@end

void func2(mynonnull i);

void func3(int *); // expected-warning{{pointer is missing a nullability type specifier}}
// expected-note@-1{{insert '_Nullable' if the pointer may be null}}
// expected-note@-2{{insert '_Nonnull' if the pointer should never be null}}

#define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained))
typedef void *CFTypeRef;
void cf1(CFTypeRef * p CF_RETURNS_NOT_RETAINED); // expected-warning{{pointer is missing a nullability type specifier}}
// expected-note@-1{{insert '_Nullable' if the pointer may be null}}
// expected-note@-2{{insert '_Nonnull' if the pointer should never be null}}

void cf2(CFTypeRef * _Nullable p CF_RETURNS_NOT_RETAINED);
void cf3(CFTypeRef * _Nonnull p CF_RETURNS_NOT_RETAINED);

void cf4(CFTypeRef _Nullable * _Nullable p CF_RETURNS_NOT_RETAINED);
void cf5(CFTypeRef _Nonnull * _Nullable p CF_RETURNS_NOT_RETAINED);

void cf6(CFTypeRef * _Nullable CF_RETURNS_NOT_RETAINED p);
void cf7(CF_RETURNS_NOT_RETAINED CFTypeRef * _Nonnull p);

typedef CFTypeRef _Nullable *CFTypeRefPtr;
void cfp1(CFTypeRefPtr p CF_RETURNS_NOT_RETAINED); // expected-warning{{pointer is missing a nullability type specifier}}
// expected-note@-1{{insert '_Nullable' if the pointer may be null}}
// expected-note@-2{{insert '_Nonnull' if the pointer should never be null}}
void cfp2(CFTypeRefPtr _Nonnull p CF_RETURNS_NOT_RETAINED);


encesTxHash, result.SendSequencesTxHash)
		assert.Equal(t, testCase.expected.VerifyBatchTxHash, result.VerifyBatchTxHash)
		assert.Equal(t, testCase.expected.BatchL2Data, result.BatchL2Data)
		assert.Equal(t, len(testCase.expected.Transactions), len(result.Transactions))

		for i := 0; i < len(testCase.expected.Transactions); i++ {
			txOrHashExpected := testCase.expected.Transactions[i]
			txOrHashResult := result.Transactions[i]

			if txOrHashExpected.Hash != nil {
				assert.Equal(t, txOrHashExpected.Hash.String(), txOrHashResult.Hash.String())
			} else {
				assert.Equal(t, txOrHashExpected.Tx.Nonce, txOrHashResult.Tx.Nonce)
				assert.Equal(t, txOrHashExpected.Tx.GasPrice, txOrHashResult.Tx.GasPrice)
				assert.Equal(t, txOrHashExpected.Tx.Gas, txOrHashResult.Tx.Gas)
				assert.Equal(t, txOrHashExpected.Tx.To, txOrHashResult.Tx.To)
				assert.Equal(t, txOrHashExpected.Tx.Value, txOrHashResult.Tx.Value)
				assert.Equal(t, txOrHashExpected.Tx.Input, txOrHashResult.Tx.Input)
				assert.Equal(t, txOrHashExpected.Tx.V, txOrHashResult.Tx.V)
				assert.Equal(t, txOrHashExpected.Tx.R, txOrHashResult.Tx.R)
				assert.Equal(t, txOrHashExpected.Tx.S, txOrHashResult.Tx.S)
				assert.Equal(t, txOrHashExpected.Tx.Hash, txOrHashResult.Tx.Hash)
				assert.Equal(t, txOrHashExpected.Tx.From, txOrHashResult.Tx.From)
				assert.Equal(t, txOrHashExpected.Tx.BlockHash, txOrHashResult.Tx.BlockHash)
				assert.Equal(t, txOrHashExpected.Tx.BlockNumber, txOrHashResult.Tx.BlockNumber)
				assert.Equal(t, txOrHashExpected.Tx.TxIndex, txOrHashResult.Tx.TxIndex)
				assert.Equal(t, txOrHashExpected.Tx.ChainID, txOrHashResult.Tx.ChainID)
				assert.Equal(t, txOrHashExpected.Tx.Type, txOrHashResult.Tx.Type)
			}
		}
	}
}

func hexToBytes(str string) []byte {
	bytes, _ := hex.DecodeHex(str)
	return bytes
}
package e2e

import (
	"context"
	"encoding/json"
	"math/big"
	"reflect"
	"testing"
	"time"

	"github.com/0xPolygonHermez/zkevm-node/hex"
	"github.com/0xPolygonHermez/zkevm-node/jsonrpc/client"
	"github.com/0xPolygonHermez/zkevm-node/jsonrpc/types"
	"github.com/0xPolygonHermez/zkevm-node/log"
	"github.com/0xPolygonHermez/zkevm-node/pool"
	"github.com/0xPolygonHermez/zkevm-node/test/contracts/bin/Double"
	"github.com/0xPolygonHermez/zkevm-node/test/contracts/bin/EmitLog"
	"github.com/0xPolygonHermez/zkevm-node/test/contracts/bin/triggerErrors"
	"github.com/0xPolygonHermez/zkevm-node/test/operations"
	"github.com/ethereum/go-ethereum"
	"github.com/ethereum/go-ethereum/accounts/abi/bind"
	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/common/hexutil"
	ethTypes "github.com/ethereum/go-ethereum/core/types"
	"github.com/ethereum/go-ethereum/ethclient"
	"git


    await assertNoErrorsInCode('''
Iterable<int> f() sync* {
}
''');
  }

  test_extraPositionalArguments_Function() async {
    await assertNoErrorsInCode(r'''
f(Function a) {
  a(1, 2);
}
''');
  }

  test_extraPositionalArguments_function() async {
    await assertNoErrorsInCode(r'''
f(p1, p2) {}
main() {
  f(1, 2);
}
''');
  }

  test_extraPositionalArguments_typedef_local() async {
    await assertNoErrorsInCode(r'''
typedef A(p1, p2);
A getA() => (p1, p2) {};
f() {
  A a = getA();
  a(1, 2);
}
''');
  }

  test_extraPositionalArguments_typedef_parameter() async {
    await assertNoErrorsInCode(r'''
typedef A(p1, p2);
f(A a) {
  a(1, 2);
}
''');
  }

  test_fieldFormalParameter_functionTyped_named() async {
    await assertNoErrorsInCode(r'''
class C {
  final Function field;

  C({String this.field(int value) = f});
}
String f(int value) => '';
''');
  }

  test_fieldFormalParameter_genericFunctionTyped() async {
    await assertNoErrorsInCode(r'''
class C {
  final Object Function(int, double) field;

  C(String Function(num, Object) this.field);
}
''');
  }

  test_fieldFormalParameter_genericFunctionTyped_named() async {
    await assertNoErrorsInCode(r'''
class C {
  final Object Function(int, double) field;

  C({String Function(num, Object) this.field = f});
}
String f(num a, Object b) => '';
''');
  }

  test_fieldInitializedInInitializerAndDeclaration_fieldNotFinal() async {
    await assertNoErrorsInCode(r'''
class A {
  int x = 0;
  A() : x = 1 {}
}
''');
  }

  test_fieldInitializedInInitializerAndDeclaration_finalFieldNotSet() async {
    await assertNoErrorsInCode(r'''
class A {
  final int x;
  A() : x = 1 {}
}
''');
  }

  test_fieldInitializerOutsideConstructor() async {
    await assertNoErrorsInCode(r'''
class A {
  int x;
  A(this.x) {}
}
''');
  }

  test_fieldInitializerOutsideConstructor_defaultParameters() async {
    await assertNoErrorsInCode(r'''
class A {
  int x = 0;
  A([this.x = 1]) {}
}
''');
  }

  test_fieldInitializerRedirectingConstructor_super() async {
    await assertNoErrorsInCode(r'''
class A {
  A() {}
}
class B extends A {
  int x;
  B(this.x) : super();
}
''');
  }

  test_finalInitializedInDeclarationAndConstructor_initializer() async {
    await assertNoErrorsInCode(r'''
class A {
  final x;
  A() : x = 1 {}
}
''');
  }

  test_finalInitializedInDeclarationAndConstructor_initializingFormal() async {
    await assertNoErrorsInCode(r'''
class A {
  final x;
  A(this.x) {}
}
''');
  }

  test_finalNotInitialized_atDeclaration() async {
    await assertNoErrorsInCode(r'''
class A {
  final int x = 0;
  A() {}
}
''');
  }

  test_finalNotInitialized_fieldFormal() async {
    await assertNoErrorsInCode(r'''
class A {
  final int x = 0;
  A() {}
}
''');
  }

  test_finalNotInitialized_functionTypedFieldFormal() async {
    await assertNoErrorsInCode(r'''
class A {
  final Function x;
  A(in


Connection string): {0}", args[1]));
            Console.WriteLine(String.Format("Argument 3 (MSBuild file): {0}", args[2]));

            TestManager tm = new TestManager();
            tm.Execute(args[0], args[1], args[2]);
            //tm.Execute("BertMTFirstReleaseCredentials",
            //           "data source=(localdb)\\MSSQLLocalDB;initial catalog=PnPTestAutomation;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework",
            //           "C:\\GitHub\\BertPnPSitesCore\\Core\\Tools\\OfficeDevPnP.Core.Tools.UnitTest\\PnPSQLCore.targets");
            //Console.ReadLine();
        }

    }
}


ariableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),o&&this.variableNames.push("leakyreluAlpha"),this.userCode=`
      ${g}

      const ivec2 strides = ivec2(${u}, ${h});
      const ivec2 pads = ivec2(${l}, ${c});

      void main() {
        ivec4 coords = getOutputCoords();
        int batch = coords.x;
        ivec2 xRCCorner = coords.yz * strides - pads;
        int d2 = coords.w;
        int d1 = d2 / ${x};
        int q = d2 - d1 * ${x};

        int xRCorner = xRCCorner.x;
        int xCCorner = xRCCorner.y;

        // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).
        // ? = to be determined. : = across all values in that axis.
        float dotProd = 0.0;
        // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.
        for (int wR = 0; wR < ${f}; wR++) {
          int xR = xRCorner + wR * ${p};

          if (xR < 0 || xR >= ${s}) {
            continue;
          }

          for (int wC = 0; wC < ${m}; wC++) {
            int xC = xCCorner + wC * ${d};

            if (xC < 0 || xC >= ${a}) {
              continue;
            }

            float xVal = getX(batch, xR, xC, d1);
            float wVal = getW(wR, wC, d1, q);
            dotProd += xVal * wVal;
          }
        }

        float result = dotProd;
        ${b}
        ${v}
        setOutput(result);
      }
    `}};var ac=class{constructor(t,e=!1,r=null,i=!1,o=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.outShape;let s=t.outChannels/t.inChannels,a=t.inHeight,l=t.inWidth,c=t.padInfo.top,u=t.padInfo.left,h=t.strideHeight,p=t.strideWidth,d=t.dilationHeight,f=t.dilationWidth,m=t.filterHeight,x=t.filterWidth,g=x,v=`
      int xR; int xC; int xCOffset;
      vec4 wTexel; vec4 previous; vec4 final;`;for(let S=0;S<x;S++)v+=`
          vec4 xTexelC${S*2};
          vec4 xC${S};`;for(let S=0;S<m;S++){for(let E=0;E<x;E++)v+=`
          xTexelC${E*2} = vec4(0.0);
          xC${E} = vec4(0.0);`;v+=`
        xR = xRCorner + ${S*d};
        if (xR >=0 && xR < ${a}) {
      `;for(let E=0;E<g/2+1;E++){let M=E*2;if(v+=`
          xC = xCCorner + ${M*f};
          `,p===1){if(M<x&&(u%2===1?(v+=`
                xCOffset = xC + 1;
                if (xCOffset >= 0 && xCOffset < ${l}) {
                  xTexelC${M} = getX(batch, xR, xCOffset, d1);

                  // Need to manually clear unused channels in case
                  // we're reading from recycled texture.
                  if (xCOffset + 1 >=


s.target;
            if (vis) {
                if (target.getModalityType() != Dialog.ModalityType.MODELESS) {
                    if (!isModalBlocked()) {
                        XBaseWindow.ungrabInput();
                    }
                }
            } else {
                restoreTransientFor(this);
                prevTransientFor = null;
                nextTransientFor = null;
            }
        } finally {
            XToolkit.awtUnlock();
        }

        super.setVisible(vis);
    }

    protected Insets guessInsets() {
        if (isTargetUndecorated()) {
            return new Insets(0, 0, 0, 0);
        } else {
            return super.guessInsets();
        }
    }

    @Override
    boolean isTargetUndecorated() {
        if (undecorated != null) {
            return undecorated.booleanValue();
        } else {
            return ((Dialog)target).isUndecorated();
        }
    }

    int getDecorations() {
        int d = super.getDecorations();
        // remove minimize and maximize buttons for dialogs
        if ((d & MWM_DECOR_ALL) != 0) {
            d |= (MWM_DECOR_MINIMIZE | MWM_DECOR_MAXIMIZE);
        } else {
            d &= ~(MWM_DECOR_MINIMIZE | MWM_DECOR_MAXIMIZE);
        }
        return d;
    }

    int getFunctions() {
        int f = super.getFunctions();
        // remove minimize and maximize functions for dialogs
        if ((f & MWM_FUNC_ALL) != 0) {
            f |= (MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE);
        } else {
            f &= ~(MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE);
        }
        return f;
    }

    public void blockWindows(java.util.List<Window> toBlock) {
        Vector<XWindowPeer> javaToplevels = null;
        XToolkit.awtLock();
        try {
            javaToplevels = XWindowPeer.collectJavaToplevels();
            for (Window w : toBlock) {
                XWindowPeer wp = (XWindowPeer)ComponentAccessor.getPeer(w);
                if (wp != null) {
                    wp.setModalBlocked((Dialog)target, true, javaToplevels);
                }
            }
        } finally {
            XToolkit.awtUnlock();
        }
    }

    /*
     * WARNING: don't call client code in this method!
     *
     * The check is performed before the dialog is shown.
     * The focused window can't be blocked at the time it's focused.
     * Thus we don't have to perform any transitive (a blocker of a blocker) checks.
     */
    boolean isFocusedWindowModalBlocker() {
        Window focusedWindow = XKeyboardFocusManagerPeer.getCurrentNativeFocusedWindow();
        XWindowPeer focusedWindowPeer = null;

        if (focusedWindow != null) {
            focusedWindowPeer = (XWindowPeer)ComponentAccessor.getPeer(focusedWindow);
        } else {
            /*
             * For the case when a potential blocked window is not yet focused
             * on the Java level (e.g. it's just been mapped) we're asking for the
             * focused window on the native level.
             */
            focusedWindowPeer = getNativeFocusedWindowPeer();
        }
        synchronized (getStateLock()) {
            if (focusedWindowPeer != null && focusedWindowPeer.modalBlocker == target) {
                return true;
            }
        }
        return super.isFocusedWindowModalBlocker();
    }
}
/*
 * Copyright 2002-2007 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject


z"/></g></defs></svg>',
  'img/icons/share-arrow.svg' : '<svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve"><g><g><path fill="#7d7d7d" d="M21,11l-7-7v4C7,9,4,14,3,19c2.5-3.5,6-5.1,11-5.1V18L21,11z"/><rect fill="none" width="24" height="24"/></g></g></svg>',
  'img/icons/tabs-arrow.svg' : '<?xml version="1.0" encoding="utf-8"?><!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve"><g id="Header"> <g> <rect x="-618" y="-1208" fill="none" width="1400" height="3600"/> </g></g><g id="Label"></g><polygon points="15.4,7.4 14,6 8,12 14,18 15.4,16.6 10.8,12 "/><g id="Grid" display="none"></g></svg>',
  'img/icons/twitter.svg' : '<svg version="1.1" x="0px" y="0px" width="48px" height="48px" viewBox="0 0 48 48" enable-background="new 0 0 48 48" xml:space="preserve"><g><g><g><path fill="#7d7d7d" d="M40,4H8C5.8,4,4,5.8,4,8l0,32c0,2.2,1.8,4,4,4h32c2.2,0,4-1.8,4-4V8C44,5.8,42.2,4,40,4z M35.4,18.7c-0.1,9.2-6,15.6-14.8,16c-3.6,0.2-6.3-1-8.6-2.5c2.7,0.4,6-0.6,7.8-2.2c-2.6-0.3-4.2-1.6-4.9-3.8c0.8,0.1,1.6,0.1,2.3-0.1c-2.4-0.8-4.1-2.3-4.2-5.3c0.7,0.3,1.4,0.6,2.3,0.6c-1.8-1-3.1-4.7-1.6-7.2c2.6,2.9,5.8,5.3,11,5.6c-1.3-5.6,6.1-8.6,9.2-4.9c1.3-0.3,2.4-0.8,3.4-1.3c-0.4,1.3-1.2,2.2-2.2,2.9c1.1-0.1


 But because we controll the input, we can do some
	// things like renaming with a simple text search/replace.
	patchYAML := func(yaml *[]byte) {
		// This renames the objects and labels. A hyphen is used instead of a dot,
		// except for CSIDriver and instance label which need the exact name.
		*yaml = nameRegex.ReplaceAll(*yaml, []byte("$1: "+deployment.GetHyphenedName()))
		*yaml = labelRegex.ReplaceAll(*yaml, []byte(deployment.Name+"/$1"))
		*yaml = driverNameRegex.ReplaceAll(*yaml, []byte("$1: "+deployment.Name))

		// Update the driver name inside the state and socket dir.
		*yaml = bytes.ReplaceAll(*yaml, []byte("path: /var/lib/pmem-csi.intel.com"), []byte("path: /var/lib/"+deployment.Name))
		*yaml = bytes.ReplaceAll(*yaml, []byte("mountPath: /var/lib/pmem-csi.intel.com"), []byte("mountPath: /var/lib/"+deployment.Name))
		*yaml = bytes.ReplaceAll(*yaml, []byte("path: /var/lib/kubelet/plugins/pmem-csi.intel.com"), []byte("path: /var/lib/kubelet/plugins/"+deployment.Name))

		// Update kubelet path
		if deployment.Spec.KubeletDir != api.DefaultKubeletDir {
			*yaml = bytes.ReplaceAll(*yaml, []byte("/var/lib/kubelet"), []byte(deployment.Spec.KubeletDir))
		}

		// This assumes that all namespaced objects actually have "namespace: pmem-csi".
		*yaml = bytes.ReplaceAll(*yaml, []byte("namespace: pmem-csi"), []byte("namespace: "+namespace))

		// Also rename the prefix inside the registry endpoint.
		*yaml = bytes.ReplaceAll(*yaml,
			[]byte("tcp://pmem-csi"),
			[]byte("tcp://"+deployment.GetHyphenedName()))

		*yaml = bytes.ReplaceAll(*yaml,
			[]byte("imagePullPolicy: IfNotPresent"),
			[]byte("imagePullPolicy: "+deployment.Spec.PullPolicy))

		*yaml = bytes.ReplaceAll(*yaml,
			[]byte("-v=3"),
			[]byte(fmt.Sprintf("-v=%d", deployment.Spec.LogLevel)))

		if deployment.Spec.LogFormat != "" {
			*yaml = bytes.ReplaceAll(*yaml,
				[]byte("-logging-format=text"),
				[]byte(fmt.Sprintf("-logging-format=%s", deployment.Spec.LogFormat)))
		}

		nodeSelector := types.NodeSelector(deployment.Spec.NodeSelector)
		*yaml = bytes.ReplaceAll(*yaml,
			[]byte(`-nodeSelector={"storage":"pmem"}`),
			[]byte("-nodeSelector="+nodeSelector.String()))

		*yaml = pmemImage.ReplaceAll(*yaml, []byte("image: "+deployment.Spec.Image))
	}

	enabled := func(obj *unstructured.Unstructured) bool {
		return true
	}

	patchUnstructured := func(obj *unstructured.Unstructured) {
		if deployment.Spec.Labels != nil {
			labels := obj.GetLabels()
			if labels == nil {
				labels = map[string]string{}
			}
			for key, value := range deployment.Spec.Labels {
				labels[key] = value
			}
			obj.SetLabels(labels)
		}

		switch obj.GetKind() {
		case "Deployment":
			resources := map[string]*corev1.ResourceRequirements{
				"pmem-driver": deployment.Spec.ControllerDriverResources,
			}
			if err := patchPodTemplate(obj, deployment, resources); err != nil {
				// TODO: avoid panic
				panic(fmt.Errorf("set controller resources: %v", err))
			}
			outerSpec := obj.Object["spec"].(map[string]interface{})
			replicas := int64(deployment.Spec.ControllerReplicas)
			if replicas == 0 {
				replicas = 1
			}
			outerSpec["replicas"] = replicas
		case "DaemonSet":
			switch obj.GetName() {
			case deployment.NodeSe


-4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{


urnished to do so, subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in all copies or substantial portions of
-- the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-- NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
local _M = {}
function _M:isSafe()
    return true
end
return _M


�到今天也受用。在伊朗工作的中国企业员工开车进入德黑兰北部山区时，忍不住惊叹：“没想到伊朗的山路修得这么好！”

（革命前，伊朗航空的空姐在飞机前合影）

　　上世纪60和70年代，伊朗女性的权利进一步提高，女性获得了跟男人一样的离婚权，女孩合法结婚年龄提高到18岁，一夫多妻制受到限制。

　　同时出现的还有伊朗第一位女律师、女法官，甚至女内阁大臣。到1979年，大学毕业生中女性比例已经达到三分之一。

（1960年代，德黑兰大学医学院课堂上，男生和女生在一个教室听讲）

　　在市民生活领域，娱乐受到鼓励，人们拥有了纵情声色的自由，随之而来的是蓬勃发展的派对、酒吧、赌场、夜总会和色情电影业。

　　此时的德黑兰街景常令美国游客有些恍惚，因为眼前的景象和美国加州看起来太过相似。1972年，一个洛杉矶人到伊朗自驾游，看着路边的大草坪和无暇的路面，不禁感叹像是行驶在好莱坞比利佛山庄。

<img src="../../images/2018/05/KwXtLx5kNOolsZPgslGn6ea4UV9a_EGseNV62V2yRQwiJ103I7h8yY97dRQujnGuYMVi8l9qiBC6FhM6BVoT0Fv0uSpAdoskDGovg


n. Hier erfahren Sie, wie Sie verschiedene\u2026"
lastmod: '2024-03-13T22:44:53.842741-06:00'
model: gpt-4-0125-preview
summary: "Kotlin bietet eine unkomplizierte M\xF6glichkeit, Zufallszahlen \xFCber\
  \ seine Standardbibliothek zu generieren."
title: Generierung von Zufallszahlen
weight: 12
---

## Wie:
Kotlin bietet eine unkomplizierte Möglichkeit, Zufallszahlen über seine Standardbibliothek zu generieren. Hier erfahren Sie, wie Sie verschiedene Arten von Zufallswerten erzeugen können:

### Erzeugen einer zufälligen Ganzzahl
Um eine zufällige Ganzzahl in einem bestimmten Bereich zu generieren:

```kotlin
import kotlin.random.Random

fun main() {
    val randomNumber = Random.nextInt(1, 100) // Erzeugt eine zufällige Zahl zwischen 1 und 99
    println(randomNumber)
}
```

### Erzeugen einer zufälligen Gleitkommazahl
Ähnlich verhält es sich mit der Erzeugung einer zufälligen Gleitkommazahl:

```kotlin
import kotlin.random.Random

fun main() {
    val randomDouble = Random.nextDouble(1.0, 10.0) // Erzeugt eine zufällige Gleitkommazahl zwischen 1.0 und 10.0
    println(randomDouble)
}
```

### Erzeugen eines zufälligen Booleschen Wertes
Um einen zufälligen booleschen Wert zu generieren:

```kotlin
import kotlin.random.Random

fun main() {
    val randomBoolean = Random.nextBoolean() // Erzeugt zufällig entweder true oder false
    println(randomBoolean)
}
```

### Setzen eines Seeds für reproduzierbare Ergebnisse
In Fällen, in denen Sie reproduzierbare Folgen von Zufallszahlen benötigen (zum Beispiel beim Testen), können Sie den Zufallszahlengenerator mit einem Seed initialisieren:

```kotlin
import kotlin.random.Random

fun main() {
    val seed = 12345L
    val random = Random(seed)
    val randomNumber = random.nextInt(1, 100)
    println(randomNumber)
}
```

## Tiefgehender Einblick
Die Herangehensweise der Kotlin-Standardbibliothek an die Erzeugung von Zufallszahlen nutzt unter der Haube `java.util.Random` von Java, was eine Mischung aus Benutzerfreundlichkeit und Leistung sicherstellt. Es ist jedoch entscheidend zu beachten, dass diese Methoden pseudo-zufällige Zahlen erzeugen, was bedeutet, dass die Zahlen zwar zufällig erscheinen, aber mit einem deterministischen Prozess erzeugt werden.

Für die meisten Anwendungen ist die durch die `Random`-Klasse von Kotlin bereitgestellte Zufälligkeit ausreichend. Jedoch sollten für sicherheitssensitive Anwendungen, wie Kryptographie, bei denen die Qualität der Zufälligkeit von größter Bedeutung ist, `java.security.SecureRandom` in Betracht gezogen werden. SecureRandom ist speziell für kryptografische Operationen konzipiert und bietet eine höhere Qualität der Zufälligkeit, allerdings möglicherweise mit einem Leistungskompromiss.

Kotlin erfindet das Rad nicht neu, sondern bietet eine Kotlin-freundliche API über die Mechanismen der Zufallszahlengenerierung