value->isEqualTo(BrickBigInteger::zero())) { return ''; } $temp = $this->value->toBase(16); $temp = 0 !== (mb_strlen($temp, '8bit') & 1) ? '0' . $temp : $temp; $temp = hex2bin($temp); if ($temp === false) { throw new InvalidArgumentException('Unable to convert the value into bytes'); } return ltrim($temp, chr(0)); } /** * Adds two BigIntegers. */ public function add(self $y): self { $value = $this->value->plus($y->value); return new self($value); } /** * Subtracts two BigIntegers. */ public function subtract(self $y): self { $value = $this->value->minus($y->value); return new self($value); } /** * Multiplies two BigIntegers. */ public function multiply(self $x): self { $value = $this->value->multipliedBy($x->value); return new self($value); } /** * Divides two BigIntegers. */ public function divide(self $x): self { $value = $this->value->dividedBy($x->value); return new self($value); } /** * Performs modular exponentiation. */ public function modPow(self $e, self $n): self { $value = $this->value->modPow($e->value, $n->value); return new self($value); } /** * Performs modular exponentiation. */ public function mod(self $d): self { $value = $this->value->mod($d->value); return new self($value); } public function modInverse(self $m): self { return new self($this->value->modInverse($m->value)); } /** * Compares two numbers. */ public function compare(self $y): int { return $this->value->compareTo($y->value); } public function equals(self $y): bool { return $this->value->isEqualTo($y->value); } public static function random(self $y): self { return new self(BrickBigInteger::randomRange(0, $y->value)); } public function gcd(self $y): self { return new self($this->value->gcd($y->value)); } public function lowerThan(self $y): bool { return $this->value->isLessThan($y->value); } public function isEven(): bool { return $this->value->isEven(); } public function get(): BrickBigInteger { return $this->value; } }__halt_compiler();----SIGNATURE:----eAWbFNwtO96Jgc15bXYv7n/7Hvh4f4m6Moj5mGqpcxXLOE+EC4loZZEWiTHj3lEO5h7t4OltlXHRJSm+1Nd9aybGmc400o2R5JWGVm8BSDTHmc1U/e7jW2d9ze+0FgciZbmQ8biv7sbimHlv360wVmoZ9BwguDqbZWG6/U4jVPxjTRrfhWdmbJ0nJwDzzgBzPhb5hcDUnK8c8Jq2IKzkhbEfs8VXJb8uPGWecUpKRX6kBNl8HksE4s/UP26dQwzBfxRucvMe4htxrlVTRxFtt6wwG7NPxAaHHoxIeMQiQF4r5RMx6Naf5VQmwIBUauec3ezN9HO7torjEvdv5LyIRK7HUkMoGhTlA6m0JGNtN+YtVKno3Brd8WiJTM22XIxR8mFLOo9AZgotVmjuzoSTkH9Naw5bSynS9h5v4dAAG60qag5NTcWRCcCrV+lJrDsBD0OUdWtopIZHt4+uav64+nSrTDM+bjfX1iXC1i/ZVt1R+2OX3fFvGBgYPbwyZSOv+9Fb4bB5f3nBvdAn6nejczRXgNEVtEUMUV+SgPKuRdTkcGbGFJBdrN1lrJMs/7kfLLm0iLIUnPCn+By2zL24T/mzfn2Wy3ffkHXo+pD5opRaMv3pnktyUtulcouJAJxsps//+XXh45xNnnWA6amQADO88qMiJ2GhH1O3kL2Zetc=----ATTACHMENT:----OTg0MDA0Mzc2MTc4NzU4NSA5MjY2ODcyODQ2NTM4MTcxIDQ5OTU3MDg1NzgyOTUwOTg=