রিফ্রেশ তারিখ: ২০২৬-০৯-২৫ রোবটস: নোইনডেক্স
বর্ণনা
কুকি সম্পর্কে জানতে ও পরিবর্তন করতে এবং কুকি পরিবর্তিত হলে বিজ্ঞপ্তি পেতে chrome.cookies API ব্যবহার করুন।
অনুমতি
cookiesপ্রকাশ
কুকিজ এপিআই ব্যবহার করার জন্য, আপনাকে আপনার ম্যানিফেস্টে 'cookies' পারমিশন ঘোষণা করতে হবে, সেইসাথে যে সমস্ত হোস্টের কুকিজ আপনি অ্যাক্সেস করতে চান, তাদের জন্য হোস্ট পারমিশনও দিতে হবে । উদাহরণস্বরূপ:
{
"name": "My extension",
...
"host_permissions": [
"*://*.google.com/"
],
"permissions": [
"cookies"
],
...
}
বিভাজন
পার্টিশনড কুকি একটি সাইটকে নির্দিষ্ট করতে দেয় যে, কিছু কুকি টপ লেভেল ফ্রেমের অরিজিনের সাপেক্ষে নির্ধারিত হবে। এর মানে হলো, যদি সাইট A-কে সাইট B এবং সাইট C-তে একটি আইফ্রেম ব্যবহার করে এমবেড করা হয়, তাহলে একটি পার্টিশনড কুকির মান প্রতিটিতে ভিন্ন হতে পারে।
chrome.cookies পার্টিশনিং সমর্থন করে না, যার মানে হলো এর সমস্ত মেথড সব পার্টিশন থেকেই কুকি পড়ে এবং লেখে। cookies.set() মেথডটি ডিফল্ট পার্টিশনে কুকি সংরক্ষণ করে।
এক্সটেনশনের জন্য পার্টিশনিংয়ের সাধারণ প্রভাব সম্পর্কে বিস্তারিত জানতে, স্টোরেজ এবং কুকিজ দেখুন।
উদাহরণ
আপনি examples/api/cookies ডিরেক্টরিতে কুকিজ এপিআই ব্যবহারের একটি সহজ উদাহরণ খুঁজে পাবেন। অন্যান্য উদাহরণের জন্য এবং সোর্স কোড দেখার সাহায্যের জন্য, স্যাম্পলস (Samples) দেখুন।
প্রকারভেদ
Cookie
এটি একটি HTTP কুকি সম্পর্কিত তথ্য উপস্থাপন করে।
বৈশিষ্ট্য
- ডোমেইন
স্ট্রিং
কুকির ডোমেইন (যেমন 'www.google.com', 'example.com')।
- মেয়াদ শেষ হওয়ার তারিখ
সংখ্যা ঐচ্ছিক
ইউনিক্স ইপক থেকে সেকেন্ডের সংখ্যা হিসাবে কুকির মেয়াদ শেষ হওয়ার তারিখ। সেশন কুকির জন্য এটি প্রদান করা হয় না।
- হোস্টঅনলি
বুলিয়ান
সত্য হবে যদি কুকিটি একটি হোস্ট-অনলি কুকি হয় (অর্থাৎ, একটি অনুরোধের হোস্টকে অবশ্যই কুকিটির ডোমেনের সাথে হুবহু মিলতে হবে)।
- httpOnly
বুলিয়ান
সত্য হবে যদি কুকিটি HttpOnly হিসেবে চিহ্নিত করা থাকে (অর্থাৎ কুকিটি ক্লায়েন্ট-সাইড স্ক্রিপ্টের জন্য অ্যাক্সেসযোগ্য নয়)।
- নাম
স্ট্রিং
কুকিটির নাম।
- পার্টিশনকী
কুকি পার্টিশন কী ( ঐচ্ছিক)
ক্রোম ১১৯+Partitioned অ্যাট্রিবিউটযুক্ত কুকিগুলো পড়া বা পরিবর্তন করার জন্য ব্যবহৃত পার্টিশন কী।
- পথ
স্ট্রিং
কুকিটির পথ।
- একই সাইটক্রোম ৫১+
কুকিটির একই-সাইট অবস্থা (অর্থাৎ কুকিটি ক্রস-সাইট অনুরোধের সাথে পাঠানো হয় কিনা)।
- সুরক্ষিত
বুলিয়ান
সত্য, যদি কুকিটিকে সুরক্ষিত (Secure) হিসেবে চিহ্নিত করা থাকে (অর্থাৎ এর পরিধি সুরক্ষিত চ্যানেল, সাধারণত HTTPS-এর মধ্যে সীমাবদ্ধ থাকে)।
- অধিবেশন
বুলিয়ান
সত্য, যদি কুকিটি একটি সেশন কুকি হয়, মেয়াদোত্তীর্ণ তারিখযুক্ত স্থায়ী কুকির বিপরীতে।
- স্টোরআইডি
স্ট্রিং
এই কুকিটি যে কুকি স্টোরে রয়েছে, তার আইডি, যা getAllCookieStores() ফাংশনে প্রদান করা হয়েছে।
- মূল্য
স্ট্রিং
কুকিটির মান।
CookieDetails
কুকি শনাক্ত করার বিবরণ।
বৈশিষ্ট্য
- নাম
স্ট্রিং
যে কুকিটি অ্যাক্সেস করতে হবে তার নাম।
- পার্টিশনকী
কুকি পার্টিশন কী ( ঐচ্ছিক)
ক্রোম ১১৯+Partitioned অ্যাট্রিবিউটযুক্ত কুকিগুলো পড়া বা পরিবর্তন করার জন্য ব্যবহৃত পার্টিশন কী।
- স্টোরআইডি
স্ট্রিং ঐচ্ছিক
যে কুকি স্টোরে কুকিটি খুঁজতে হবে, তার আইডি। ডিফল্টরূপে, বর্তমান এক্সিকিউশন কনটেক্সটের কুকি স্টোর ব্যবহার করা হবে।
- ইউআরএল
স্ট্রিং
যে URL-টির সাথে অ্যাক্সেস করার জন্য কুকিটি যুক্ত থাকে। এই আর্গুমেন্টটি একটি সম্পূর্ণ URL হতে পারে, সেক্ষেত্রে URL পাথের পরের যেকোনো ডেটা (যেমন কোয়েরি স্ট্রিং) উপেক্ষা করা হয়। যদি ম্যানিফেস্ট ফাইলে এই URL-এর জন্য হোস্ট পারমিশন নির্দিষ্ট করা না থাকে, তাহলে API কলটি ব্যর্থ হবে।
CookiePartitionKey
একটি পার্টিশন করা কুকির পার্টিশন কী-কে নির্দেশ করে।
বৈশিষ্ট্য
- hasCrossSiteAncestor
বুলিয়ান ঐচ্ছিক
ক্রোম ১৩০+এটি নির্দেশ করে যে কুকিটি একটি ক্রস-ক্রস সাইট প্রেক্ষাপটে সেট করা হয়েছিল কিনা। এটি একটি ক্রস-সাইট প্রেক্ষাপটে এমবেড করা শীর্ষ-স্তরের সাইটকে একই-সাইট প্রেক্ষাপটে থাকা শীর্ষ-স্তরের সাইট দ্বারা সেট করা কুকি অ্যাক্সেস করা থেকে বিরত রাখে।
- শীর্ষস্তরের সাইট
স্ট্রিং ঐচ্ছিক
শীর্ষ-স্তরের সাইট যেখানে পার্টিশন করা কুকিটি উপলব্ধ।
CookieStore
এটি ব্রাউজারে সংরক্ষিত একটি কুকিকে বোঝায়। উদাহরণস্বরূপ, একটি ইনকগনিটো মোড উইন্ডো সাধারণ উইন্ডো থেকে আলাদা একটি কুকি স্টোর ব্যবহার করে।
বৈশিষ্ট্য
- আইডি
স্ট্রিং
কুকি স্টোরের অনন্য শনাক্তকারী।
- ট্যাবআইডি
সংখ্যা[]
এই কুকি স্টোরটি ব্যবহারকারী সমস্ত ব্রাউজার ট্যাবের শনাক্তকারীসমূহ।
FrameDetails
ফ্রেমটি শনাক্ত করার বিবরণ।
বৈশিষ্ট্য
- ডকুমেন্ট আইডি
স্ট্রিং ঐচ্ছিক
ডকুমেন্টটির অনন্য শনাক্তকারী। যদি frameId এবং/অথবা tabId প্রদান করা হয়, তবে প্রদত্ত ডকুমেন্ট আইডি দ্বারা প্রাপ্ত ডকুমেন্টের সাথে মেলানোর জন্য সেগুলোকে যাচাই করা হবে।
- ফ্রেমআইডি
সংখ্যা ঐচ্ছিক
ট্যাবের মধ্যে থাকা ফ্রেমটির অনন্য শনাক্তকারী।
- ট্যাবআইডি
সংখ্যা ঐচ্ছিক
ফ্রেমটি ধারণকারী ট্যাবের অনন্য শনাক্তকারী।
OnChangedCause
কুকি পরিবর্তনের পেছনের মূল কারণ। যদি কোনো কুকি সরাসরি "chrome.cookies.remove" কল করে যোগ করা বা সরানো হয়ে থাকে, তাহলে "cause" হবে "explicit"। যদি মেয়াদ শেষ হওয়ার কারণে কোনো কুকি স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়, তাহলে "cause" হবে "expired"। যদি আগে থেকেই মেয়াদোত্তীর্ণ তারিখ দিয়ে ওভাররাইট করার কারণে কোনো কুকি মুছে ফেলা হয়, তাহলে "cause" হবে "expired_overwrite"। যদি গার্বেজ কালেকশনের কারণে কোনো কুকি স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়, তাহলে "cause" হবে "evicted"। যদি কোনো "set" কলের মাধ্যমে কুকিটি ওভাররাইট হয়ে যাওয়ার কারণে স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়, তাহলে "cause" হবে "overwrite"। সেই অনুযায়ী আপনার প্রতিক্রিয়া পরিকল্পনা করুন।
এনাম
উচ্ছেদ করা হয়েছে মেয়াদোত্তীর্ণ 'সুস্পষ্ট' "মেয়াদোত্তীর্ণ_ওভাররাইট" "ওভাররাইট"
SameSiteStatus
একটি কুকির 'SameSite' অবস্থা (https://tools.ietf.org/html/draft-west-first-party-cookies)। 'no_restriction' বলতে 'SameSite=None' দিয়ে সেট করা কুকিকে, 'lax' বলতে 'SameSite=Lax'-কে এবং 'strict' বলতে 'SameSite=Strict'-কে বোঝায়। 'unspecified' বলতে SameSite অ্যাট্রিবিউট ছাড়া সেট করা কুকিকে বোঝায়।
এনাম
"কোন_সীমাবদ্ধতা নেই" "শিথিল" কঠোর "অনির্দিষ্ট"
পদ্ধতি
get()
chrome.cookies.get(
details: CookieDetails,
callback?: function,
): Promise<Cookie | undefined>
একটিমাত্র কুকি সম্পর্কে তথ্য পুনরুদ্ধার করে। প্রদত্ত URL-এর জন্য যদি একই নামের একাধিক কুকি থাকে, তবে দীর্ঘতম পাথযুক্ত কুকিটি ফেরত দেওয়া হবে। একই পাথ দৈর্ঘ্যের কুকিগুলোর ক্ষেত্রে, সবচেয়ে আগে তৈরি হওয়া কুকিটি ফেরত দেওয়া হবে।
প্যারামিটার
ফেরত
প্রতিশ্রুতি< কুকি | অনির্দিষ্ট>
ক্রোম ৮৮+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
getAll()
chrome.cookies.getAll(
details: object,
callback?: function,
): Promise<Cookie[]>
একটিমাত্র কুকি স্টোর থেকে প্রদত্ত তথ্যের সাথে মেলে এমন সমস্ত কুকি পুনরুদ্ধার করে। ফেরত আসা কুকিগুলো সাজানো হবে, এবং দীর্ঘতম পাথযুক্ত কুকিগুলো প্রথমে থাকবে। যদি একাধিক কুকির পাথের দৈর্ঘ্য একই হয়, তবে যেটি সবচেয়ে আগে তৈরি হয়েছে সেটি প্রথমে আসবে। এই পদ্ধতিটি শুধুমাত্র সেইসব ডোমেইনের জন্য কুকি পুনরুদ্ধার করে, যেগুলোতে এক্সটেনশনটির হোস্ট পারমিশন রয়েছে।
প্যারামিটার
- বিস্তারিত
বস্তু
সংগৃহীত কুকিগুলো ফিল্টার করার জন্য তথ্য।
- ডোমেইন
স্ট্রিং ঐচ্ছিক
সংগৃহীত কুকিগুলোকে শুধুমাত্র সেইসব কুকির মধ্যে সীমাবদ্ধ রাখে, যাদের ডোমেইন এটির ডোমেইনের সাথে মেলে অথবা এটির সাবডোমেইন।
- নাম
স্ট্রিং ঐচ্ছিক
নাম অনুসারে কুকিগুলো ফিল্টার করে।
- পার্টিশনকী
কুকি পার্টিশন কী ( ঐচ্ছিক)
ক্রোম ১১৯+Partitioned অ্যাট্রিবিউটযুক্ত কুকিগুলো পড়া বা পরিবর্তন করার জন্য ব্যবহৃত পার্টিশন কী।
- পথ
স্ট্রিং ঐচ্ছিক
সংগৃহীত কুকিগুলোকে শুধুমাত্র সেইসব কুকির মধ্যে সীমাবদ্ধ করে, যাদের পাথ এই স্ট্রিংটির সাথে হুবহু মেলে।
- সুরক্ষিত
বুলিয়ান ঐচ্ছিক
কুকিগুলোকে তাদের সুরক্ষিত বৈশিষ্ট্য অনুযায়ী ফিল্টার করে।
- অধিবেশন
বুলিয়ান ঐচ্ছিক
সেশন এবং স্থায়ী কুকি আলাদা করে।
- স্টোরআইডি
স্ট্রিং ঐচ্ছিক
যে কুকি স্টোর থেকে কুকি সংগ্রহ করতে হবে। এটি বাদ দিলে, বর্তমান এক্সিকিউশন কনটেক্সটের কুকি স্টোর ব্যবহার করা হবে।
- ইউআরএল
স্ট্রিং ঐচ্ছিক
সংগৃহীত কুকিগুলোকে শুধুমাত্র প্রদত্ত URL-এর সাথে মেলে এমন কুকিগুলোর মধ্যে সীমাবদ্ধ করে।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(cookies: Cookie[]) => void
- কুকি
কুকি []
প্রদত্ত কুকি তথ্যের সাথে মেলে এমন সমস্ত বিদ্যমান ও মেয়াদোত্তীর্ণ নয় এমন কুকি।
ফেরত
প্রতিশ্রুতি< কুকি []>
ক্রোম ৮৮+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
): Promise<CookieStore[]>
বিদ্যমান সকল কুকি স্টোরের তালিকা দেখায়।
প্যারামিটার
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(cookieStores: CookieStore[]) => void
- কুকিস্টোর
কুকিস্টোর []
সমস্ত বিদ্যমান কুকি স্টোর।
ফেরত
প্রতিশ্রুতি< কুকিস্টোর []>
ক্রোম ৮৮+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
callback?: function,
): Promise<object>
ফ্রেমটির জন্য পার্টিশন কী নির্দেশ করা হয়েছে।
প্যারামিটার
- বিস্তারিত
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(details: object) => void
- বিস্তারিত
বস্তু
উদ্ধার করা পার্টিশন কী-টি সম্পর্কে বিস্তারিত তথ্য রয়েছে।
- পার্টিশনকী
Partitioned অ্যাট্রিবিউটযুক্ত কুকিগুলো পড়া বা পরিবর্তন করার জন্য ব্যবহৃত পার্টিশন কী।
ফেরত
প্রতিশ্রুতি<object>
প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
remove()
chrome.cookies.remove(
details: CookieDetails,
callback?: function,
): Promise<object | undefined>
নাম দ্বারা কুকি মুছে ফেলে।
প্যারামিটার
- বিস্তারিত
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(details?: object) => void
- বিস্তারিত
বস্তু ঐচ্ছিক
মুছে ফেলা কুকিটির বিবরণ এতে রয়েছে। কোনো কারণে অপসারণ ব্যর্থ হলে, প্রমিসটি প্রত্যাখ্যাত হবে।
- নাম
স্ট্রিং
যে কুকিটি মুছে ফেলা হয়েছে তার নাম।
- পার্টিশনকী
কুকি পার্টিশন কী ( ঐচ্ছিক)
ক্রোম ১১৯+Partitioned অ্যাট্রিবিউটযুক্ত কুকিগুলো পড়া বা পরিবর্তন করার জন্য ব্যবহৃত পার্টিশন কী।
- স্টোরআইডি
স্ট্রিং
যে কুকি স্টোর থেকে কুকিটি সরানো হয়েছিল, তার আইডি।
- ইউআরএল
স্ট্রিং
মুছে ফেলা কুকিটির সাথে যুক্ত URL।
ফেরত
প্রতিশ্রুতি<object | undefined>
ক্রোম ৮৮+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
set()
chrome.cookies.set(
details: object,
callback?: function,
): Promise<Cookie | undefined>
প্রদত্ত কুকি ডেটা দিয়ে একটি কুকি সেট করে; বিদ্যমান থাকলে সমতুল্য কুকি ওভাররাইট করতে পারে।
প্যারামিটার
- বিস্তারিত
বস্তু
কুকি সেট করার বিষয়ে বিস্তারিত তথ্য।
- ডোমেইন
স্ট্রিং ঐচ্ছিক
কুকির ডোমেইন। এটি বাদ দিলে, কুকিটি একটি হোস্ট-অনলি কুকি হয়ে যায়।
- মেয়াদ শেষ হওয়ার তারিখ
সংখ্যা ঐচ্ছিক
ইউনিক্স ইপক থেকে সেকেন্ডের সংখ্যা হিসাবে কুকিটির মেয়াদ শেষ হওয়ার তারিখ। এটি বাদ দিলে, কুকিটি একটি সেশন কুকিতে পরিণত হয়।
- httpOnly
বুলিয়ান ঐচ্ছিক
কুকিটিকে HttpOnly হিসেবে চিহ্নিত করা হবে কিনা। এর ডিফল্ট মান হলো false।
- নাম
স্ট্রিং ঐচ্ছিক
কুকিটির নাম। এটি উল্লেখ না করা হলে ডিফল্টরূপে খালি থাকে।
- পার্টিশনকী
কুকি পার্টিশন কী ( ঐচ্ছিক)
ক্রোম ১১৯+Partitioned অ্যাট্রিবিউটযুক্ত কুকিগুলো পড়া বা পরিবর্তন করার জন্য ব্যবহৃত পার্টিশন কী।
- পথ
স্ট্রিং ঐচ্ছিক
কুকির পাথ। ডিফল্টরূপে এটি url প্যারামিটারের পাথ অংশ হয়ে থাকে।
- একই সাইট
SameSiteStatus ঐচ্ছিক
ক্রোম ৫১+কুকিটির সেম-সাইট স্ট্যাটাস। ডিফল্ট মান হলো "অনির্দিষ্ট", অর্থাৎ, এটি বাদ দিলে SameSite অ্যাট্রিবিউট উল্লেখ না করেই কুকিটি সেট করা হয়।
- সুরক্ষিত
বুলিয়ান ঐচ্ছিক
কুকিটিকে সুরক্ষিত হিসেবে চিহ্নিত করা হবে কিনা। এর ডিফল্ট মান হলো ফলস।
- স্টোরআইডি
স্ট্রিং ঐচ্ছিক
যে কুকি স্টোরে কুকিটি সেট করতে হবে, তার আইডি। ডিফল্টরূপে, কুকিটি বর্তমান এক্সিকিউশন কনটেক্সটের কুকি স্টোরে সেট করা হয়।
- ইউআরএল
স্ট্রিং
কুকি সেট করার সাথে যুক্ত করার জন্য রিকোয়েস্ট-ইউআরআই। এই মানটি তৈরি হওয়া কুকির ডিফল্ট ডোমেইন এবং পাথ মানকে প্রভাবিত করতে পারে। যদি ম্যানিফেস্ট ফাইলে এই ইউআরএল-এর জন্য হোস্ট পারমিশন নির্দিষ্ট করা না থাকে, তাহলে এপিআই কলটি ব্যর্থ হবে।
- মূল্য
স্ট্রিং ঐচ্ছিক
কুকিটির মান। এটি বাদ দিলে ডিফল্টরূপে খালি থাকে।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(cookie?: Cookie) => void
- কুকি
কুকি ঐচ্ছিক
সেট করা কুকিটির বিবরণ এতে রয়েছে। কোনো কারণে সেটিং ব্যর্থ হলে, প্রমিসটি বাতিল হয়ে যাবে।
ফেরত
প্রতিশ্রুতি< কুকি | অনির্দিষ্ট>
ক্রোম ৮৮+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
ইভেন্টগুলি
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
যখন কোনো কুকি সেট বা রিমুভ করা হয় তখন এটি ফায়ার হয়। বিশেষ ক্ষেত্র হিসেবে উল্লেখ্য যে, একটি কুকির প্রোপার্টি আপডেট করার প্রক্রিয়াটি দুটি ধাপে সম্পন্ন হয়: প্রথমে, যে কুকিটি আপডেট করতে হবে সেটি সম্পূর্ণরূপে রিমুভ করা হয়, যার ফলে 'cause' হিসেবে 'overwrite' উল্লেখসহ একটি নোটিফিকেশন তৈরি হয়। এরপর, আপডেট করা ভ্যালুগুলো দিয়ে একটি নতুন কুকি লেখা হয়, যার ফলে 'cause' হিসেবে 'explicit' উল্লেখসহ দ্বিতীয় একটি নোটিফিকেশন তৈরি হয়।
প্যারামিটার
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(changeInfo: object) => void
- তথ্য পরিবর্তন করুন
বস্তু
- কারণ
কুকি পরিবর্তনের পেছনের মূল কারণ।
- কুকি
যে কুকিটি সেট বা রিমুভ করা হয়েছিল, সে সম্পর্কিত তথ্য।
- অপসারণ করা হয়েছে
বুলিয়ান
যদি কোনো কুকি মুছে ফেলা হয়, তাহলে সত্য।